This patch series adds support for the Marvell Armada XP SoC's. Specifically the MV78460.
Basic support for the db-78460-bp evaluation board is added. Supporting the following interfaces: - UART - SPI (including SPI NOR flash) - I2C - Ethernet (neta) While doing this port, I tried to consolidate common Marvell code into the arch/arm/mvebu-common directory. This directory should be used to collect more common code for the MVEBU SoC's (Dove, Kirkwood, Armada 370, Armada 380, Armada XP). I started with Kirkwood and some of its interfaces. Dove is definitely a candidate to move some of its code into thise directory as well. Because of the renaming of some functions from kirkwood to mvebu (to make them better usable on other MVEBU SoCs), this patch series not only touches the ARM SoC specific files (in arch/arm/...). But also some device drivers (e.g. SPI, I2C). Separating these driver specific patches into different patches that are not depending on this ARM patch series seems hard if not impossible. Thats why I would really like to get this patch series to get applied completely be one custodian. Not sure if this could / should go through Tom directly? Only if all the subsystem custodians have given their "Acked-by ..." of course. Testing on Kirkwood based boards would be greatly appreciated. So anyone with access to some of those board, please give this patch series a try. I really hope that I didn't break anything while merging some of the code into the common mvebu directory. Please note that this Armada XP port still requires the "Binary Header" (bin_hdr) from the Marvell U-Boot tree to be included as a binary blob into the resulting image (u-boot.kwb) that can be booted by the MVEBU BootROM. This binary bin_hdr is usually responsible for the DDR3 controller configuration and the DDR3 training. One way to extract this bin_hdr binary from an existing Marvell boot image right now is to use the "kwbimage" tool from Barebox. Please refer to the documentation thats available there for more details. Thanks, Stefan Stefan Roese (25): sf: Add M25PX64 SPI NOR flash ID arm: kirkwood: spi.h: Add some missing parenthesis spi: kirkwood_spi.c: Some fixes and cleanup spi: kirkwood_spi.c: Make global variable static spi: kirkwood_spi.c: cosmetic: Fix minor coding style issues arm: kirkwood: Move some SoC files into new arch/arm/mvebu-common arm: marvell: Move arch/kirkwood.h to arch/soc.h arm: marvell: Move arch-kirkwood/spi.h to arch-mvebu/spi.h arm: marvell: Rework timer.c to make it usable for other MVEBU platforms arm: mvebu: Add common mbus functions to use on Marvell SoCs spi: kirkwood_spi.c: Compile MPP (pin-mux) only for kirkwood SoC's arm: marvell: Extract kirkwood gpio functions into new common file gpio.c spi: kirkwood_spi.c: Change KW_SPI_BASE to MVEBU_SPI_BASE arm: kirkwood: Change naming of dram functions from km_foo() to mvebu_foo() net: mvneta.c: Add support for the ethernet controller of the Marvell Armada XP SoC net: phy.h: Make PHY autonegotiation timeout configurable i2c: mvtwsi: Add support for Marvell Armada XP arm: armada-xp: Add basic support for Marvell Armada XP SoC arm: armada-xp: Add basic support for the Marvell DB-78460-BP board arm: kirkwood: Remove some dead code from cpu.c arm: kirkwood: Use mvebu new common mbus API tools/kwboot: Sync with latest barebox version to support Armada XP tools: Compile kwboot for Marvell Armada XP as those SoCs are now supported tools: kwbimage: Add image version 1 support for Armada XP / 370 Makefile: Add CONFIG_BUILD_TARGET to automatically build an special image Makefile | 9 + README | 8 + arch/arm/cpu/arm926ejs/kirkwood/Makefile | 4 +- arch/arm/cpu/arm926ejs/kirkwood/cpu.c | 174 +-- arch/arm/cpu/arm926ejs/kirkwood/mpp.c | 2 +- arch/arm/cpu/armv7/armada-xp/Makefile | 7 + arch/arm/cpu/armv7/armada-xp/cpu.c | 186 +++ arch/arm/include/asm/arch-armada-xp/config.h | 80 + arch/arm/include/asm/arch-armada-xp/cpu.h | 103 ++ arch/arm/include/asm/arch-armada-xp/soc.h | 57 + arch/arm/include/asm/arch-kirkwood/config.h | 2 +- arch/arm/include/asm/arch-kirkwood/cpu.h | 71 +- arch/arm/include/asm/arch-kirkwood/gpio.h | 16 +- .../asm/arch-kirkwood/{kirkwood.h => soc.h} | 25 +- .../asm/{arch-kirkwood => arch-mvebu}/spi.h | 8 +- arch/arm/mvebu-common/Makefile | 12 + .../arm926ejs/kirkwood => mvebu-common}/dram.c | 63 +- arch/arm/mvebu-common/gpio.c | 30 + arch/arm/mvebu-common/mbus.c | 477 ++++++ .../arm926ejs/kirkwood => mvebu-common}/timer.c | 92 +- board/LaCie/net2big_v2/net2big_v2.c | 8 +- board/LaCie/netspace_v2/netspace_v2.c | 8 +- board/LaCie/wireless_space/wireless_space.c | 8 +- board/Marvell/db-78460-bp/Makefile | 7 + board/Marvell/db-78460-bp/db-78460-bp.c | 120 ++ board/Marvell/db-78460-bp/kwbimage.cfg | 12 + board/Marvell/dreamplug/dreamplug.c | 10 +- board/Marvell/guruplug/guruplug.c | 10 +- board/Marvell/mv88f6281gtw_ge/mv88f6281gtw_ge.c | 10 +- board/Marvell/openrd/openrd.c | 10 +- board/Marvell/rd6281a/rd6281a.c | 10 +- board/Marvell/sheevaplug/sheevaplug.c | 10 +- board/Seagate/dockstar/dockstar.c | 12 +- board/Seagate/goflexhome/goflexhome.c | 12 +- board/buffalo/lsxl/lsxl.c | 10 +- board/cloudengines/pogo_e02/pogo_e02.c | 10 +- board/d-link/dns325/dns325.c | 8 +- board/iomega/iconnect/iconnect.c | 10 +- board/karo/tk71/tk71.c | 10 +- board/keymile/km_arm/km_arm.c | 10 +- board/raidsonic/ib62x0/ib62x0.c | 10 +- boards.cfg | 1 + drivers/block/mvsata_ide.c | 2 +- drivers/gpio/kw_gpio.c | 2 +- drivers/i2c/mvtwsi.c | 4 +- drivers/mtd/nand/kirkwood_nand.c | 2 +- drivers/mtd/spi/sf_params.c | 1 + drivers/net/Makefile | 1 + drivers/net/mvgbe.c | 2 +- drivers/net/mvneta.c | 1653 ++++++++++++++++++++ drivers/rtc/mvrtc.h | 2 +- drivers/spi/kirkwood_spi.c | 44 +- drivers/usb/host/ehci-marvell.c | 45 +- include/configs/db-78460-bp.h | 67 + include/linux/mbus.h | 61 + include/netdev.h | 1 + include/phy.h | 2 + tools/Makefile | 1 + tools/kwbimage.c | 1050 +++++++++---- tools/kwboot.c | 97 +- 60 files changed, 4056 insertions(+), 723 deletions(-) create mode 100644 arch/arm/cpu/armv7/armada-xp/Makefile create mode 100644 arch/arm/cpu/armv7/armada-xp/cpu.c create mode 100644 arch/arm/include/asm/arch-armada-xp/config.h create mode 100644 arch/arm/include/asm/arch-armada-xp/cpu.h create mode 100644 arch/arm/include/asm/arch-armada-xp/soc.h rename arch/arm/include/asm/arch-kirkwood/{kirkwood.h => soc.h} (74%) rename arch/arm/include/asm/{arch-kirkwood => arch-mvebu}/spi.h (90%) create mode 100644 arch/arm/mvebu-common/Makefile rename arch/arm/{cpu/arm926ejs/kirkwood => mvebu-common}/dram.c (57%) create mode 100644 arch/arm/mvebu-common/gpio.c create mode 100644 arch/arm/mvebu-common/mbus.c rename arch/arm/{cpu/arm926ejs/kirkwood => mvebu-common}/timer.c (63%) create mode 100644 board/Marvell/db-78460-bp/Makefile create mode 100644 board/Marvell/db-78460-bp/db-78460-bp.c create mode 100644 board/Marvell/db-78460-bp/kwbimage.cfg create mode 100644 drivers/net/mvneta.c create mode 100644 include/configs/db-78460-bp.h create mode 100644 include/linux/mbus.h -- 2.0.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot