1. 14 1月, 2016 29 次提交
    • 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
    • S
      arm: mvebu: Don't call arch_cpu_init() from SPL at all · f4e6ec7d
      Stefan Roese 提交于
      This patch removes the call to arch_cpu_init() in the SPL U-Boot version.
      As SPL does not need all the configuration done in this function. And
      also does not need the reconfiguration of the internal register
      address to 0xf1000000. This will be done by the main U-Boot later on.
      
      This also fixes a problem with the timer not beeing initialized on AXP,
      as needed for the mdelay in the setup_usb_phys(). This will now only
      be called once in main U-Boot.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      f4e6ec7d
    • S
      arm: mvebu: Add v7_outer_cache_disable function for AXP & A38x · f0e8173a
      Stefan Roese 提交于
      Add functionality to correctly disable the L2 cache on the Armada XP
      and 38x platforms.
      
      Without this, booting into Linux on ClearFog (A38x) results in a hangup
      without any output on the serial console at all. Even with earlyprintk
      enabled.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      f0e8173a
    • S
      arm: mvebu: Enable L2 cache on Armada XP · 3e5ce7ce
      Stefan Roese 提交于
      Until now, the L2 cache was never enabled again in U-Boot. To get
      even better performance (bootup time), lets enable the L2 cache
      in U-Boot. This code was taken from the Linux kernel.
      
      A performance gain was measured on the DB-MV784MP-GP board by testing
      with tftpboot and sata commands.
      
      This patch also cleans up the L2 cache related code. And makes sure that
      the L2 cache is only disabled once.
      
      Please note that A38x still runs with L2 cache disabled. And needs
      to be enabled for this SoC in a separate patch if needed or desired.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      3e5ce7ce
    • S
      arm: mvebu: db-mv784mp-gp: Enable cache command · af2728ab
      Stefan Roese 提交于
      Th cache command can be useful sometimes. So lets enable it on the
      AXP eval board.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      af2728ab
    • S
      arm: mvebu: db-mv784mp-gp: Enable common file-system support · 8c822825
      Stefan Roese 提交于
      This patch adds the common FS options to the Marvell AXP eval board. This
      includes EXT2, EXT4, FAT and VFAT. And of course the generic FS commands.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      8c822825
    • S
      arm: mvebu: db-mv784mp-gp: Switch from IDE to SATA support · c4be10b5
      Stefan Roese 提交于
      Enable the newly introduced SATA driver for the Marvell AXP with DMA
      support instead of the PIO-only IDE driver. This increases the
      transfer speed. And is also more in-line with the Armada 38x
      ports, which also use a SATA driver (AHCI) and the "sata" U-Boot
      commands.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      c4be10b5
    • T
      sata: Add SATA driver with DMA support for Marvell Kirkwood and Armada XP · 169789dc
      Tor Krill 提交于
      This patch adds a new SATA driver for the Marvell Kirkwood and Armada
      370 / XP SoC's.
      
      This driver supports the SATA controller of some Mavell SoC's.
      Here a (most likely incomplete) list of the supported SoC's:
      - Kirkwood
      - Armada 370
      - Armada XP
      
      This driver implementation is an alternative to the already available
      driver via the "ide" commands interface (drivers/block/mvsata_ide.c).
      But this driver only supports PIO mode and as this new driver also
      supports transfer via DMA, its much faster.
      
      Please note, that the newer SoC's (e.g. Armada 38x) are not supported
      by this driver. As they have an AHCI compatible SATA controller
      integrated.
      
      The original version of this driver was sent by Tor Krill to the U-Boot
      list a few years ago. Here the link:
      
      http://lists.denx.de/pipermail/u-boot/2010-June/073147.html
      
      Changes by Stefan:
      - Coding-style cleanup
      - Support for Armada XP added
      - MBUS window setup added
      - D-cache flush and invalidation added - works with dcache enabled on
        Armada XP
      - Removed mdelay() from ata_wait_register() and add timer based timeout
        detection to speed up the transfer
      Signed-off-by: NTor Krill <tor@excito.com>
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Tom Rini <trini@konsulko.com>
      169789dc
    • S
      arm: mvebu: Add SolidRun ClearFog Armada 38x initial support · 0299c90f
      Stefan Roese 提交于
      This patch adds basic support for the SolidRun ClearFog Armada 38x based
      board to mainline U-Boot. Supported interfaces / devices are:
      - DDR3
      - UART
      - MMC
      - Ethernet port 0 (connected to dedicated PHY)
      - I2C
      
      The included DT source was taken from Russell King's ftp server:
      http://www.home.arm.linux.org.uk/~rmk/clearfog/
      
      With only minor modifications, like the addition of some aliases and the
      "u-boot,dm-pre-reloc" property.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Rabeeh Khoury <rabeeh@solid-run.com>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      0299c90f
    • S
      arm: mvebu: Move some defines to common include file · 8a02ec1d
      Stefan Roese 提交于
      This patch moves some config options to the mvebu common include file.
      Making it easier to not forget these defines for new boards.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
      8a02ec1d
    • S
      net: mvneta: Convert to driver model · e3b9c98a
      Stefan Roese 提交于
      Update this driver to support driver model. As all MVEBU boards using
      this driver are converted with this patch, the non-driver-model code
      can be removed completely. This is also the reason why this patch
      is quite big and includes a) the driver change and b) the
      platform change. As its not git-bisect save otherwise.
      
      With this conversion, some parameters are now extracted from the
      DT instread of using the config header defines. The supported
      properties right now are:
      
      PHY-mode ("phy-mode") and PHY-address ("reg").
      
      The base addresses for the ethernet controllers can be removed from
      the header files as well.
      
      Please note that this patch also removes the E1000 network driver
      from some MVEBU config headers. This is necessary, as with DM_ETH
      configured and the e1000 driver enabled, the PCI driver also needs
      to support DM. But the MVEBU PCI(e) driver still needs to get
      ported to DM. When this is done, the E1000 driver can be enabled
      again.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
      Cc: Joe Hershberger <joe.hershberger@ni.com>
      Cc: Simon Glass <sjg@chromium.org>
      e3b9c98a
    • S
      arm: mvebu: armada-388-gp.dts: Add ethernet aliases · 202ededd
      Stefan Roese 提交于
      Adding these aliases enables the update of the MAC addresses from
      within U-Boot.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      202ededd
    • S
      arm: mvebu: Add armada-xp-maxbcm.dts for maxbcm board · 18c1272f
      Stefan Roese 提交于
      This is needed for the upcoming ethernet DM conversion of the maxbcm
      board. The configuration of the PHY is then extracted from the DT
      instead of using the defines from the config header.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      18c1272f
    • S
      arm: mvebu: Add SPI driver model support · 09a54c00
      Stefan Roese 提交于
      This patch enables the DM support for the SPI driver and the
      SPI NOR flash chips. Some MVEBU boards boot from SPI NOR, so
      adding the aliases and enabling CONFIG_DM_SEQ_ALIAS is needed
      here.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
      Cc: Simon Glass <sjg@chromium.org>
      09a54c00
    • S
      spi: kirkwood_spi.c: Add driver model support · 9985bdb1
      Stefan Roese 提交于
      This patch adds driver model support to the kirkwood SPI driver. Which
      is also used on the MVEBU SoC's, now being converted to DM. Non-DM
      support is still available for the "older" platforms using this
      driver, like kirkwood.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Jagan Teki <jteki@openedev.com>
      Cc: Simon Glass <sjg@chromium.org>
      9985bdb1
    • S
      spi: kirkwood_spi.c: Prepare for driver model support · 18dd3b22
      Stefan Roese 提交于
      This patch prepares the Kirkwood SPI driver, also used on the MVEBU board
      (Armada XP / 38x), for the conversion to driver model.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Jagan Teki <jteki@openedev.com>
      Cc: Simon Glass <sjg@chromium.org>
      18dd3b22
    • S
      arm: mvebu: Add DM and OF_CONTROL support to SPL · 6451223a
      Stefan Roese 提交于
      This patch adds full DM support to the SPL on MVEBU. Currently
      only serial is supported. Other drivers will follow.
      
      This patch also adds the necessary config values for the DEBUG UART
      to the MVEBU defconfig files. This came in handy while implementing
      this DM support.
      
      Additionally, the mvebu specific SPL linker script is removed and
      this common one is used instead:
      
         arch/arm/cpu/u-boot-spl.lds
      
      This common linker script already handles all special cases. No need
      to reinvent the wheel for MVEBU here.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
      Cc: Simon Glass <sjg@chromium.org>
      6451223a
    • S
      arm: mvebu: ddr: Fix compilation warning · cdf1d240
      Stefan Roese 提交于
      gcc 5.1 generates this new warning (for Armada 38x platforms):
      
      drivers/ddr/marvell/a38x/ddr3_debug.c: In function 'hws_ddr3_tip_read_training_result':
      drivers/ddr/marvell/a38x/ddr3_debug.c:177:40: warning: 'sizeof' on array
        function parameter 'result' will return size of 'enum hws_result (*)[1]' [-Wsizeof-array-argument]
        memcpy(result, training_result, sizeof(result));
                                              ^
      drivers/ddr/marvell/a38x/ddr3_debug.c:171:31: note: declared here
        u32 dev_num, enum hws_result result[MAX_STAGE_LIMIT][MAX_INTERFACE_NUM])
                                     ^
      
      Since this functions is not referenced anywhere, lets just remove it.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      cdf1d240
    • S
      arm: mvebu/kirkwood: Use common timer functions · 2fbc18fe
      Stefan Roese 提交于
      By using the common timer functions for mvebu/kirkwood we can get rid of quite
      a lot of code.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Simon Guinot <simon.guinot@sequanux.org>
      Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
      2fbc18fe
    • S
      part_dos.c: Don't wrap to negative after 2G sectors · d29892ba
      Stefan Monnier 提交于
      In order to support large IDE disks we need to make certain types be
      lbaint_t now.
      Reviewed-by: NTom Rini <trini@konsulko.com>
      Signed-off-by: NStefan Monnier <monnier@iro.umontreal.ca>
      d29892ba
  2. 13 1月, 2016 11 次提交