[PATCH] arm: Add basic support for new Marvell Armada SoC family

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Tue May 15 04:54:36 EDT 2012


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




More information about the linux-arm-kernel mailing list