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. v3 status: Tom, how do you feel about this patch series? Its been abround for quite some time now. And I would really like to see it applied to mainline. Prafulla has acked all Kirkwood related patches. Heiko the I2C patch. Jagan the I2C stuff. If you feel its okay, then please pull the complete patch-series directly. Thanks, Stefan Changes in v3: - Added Tested-by from Luka - Added Tested-by from Luka - Added Acked-by from Prafulla to all Kirkwood patches - Added Tested-by from Luka - Added Acked-by from Prafulla to all Kirkwood patches - Added Tested-by from Luka - Added Acked-by from Prafulla to all Kirkwood patches - Added Tested-by from Luka - Added Acked-by from Prafulla to all Kirkwood patches - Added Tested-by from Luka - Added Acked-by from Prafulla to all Kirkwood patches - Added Tested-by from Luka - Added newly introduced driver drivers/mmc/mvebu_mmc.c - Added Acked-by from Prafulla to all Kirkwood patches - Added Tested-by from Luka - Added Reviewed-by from Jagannadha - Added Acked-by from Prafulla to all Kirkwood patches - Added Tested-by from Luka - Added Tested-by from Luka - Added Acked-by from Prafulla to all Kirkwood patches - Added Tested-by from Luka - Added Reviewed-by from Jagannadha - Added Acked-by from Prafulla to all Kirkwood patches - Added Tested-by from Luka - Added Acked-by from Prafulla to all Kirkwood patches - Added Tested-by from Luka - Added Reviewed-by from Jagannadha - Added Acked-by from Prafulla to all Kirkwood patches - Added Tested-by from Luka - Added Tested-by from Luka - Added Tested-by from Luka - Added Acked-by from Heiko - Added Tested-by from Luka - Added Tested-by from Luka - Rebased on current top-of-tree (git ID a1263632) - Rebased on current top-of-tree (git ID a1263632) Changes in v2: - Fixed issue in mbus_dt_setup_win() to also assign remappable windows - Made mbus_dt_setup_win() non-static, so that it can be called from other files for board specific mbus window configuration - Renamed target from db-78460-bp to db-mv784mp-gp as this matches the real eval board name - Added optional '-a' parameter to use the timings for Armada XP, as they are incompatibel with the currently used ones for Kirkwood (etc). - Rebased on latest U-Boot version already including the Kconfig support switch. - Removed patch "[PATCH v1 21/25] arm: kirkwood: Use mvebu new common mbus API" as this breaks Kirkwood booting. This needs to be resolved at some time, but I don't have access to a Kirkwood based board with JTAG BDI access to debug it right now. Till somebody fixes this issue, lets just remove it from this series for now. - Added basic support for the maxBCM MV78460 based board 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-MV784MP-GP board arm: armada-xp: Add basic support for the maxBCM board arm: kirkwood: Remove some dead code from cpu.c 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/Kconfig | 8 + arch/arm/cpu/arm926ejs/kirkwood/Makefile | 4 +- arch/arm/cpu/arm926ejs/kirkwood/cpu.c | 74 +- 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 | 107 ++ 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 | 8 +- arch/arm/include/asm/arch-kirkwood/gpio.h | 16 +- .../asm/arch-kirkwood/{kirkwood.h => soc.h} | 9 +- .../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 | 471 ++++++ .../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-mv784mp-gp/Kconfig | 23 + board/Marvell/db-mv784mp-gp/MAINTAINERS | 6 + board/Marvell/db-mv784mp-gp/Makefile | 7 + board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c | 120 ++ board/Marvell/db-mv784mp-gp/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/maxbcm/Kconfig | 19 + board/maxbcm/MAINTAINERS | 6 + board/maxbcm/Makefile | 7 + board/maxbcm/kwbimage.cfg | 12 + board/maxbcm/maxbcm.c | 77 + board/raidsonic/ib62x0/ib62x0.c | 10 +- configs/db-mv784mp-gp_defconfig | 2 + configs/maxbcm_defconfig | 2 + drivers/block/mvsata_ide.c | 2 +- drivers/gpio/kw_gpio.c | 2 +- drivers/i2c/mvtwsi.c | 4 +- drivers/mmc/mvebu_mmc.c | 2 +- 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 | 2 +- include/configs/db-mv784mp-gp.h | 68 + include/configs/maxbcm.h | 68 + include/linux/mbus.h | 73 + include/netdev.h | 1 + include/phy.h | 2 + tools/Makefile | 1 + tools/kwbimage.c | 1050 +++++++++---- tools/kwboot.c | 111 +- 71 files changed, 4239 insertions(+), 574 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} (90%) 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-mv784mp-gp/Kconfig create mode 100644 board/Marvell/db-mv784mp-gp/MAINTAINERS create mode 100644 board/Marvell/db-mv784mp-gp/Makefile create mode 100644 board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c create mode 100644 board/Marvell/db-mv784mp-gp/kwbimage.cfg create mode 100644 board/maxbcm/Kconfig create mode 100644 board/maxbcm/MAINTAINERS create mode 100644 board/maxbcm/Makefile create mode 100644 board/maxbcm/kwbimage.cfg create mode 100644 board/maxbcm/maxbcm.c create mode 100644 configs/db-mv784mp-gp_defconfig create mode 100644 configs/maxbcm_defconfig create mode 100644 drivers/net/mvneta.c create mode 100644 include/configs/db-mv784mp-gp.h create mode 100644 include/configs/maxbcm.h create mode 100644 include/linux/mbus.h -- 2.1.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot