[U-Boot] [PATCH v2 0/25] Add Marvell Armada XP MV78460 SoC support

Jagan Teki jagannadh.teki at gmail.com
Sat Aug 23 09:20:45 CEST 2014


On Tue, Aug 5, 2014 at 12:39 PM, Stefan Roese <sr at denx.de> wrote:
>
> 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
>
> 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

Picked these on u-boot-spi/master

>   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

Conflicts - but added reviewed tag and updated Prafulla, please take
these on your repo.

>   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/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                    |   67 +
>  include/configs/maxbcm.h                           |   67 +
>  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, 4236 insertions(+), 573 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.0.4
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

thanks!
-- 
Jagan.


More information about the U-Boot mailing list