1. 16 1月, 2016 1 次提交
  2. 15 1月, 2016 12 次提交
  3. 14 1月, 2016 27 次提交
    • S
      MAINTAINERS: Update Marvell custodianship · f822d857
      Stefan Roese 提交于
      Add myself as custodian for the Marvell git repository. Additionally,
      add the mach-mvebu directory to the list of files / directories. And
      add Armada XP & Armada 38x to the title (not only kirkwood).
      Signed-off-by: NStefan Roese <sr@denx.de>
      Acked-by: NTom Rini <trini@konsulko.com>
      Acked-by: NPrafulla Wadaskar <prafulla@marvell.com>
      Acked-by: NLuka Perkov <luka.perkov@sartura.hr>
      f822d857
    • P
      mvebu: ds414: Implement Synology specific command set · a12d3e4c
      Phil Sutter 提交于
      Synology keeps per item configuration in a dedicated 'partition' in SPI
      flash, namely the one named 'vendor' in DTS file. It contains the two
      NICs MAC addresses as well as the item's serial number. I didn't find a
      way to have this information extracted automatically, therefore
      implemented 'syno populate_env' command which extracts the three values
      and puts them into environment. To make things permanent though, one has
      to 'saveenv'.
      
      Another command is 'syno clk_gate', which allows to change the clock
      gating which is done in DS414 board file.
      Signed-off-by: NPhil Sutter <phil@nwl.cc>
      Acked-by: NStefan Roese <sr@denx.de>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      a12d3e4c
    • P
      mvebu: Support Synology DS414 · aefb8f4c
      Phil Sutter 提交于
      This adds support for the MV78230 based DS414 NAS by Synology. The
      relevant bits have been extracted from the 'synogpl-5004-armadaxp'
      package Synology kindly published, garnished with a fair amount of
      trial-and-error.
      
      Sadly, support is far from perfect. The major parts I have failed in
      are SATA and XHCI support. Details about these and some other things
      follow:
      
      Device Tree
      -----------
      
      The device tree file armada-xp-synology-ds414.dts has been copied from
      Linux and enhanced by recent U-Boot specific changes to
      armada-xp-gp.dts.
      
      SATA Support
      ------------
      
      There is a Marvell 88SX7042 controller attached to PCIe which is
      supported by Linux's sata_mv driver but sadly not U-Boot's sata_mv.
      I'm not sure if extending the latter to support PCI devices is worth the
      effort at all. Porting sata_mv from Linux exceeded my brain's
      capacities. :(
      
      XHCI Support
      ------------
      
      There is an EtronTech EJ168A XHCI controller attached to PCIe which
      drives the two rear USB3 ports. After a bit of playing around I managed
      to get it recognized by xhci-pci, but never was able to access any
      devices attached to it. Enabling it in ds414 board config shows that it
      does not respond to commands for whatever reason. The (somewhat) bright
      side to it is that it is not even supported in Synology's customized
      U-Boot, but that also means nowhere to steal the relevant bits from.
      
      EHCI Support
      ------------
      
      This seems functional after issuing 'usb start'. At least it detects USB
      storage devices, and IIRC reading from them was OK. OTOH Linux fails to
      register the controller if 'usb start' wasn't given before in U-Boot.
      
      According to Synology sources, this board seems to support USB device
      (gadget?) mode. Though I didn't play around with it.
      
      PCIe Support
      ------------
      
      This is fine, but trying to gate the clocks of unused lanes will hang
      PCI enum. In addition to that, pci_mvebu seems not to support DM_PCI.
      
      DDR3 Training
      -------------
      
      Marvell/Synology uses eight PUPs instead of four. Does not look like
      this is meant to be customized in mainline U-Boot at all. OTOH I have
      no idea what a "PUP" actually is.
      
      PEX Init
      --------
      
      Synology uses different values than mainline U-Boot with this patch:
      pex_max_unit_get returns 2, pex_max_if_get returns 7 and
      max_serdes_lines is set to 7. Not changing this seems to not have an
      impact, although I'm not entirely sure it does not cause issues I am not
      aware of.
      
      Static Environment
      ------------------
      
      This allows to boot stock Synology firmware at least. In order to be a
      little more flexible when it comes to booting custom kernels, do not
      only load zImage partition, but also rd.gz into memory. This way it is
      possible to use about 7MB for kernel with piggyback initramfs.
      Signed-off-by: NPhil Sutter <phil@nwl.cc>
      Acked-by: NStefan Roese <sr@denx.de>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      aefb8f4c
    • P
      mvebu: Add rudimental MV78230 support · 6202953d
      Phil Sutter 提交于
      This adds basic support for Marvell's MV78230 SoC which belongs to the
      Armada XP series.
      Signed-off-by: NPhil Sutter <phil@nwl.cc>
      Acked-by: NStefan Roese <sr@denx.de>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      6202953d
    • P
      mvebu: axp: Rename MV_DDR_32BIT to CONFIG_DDR_32BIT · 4444d230
      Phil Sutter 提交于
      This should make it clear that this symbol is meant to be defined by
      board headers.
      Signed-off-by: NPhil Sutter <phil@nwl.cc>
      Acked-by: NStefan Roese <sr@denx.de>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      4444d230
    • P
      mvebu: Introduce kconfig symbols for SoC variants · 42902521
      Phil Sutter 提交于
      This patch adds intermediate kconfig symbols which select their SoC
      family. Boards then select them instead of the family symbol directly.
      Signed-off-by: NPhil Sutter <phil@nwl.cc>
      Acked-by: NStefan Roese <sr@denx.de>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      42902521
    • P
      mvebu: axp: refactor board_sat_r_get() and caller · beadff17
      Phil Sutter 提交于
      Instead of calling board_sat_r_get() only for those boards providing the
      satr11 value via I2C, call it for all boards and return static values
      for those not using I2C.
      
      In addition to that, make this a weak function to allow for board code
      to override it.
      Signed-off-by: NPhil Sutter <phil@nwl.cc>
      Acked-by: NStefan Roese <sr@denx.de>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      beadff17
    • P
      drivers/pci/pci_mvebu: Fix for boards with X4 lanes · 9a045278
      Phil Sutter 提交于
      Armada XP has support for X4 lanes, boards specify this in their
      serdes_cfg. During PEX init in high_speed_env_lib.c, the configuration
      is stored in GEN_PURP_RES_2_REG.
      
      When enumerating PEX, subsequent interfaces of an X4 lane must be
      skipped. Otherwise the enumeration hangs up the board.
      
      The way this is implemented here is not exactly beautiful, but it mimics
      how Marvell's BSP does it. Alternatively we could get the information
      using board_serdes_cfg_get(), but that won't lead to clean code, either.
      Signed-off-by: NPhil Sutter <phil@nwl.cc>
      Acked-by: NStefan Roese <sr@denx.de>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      9a045278
    • P
      axp: Fix debugging support in DDR3 write leveling · 7e1e59a7
      Phil Sutter 提交于
      If MV_DEBUG_WL is defined, DEBUG_WL_S and DEBUG_WL_D macros are missing.
      In addition to that, get rid of debug output printing non-existent
      counter variable.
      Signed-off-by: NPhil Sutter <phil@nwl.cc>
      Acked-by: NStefan Roese <sr@denx.de>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      7e1e59a7
    • P
      README: Review the u-boot porting guide list · 3c1496cd
      Phil Sutter 提交于
      * There is no boards.cfg anymore, so drop (1).
      * Creating flash.c and u-boot.lds seems not mandatory as well.
      * Adjusting the enumerators for the above implicitly fixed for
        double items numbered (3).
      Signed-off-by: NPhil Sutter <phil@nwl.cc>
      Acked-by: NStefan Roese <sr@denx.de>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      3c1496cd
    • P
      drivers/pci: Fix for debug builds without CONFIG_PCI_ENUM_ONLY · 11131467
      Phil Sutter 提交于
      The debug printing references bar_res, which exists only if
      CONFIG_PCI_ENUM_ONLY is not defined. Therefore move it into the ifdef'd
      area.
      Signed-off-by: NPhil Sutter <phil@nwl.cc>
      Acked-by: NStefan Roese <sr@denx.de>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      11131467
    • S
      arm: mvebu: Add runtime detection of UART (xmodem) boot-mode · f4db6c97
      Stefan Roese 提交于
      This patch adds runtime detection of the Marvell UART boot-mode (xmodem
      protocol). If this boot-mode is detected, SPL will return to the
      BootROM to continue the UART booting.
      
      With this patch its now possible, to generate a U-Boot image that
      can be booted either from the strapped boot-device (e.g. SPI NOR, MMC,
      etc) or via the xmodem protocol from the UART. In the UART case,
      the kwboot tool will dynamically insert the UART boot-device type
      into the image. And also patch the load address in the header, so
      that the mkimage header will be skipped (as its not expected by the
      Marvell BootROM).
      
      This simplifies the development for Armada XP / 38x based boards.
      As no special images need to be generated by selecting the
      MVEBU_BOOTROM_UARTBOOT Kconfig option.
      
      Since the Kconfig option MVEBU_BOOTROM_UARTBOOT is not needed any
      more, its now completely removed.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
      Cc: Phil Sutter <phil@nwl.cc>
      Cc: Kevin Smith <kevin.smith@elecsyscorp.com>
      f4db6c97
    • S
      arm: mvebu: Add runtime boot-device detection · a5f88877
      Stefan Roese 提交于
      This patch adds runtime boot-device detection to SPL U-Boot.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
      Cc: Phil Sutter <phil@nwl.cc>
      Cc: Kevin Smith <kevin.smith@elecsyscorp.com>
      a5f88877
    • S
      arm: mvebu: Make local structs static const · a9fc5a24
      Stefan Roese 提交于
      As these structs are local only and const, declare them accordingly.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
      Cc: Phil Sutter <phil@nwl.cc>
      Cc: Kevin Smith <kevin.smith@elecsyscorp.com>
      a9fc5a24
    • S
      arm: mvebu: Move SAR register defines into header · d35831f6
      Stefan Roese 提交于
      This is preparation for the runtime bootmode detection in spl.c.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
      Cc: Phil Sutter <phil@nwl.cc>
      Cc: Kevin Smith <kevin.smith@elecsyscorp.com>
      d35831f6
    • S
      arm: mvebu: Remove leftover Makefile · b7ca2501
      Stefan Roese 提交于
      This Makefile was not used since quite some time. I only missed to
      remove it in the move to mach-mvebu. So lets remove it now so
      that the mvebu-common directory is really removed completely.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      b7ca2501
    • S
      arm: mvebu: Move SoC selection (A38X vs AXP) into Kconfig · 81e33f4b
      Stefan Roese 提交于
      Until now, the SoC selection for the ARCH_MVEBU platforms has been done
      in the config header. Using CONFIG_ARMADA_XP in a non-clear way. As
      it needed to get selected for AXP and A38x based boards. This patch
      now changes this to move the SoC selection to Kconfig. And also
      uses CONFIG_ARCH_MVEBU as a common define for both AXP and A38x.
      This makes things a bit clearer - especially for new board additions.
      
      Additionally the defines CONFIG_SYS_MVEBU_DDR_AXP and
      CONFIG_SYS_MVEBU_DDR_A38X are replaced with the already available
      CONFIG_ARMADA_38X and CONFIG_ARMADA_XP.
      
      And CONFIG_DDR3 is removed, as its not referenced anywhere.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      81e33f4b
    • S
      arm: mvebu: Consolidate board Kconfig options into one file · b322c83a
      Stefan Roese 提交于
      Merging all the board specific Kconfig options into the main Kconfig file
      for mach-mvebu makes things easier to maintain.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      b322c83a
    • S
      arm: mvebu: Print CPU and SDRAM frequency upon startup · d718bf2c
      Stefan Roese 提交于
      With this patch, the CPU and the DDR frequencies will get printed in the
      U-Boot startup messages. Resulting in such a log:
      
      U-Boot 2016.01-rc2-00188-gb8eeaec-dirty (Dec 21 2015 - 12:32:35 +0100)
      
      SoC:   MV78460-B0 at 1600 MHz
      I2C:   ready
      DRAM:  4 GiB (800 MHz, ECC not enabled)
      ...
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      d718bf2c
    • S
      arm: mvebu: Make serdes setup on Armada XP less noisy · e25d5a95
      Stefan Roese 提交于
      Change some of the PEX configuration output lines from always output to
      only ouput upon specific debug enabling.
      
      This changes the SPL output from:
      
      U-Boot SPL 2016.01-rc2-00037-g9353a7f (Dec 10 2015 - 10:27:42)
      High speed PHY - Version: 2.1.5 (COM-PHY-V20)
      Update Device ID PEX0782611ab
      Update Device ID PEX1782611ab
      Update Device ID PEX2782611ab
      Update Device ID PEX3782611ab
      Update Device ID PEX8782611ab
      Update PEX Device ID 0x78260
      High speed PHY - Ended Successfully
      DDR3 Training Sequence - Ver 5.7.4
      DDR3 Training Sequence - Ended Successfully
      
      to:
      
      U-Boot SPL 2016.01-rc2-00037-g9353a7f-dirty (Dec 10 2015 - 10:32:04)
      High speed PHY - Version: 2.1.5 (COM-PHY-V20)
      High speed PHY - Ended Successfully
      DDR3 Training Sequence - Ver 5.7.4
      DDR3 Training Sequence - Ended Successfully
      
      Resulting in a little faster bootup time.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      e25d5a95
    • S
      arm: mvebu: Don't include "netdev.h" in cpu.c · 84877c65
      Stefan Roese 提交于
      This is not needed any more since the switch to DM / DTS network
      initialization on MVEBU. Lets remove it, as it otherwise leads
      to compilation warning when CONFIG_NET is not enabled.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      84877c65
    • S
      arm: mvebu: Make ECC support configurable on Armada XP · 698ffab2
      Stefan Roese 提交于
      Currently, ECC support is enabled for all Armada XP boards. So the
      DDR3 driver tries to configure the controller with ECC support, even
      on boards without ECC. This patch makes this ECC optional which now
      can be configured on a board-per-board basis.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Phil Sutter <phil@nwl.cc>
      698ffab2
    • S
      arm: mvebu: Add support for MV78260 · bf0db8b8
      Stefan Roese 提交于
      This patch adds support for the dual core Armada XP variant, the
      MV78260. It has some minor differences to the 4-core MV78460,
      e.g. only 12 serdes lanes.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Phil Sutter <phil@nwl.cc>
      bf0db8b8
    • S
      arm: mvebu: Don't use 0 as board ID as its used for the custom boards · 00a457b2
      Stefan Roese 提交于
      Using board ID 0 is reserved for the non-Marvell "custom" boards. So
      move the board ID's to reflect this.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Phil Sutter <phil@nwl.cc>
      00a457b2
    • S
      arm: mvebu: Simplify code in setup_usb_phys() a bit · ab8a4c6a
      Stefan Roese 提交于
      Use the clrbits() / setbits() functions instead of clrsetbits() when
      bit are only cleared or set.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      ab8a4c6a
    • S
      arm: mvebu: Don't disable cache at startup on Armada XP at all · c86d53fd
      Stefan Roese 提交于
      This patch leaces the cache configuration untouched for the AXP in the
      setup done by the BootROM. Resulting in the cache still being enabled
      at the startup of U-Boot. This leads to a slightly faster boot to the
      U-Boot prompt (or Linux of course).
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      c86d53fd
    • S
      arm: mvebu: Remove SYS_MALLOC_CLEAR_ON_INIT from DB-MV784MP-GP AXP board · e5f0a640
      Stefan Roese 提交于
      By removing CONFIG_SYS_MALLOC_CLEAR_ON_INIT, the bootup time is a bit
      faster.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      e5f0a640