From patchwork Mon Jan 28 23:24:15 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [R/master] Arm multiplatform support Date: Mon, 28 Jan 2013 13:24:15 -0000 From: Paolo Pisati X-Patchwork-Id: 216393 Message-Id: <20130128232415.GD4564@luxor.wired.org> To: Ubuntu Kernel Team Two of the goals set for Raring arm were to: a) fold omap3 and omap4 in a single branch b) ship a single kernel with multi Soc support so here it is the first batch of patches to: 1) collapse omap3 and omap4 support in master 2) give our kernel arm multiplatform support (TI omap3/4 and Freescale imx6 ATM) 3) enable DTBs for multiple boards support (only needed for imx ATM) Some comments: - the Tony Lindgren (9) patches are the actual OMAP multiplatform support (or actually the missing bits that didn't make the 3.8 window) and are slated for a 3.9 inclusion: http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap.git;a=shortlog;h=refs/heads/omap-for-v3.9/multiplatform-v2 - the Andy Green (3) patches are not strictly necessary, but are the only way to get a fixed MAC address on pandaboards instead of a random one at every reboot, and we are already carrying them as part of the omap4 branch: http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-quantal.git;a=commit;h=f7d0f1eda6a4305fbc4e8d4a41d003ef5b2daf27 http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-quantal.git;a=commit;h=7fb188d909291bc4f6dcccf729684bc69168da3f http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-quantal.git;a=commit;h=7027eb61ef4d8e676327ab15b3b904b7403c6799 The rest are config changes, plus a modification to the way we handle DTBs so we can specify more than one file. Main issues with this pull: omap: - CPU_FREQ was disabled since mainline is missing some critical pieces for omap4 (and it leds to all kinds of panics on boot): http://www.mail-archive.com/linux-omap@vger.kernel.org/msg83951.html - omap4 pvr driver (3d hw accelerated) is not supported ATM (but vanilla /dev/fb works fine) imx6: - USB_SUSPEND was disabled since it broke usb (but it was ok in 3.7, regression) - sata was working in 3.7 + 1 patch, but it doesn't work in 3.8 (another regression) - video output is not working ATM Last but not least, the generated kernel is still called '-omap' so you need some tweaking to flash-kernel to install it on imx6, and i would like to rename it as '-arm' in the future, any thoughts? As you can imagine it's still a big work in progress but i wanted to pull it now so we can get some testing, feedback and user space people can do their plumbing. Enjoy. The following changes since commit f4ea18eb86c8418ccde4e5278d6e48b2ce563afa: UBUNTU: [Config] Move 9p modules into generic package (2013-01-28 11:53:20 -0800) are available in the git repository at: git://kernel.ubuntu.com/ppisati/ubuntu-raring.git multiplatform for you to fetch changes up to 9de183028054c9f07c6a1d2566cb22f534d7b374: UBUNTU: [Config] SPI_IMX=m (2013-01-28 21:36:47 +0100) ---------------------------------------------------------------- Andy Green (3): ARM: OMAP2+: add cpu id register to MAC address helper ARM: omap2 add mac address allocation register api ARM: omap2 panda register ethernet and wlan for automatic mac allocation Paolo Pisati (19): UBUNTU: SAUCE: davinci: vpss: compilation fix UBUNTU: [Config] enable TI OMAP4 support (Pandaboard/ES) UBUNTU: [Config] OMAP_USB2=y (since TWL6030_USB depends on it) UBUNTU: [Config] enable Freescale IMX6 support (SabreLite) UBUNTU: [Config] SERIAL_IMX_CONSOLE=y UBUNTU: [Config] MMC_*_IMX=y UBUNTU: [Config] disable USB_SUSPEND UBUNTU: [Config] USB_MXS_PHY=y UBUNTU: [Config] USB_CHIPIDEA=y UBUNTU: SAUCE: DTB: add support for multiple DTBs UBUNTU: SAUCE: DTB: build imx6q-sabrelite UBUNTU: SAUCE: DTB: build beaglexm UBUNTU: SAUCE: DTB: build panda/panda es UBUNTU: [Config] disable CPU_FREQ UBUNTU: [Config] PANEL_TFP410=y (video DVI output) UBUNTU: [Config] SND_OMAP_SOC*=y UBUNTU: [Config] SND_IMX_SOC*=y UBUNTU: [Config] I2C_IMX=y UBUNTU: [Config] SPI_IMX=m Tony Lindgren (9): ARM: OMAP2+: Limit omap initcalls to omap only on multiplatform kernels ARM: OMAP2+: Use omap initcalls ARM: OMAP: Fix i2c cmdline initcall for multiplatform ARM: OMAP: Fix dmaengine init for multiplatform ARM: OMAP2+: Add multiplatform debug_ll support ARM: OMAP2+: Disable code that currently does not work with multiplaform ARM: OMAP2+: Enable ARCH_MULTIPLATFORM support ARM: OMAP2+: Add minimal support for booting vexpress ARM: OMAP2+: Remove now obsolete uncompress.h and debug-macro.S arch/arm/Kconfig | 13 ++++++-- arch/arm/Kconfig.debug | 56 ++++++++++++++++++++++++++++++++ arch/arm/configs/omap2plus_defconfig | 6 +++- arch/arm/{mach-omap2/include/mach/debug-macro.S => include/debug/omap2plus.S} | 137 +++++++++++++++++++++++++++++++++++++++++++++-------------------------------- arch/arm/mach-omap1/dma.c | 18 +++++++++-- arch/arm/mach-omap1/i2c.c | 6 ++++ arch/arm/mach-omap2/Kconfig | 25 +++++++++++++- arch/arm/mach-omap2/Makefile | 3 ++ arch/arm/mach-omap2/board-omap3beagle.c | 2 +- arch/arm/mach-omap2/board-omap4panda.c | 14 ++++++++ arch/arm/mach-omap2/board-rx51-video.c | 3 +- arch/arm/mach-omap2/clock2xxx.c | 2 +- arch/arm/mach-omap2/clock3xxx.c | 2 +- arch/arm/mach-omap2/common.h | 2 ++ arch/arm/mach-omap2/devices.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++-- arch/arm/mach-omap2/dma.c | 23 +++++++++++-- arch/arm/mach-omap2/drm.c | 2 +- arch/arm/mach-omap2/emu.c | 2 +- arch/arm/mach-omap2/fb.c | 4 +-- arch/arm/mach-omap2/gpio.c | 5 +-- arch/arm/mach-omap2/gpmc.c | 4 +-- arch/arm/mach-omap2/hdq1w.c | 3 +- arch/arm/mach-omap2/hwspinlock.c | 2 +- arch/arm/mach-omap2/i2c.c | 5 +++ arch/arm/mach-omap2/id.c | 40 +++++++++++++++++++++++ arch/arm/mach-omap2/id.h | 1 + arch/arm/mach-omap2/include/mach/serial.h | 37 --------------------- arch/arm/mach-omap2/include/mach/uncompress.h | 176 --------------------------------------------------------------------------------------------------- arch/arm/mach-omap2/mcbsp.c | 3 +- arch/arm/mach-omap2/omap-iommu.c | 2 +- arch/arm/mach-omap2/omap2-restart.c | 3 +- arch/arm/mach-omap2/omap4-common.c | 4 +-- arch/arm/mach-omap2/omap_device.c | 5 +-- arch/arm/mach-omap2/omap_hwmod.c | 2 +- arch/arm/mach-omap2/omap_phy_internal.c | 2 +- arch/arm/mach-omap2/opp3xxx_data.c | 2 +- arch/arm/mach-omap2/opp4xxx_data.c | 2 +- arch/arm/mach-omap2/pm-debug.c | 2 +- arch/arm/mach-omap2/pm.c | 2 +- arch/arm/mach-omap2/pmu.c | 2 +- arch/arm/mach-omap2/prm3xxx.c | 2 +- arch/arm/mach-omap2/prm44xx.c | 2 +- arch/arm/mach-omap2/serial.c | 2 +- arch/arm/mach-omap2/smartreflex-class3.c | 2 +- arch/arm/mach-omap2/soc.h | 29 +++++++++++++++++ arch/arm/mach-omap2/timer.c | 2 +- arch/arm/mach-omap2/wd_timer.c | 2 +- arch/arm/plat-omap/Kconfig | 32 +----------------- arch/arm/plat-omap/Makefile | 2 ++ arch/arm/plat-omap/i2c.c | 3 +- arch/arm/plat-omap/include/plat/i2c.h | 6 ++++ debian.master/config/amd64/config.common.amd64 | 7 ++++ debian.master/config/armhf/config.common.armhf | 2 ++ debian.master/config/armhf/config.flavour.highbank | 24 ++++++++++++-- debian.master/config/armhf/config.flavour.omap | 27 ++++++++++++++-- debian.master/config/config.common.ubuntu | 87 ++++++++++++++++++++++++++++++++++++++----------- debian.master/config/i386/config.common.i386 | 7 ++++ debian.master/rules.d/armhf.mk | 1 + debian/rules.d/2-binary-arch.mk | 13 ++++---- drivers/crypto/omap-sham.c | 3 ++ drivers/dma/omap-dma.c | 20 +----------- drivers/media/platform/davinci/vpss.c | 1 - drivers/media/rc/Kconfig | 2 +- drivers/staging/tidspbridge/Kconfig | 2 +- 64 files changed, 597 insertions(+), 400 deletions(-) rename arch/arm/{mach-omap2/include/mach/debug-macro.S => include/debug/omap2plus.S} (56%) delete mode 100644 arch/arm/mach-omap2/include/mach/uncompress.h Acked-by: Andy Whitcroft