[U-Boot] [PATCH v4 0/20] Add Marvell Armada XP MV78460 SoC support
Stefan Roese
sr at denx.de
Wed Oct 22 12:13:04 CEST 2014
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.
v4 status:
Some SPI patches are now in mainline pulled by Jagan. Some others are
still pending. But this is because of their dependancy on other platform
files. As its mostly remaning stuff (kirkwood -> mvebu) to make things
more generic.
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.
Or should I prepare a git branch for you to pull from?
Thanks,
Stefan
Changes in v4:
- Unused SDRAM windows are now disabled in update_sdram_window_sizes()
Changes in v3:
- 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 (20):
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 | 193 +++
arch/arm/include/asm/arch-armada-xp/config.h | 82 +
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 | 0
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/net/Makefile | 1 +
drivers/net/mvgbe.c | 2 +-
drivers/net/mvneta.c | 1653 ++++++++++++++++++++
drivers/rtc/mvrtc.h | 2 +-
drivers/spi/kirkwood_spi.c | 17 +-
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 +-
70 files changed, 4231 insertions(+), 555 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 (100%)
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.2
More information about the U-Boot
mailing list