From mboxrd@z Thu Jan 1 00:00:00 1970 From: thomas.petazzoni@free-electrons.com (Thomas Petazzoni) Date: Tue, 15 May 2012 10:54:36 +0200 Subject: [PATCH] arm: Add basic support for new Marvell Armada SoC family Message-ID: <1337072084-21967-1-git-send-email-thomas.petazzoni@free-electrons.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Arnd, Olof, You'll find in this patch set the initial support for a new family of ARMv7-compatible Marvell SoCs, that we have choosen to support in the arch/arm/mach-armada/ directory. At the moment, both the Armada 370 and the Armada XP SoCs are supported in this directory, and we are able to build a single kernel image that boots on both SoCs. Both SoCs use the PJ4B processor, a Marvell-developed ARM core that implements the ARMv7 instruction set. We are currently using Marvell evaluation boards for both of those SoCs, and the support for those boards is added in this patch set. This preliminary support only includes the necessary code for timer and IRQ support, the serial controller is a standard 16550-compatible one. The diffstat looks like: Documentation/devicetree/bindings/arm/armada-mpic.txt | 23 + Documentation/devicetree/bindings/arm/armada-timer.txt | 11 Documentation/devicetree/bindings/arm/armada.txt | 24 + MAINTAINERS | 8 arch/arm/Kconfig | 12 arch/arm/Makefile | 1 arch/arm/boot/dts/a370-db.dts | 41 ++ arch/arm/boot/dts/a370.dtsi | 23 + arch/arm/boot/dts/armada.dtsi | 67 ++++ arch/arm/boot/dts/axp-db.dts | 40 ++ arch/arm/boot/dts/axp.dtsi | 43 +++ arch/arm/configs/armada_defconfig | 47 +++ arch/arm/mach-armada/Kconfig | 19 + arch/arm/mach-armada/Makefile | 3 arch/arm/mach-armada/Makefile.boot | 1 arch/arm/mach-armada/a370-dt.c | 41 ++ arch/arm/mach-armada/axp-dt.c | 41 ++ arch/arm/mach-armada/common.c | 56 +++ arch/arm/mach-armada/common.h | 27 + arch/arm/mach-armada/include/mach/armada.h | 234 ++++++++++++++++ arch/arm/mach-armada/include/mach/bridge-regs.h | 28 + arch/arm/mach-armada/include/mach/debug-macro.S | 23 + arch/arm/mach-armada/include/mach/gpio.h | 13 arch/arm/mach-armada/include/mach/hardware.h | 18 + arch/arm/mach-armada/include/mach/io.h | 24 + arch/arm/mach-armada/include/mach/irqs.h | 96 ++++++ arch/arm/mach-armada/include/mach/system.h | 21 + arch/arm/mach-armada/include/mach/timex.h | 13 arch/arm/mach-armada/include/mach/uncompress.h | 41 ++ arch/arm/mach-armada/irq.c | 116 ++++++++ arch/arm/mach-armada/time.c | 243 +++++++++++++++++ 31 files changed, 1398 insertions(+) This patch set, and the support for those SoCs, is at the moment a collaborative effort from Marvell engineers (who have done the initial development work) and Free Electrons engineers (who are reshaping the code for mainline submission, adding device tree support, etc.). Other contributors are expected to join this effort. The patch set is based on your arm-soc/for-next branch. We intend to quickly build on top of this initial support with the following elements: * Usage of the clock framework * Usage the pinctrl subsystem and GPIO subsystems for pin-muxing and GPIO support * SMP support * L2 cache support * Integration with device drivers. Many of the IPs used in these Marvell SoCs are similar to the ones used in previous Marvell SoCs (for SATA, USB and more), but the drivers for those IPs will require modification to add a device tree binding. Of course, we welcome all comments on this initial submission and are ready to quickly submit updated versions of the patch set to take into those comments. Best regards, Thomas Petazzoni -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com