1. 18 8月, 2015 20 次提交
    • T
      Merge git://git.denx.de/u-boot-marvell · ecd37e85
      Tom Rini 提交于
      ecd37e85
    • S
      Revert "Align global_data to a 16-byte boundary" · 2212e69b
      Simon Glass 提交于
      This causes widespread breakage due to the operation of the low-level code
      in crt0.S and cro0_64.S for ARM at least.
      
      The fix is not complicated but it seems safer to revert this for now.
      
      This reverts commit 2afddae0.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      2212e69b
    • S
      arm: mvebu: db-88f6820-gp: Enable PCI support · ce2cb1d3
      Stefan Roese 提交于
      This patch enabled the MVEBU PCIe support on the db-88f6820-gp A38x
      eval board. It also enabled the Intel E1000 driver support and
      adds the initialization of PCIe network controllers to the
      board code.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Anton Schubert <anton.schubert@gmx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Dirk Eibach <eibach@gdsys.de>
      ce2cb1d3
    • S
      arm: mvebu: db-mv784mp-gp: Enable PCI support · 41e705ac
      Stefan Roese 提交于
      This patch enabled the MVEBU PCIe support on the db-mv784mp-gp AXP
      eval board. It also enabled the Intel E1000 driver support and
      adds the initialization of PCIe network controllers to the
      board code.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Anton Schubert <anton.schubert@gmx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      41e705ac
    • A
      pci: mvebu: Add PCIe driver · 9c28d61c
      Anton Schubert 提交于
      This adds a PCI driver for the controllers found on Marvell MVEBU SoCs.
      
      Besides the driver, this patch also removes the statically defined
      PCI MBUS windows. As they are not needed anymore, since this PCIe
      driver now creates the windows dynamically.
      
      Tested on Armada XP db-mv784mp-gp eval board using an Intel E1000
      PCIe card in all 3 PCIe slots. And on the Armada 38x db-88f6820-gp
      eval board using this Intel E1000 PCIe card in the PCIe 0 slot.
      
      This port was done in cooperation with Anton Schubert.
      Signed-off-by: NAnton Schubert <anton.schubert@gmx.de>
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      Cc: Dirk Eibach <eibach@gdsys.de>
      9c28d61c
    • S
      arm: mvebu: Add complete SDRAM ECC scrubbing · 0ceb2dae
      Stefan Roese 提交于
      This patch introduces the SDRAM scrubbing for ECC enabled board
      to fill/initialize the ECC bytes. This is done via the XOR engine
      to speed up the process. The scrubbing is a 2-stage process:
      
      1) SPL scrubs the area 0 - 0x100.0000 (16MiB) for the main U-Boot
      2) U-Boot scrubs the remaining SDRAM area(s)
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      0ceb2dae
    • S
      arm: mvebu: dram.c: Rework dram_init() and dram_init_banksize() · a8b57a90
      Stefan Roese 提交于
      Rework these functions so that dram_init_banksize() does not call
      dram_init() again. It only needs to set the banksize values in the
      bdinfo struct.
      
      Make sure to also clip the size of the last bank if it exceeds the
      maximum allowed value of 3 GiB (0xc000.0000). Otherwise other
      address windows (e.g. PCIe) will overlap with this memory window.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      a8b57a90
    • S
      arm: mvebu: Move CONFIG_SYS_TEXT_BASE to an address < 16 MiB · 2923c2d2
      Stefan Roese 提交于
      This patch moves CONFIG_SYS_TEXT_BASE to 0x00800000 for all Armada
      XP / 38x boards in mainline U-Boot. This is done in preparation for
      the ECC SDRAM scrubbing that needs to be done in the main U-Boot.
      The SPL (previously bin_hdr) has already scrubbed the area:
        0x0000.0000 - 0x0100.0000
      
      In this area this main U-Boot needs to get loaded. The main U-Boot
      then can scrub the remaining SDRAM area while running from this
      location.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      2923c2d2
    • S
      arm: mvebu: Display ECC enabled / disabled upon bootup · 8a83c65f
      Stefan Roese 提交于
      This patch adds "(ECC enabled)" or "(ECC disabled)" to the DRAM
      bootup text. Making it easier for board with SPD DIMM's to see,
      if ECC is enabled or not.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      8a83c65f
    • A
      arm: mvebu: add multiple usb-hostcontroller support for AXP · 8a333716
      Anton Schubert 提交于
      This patch adds support for multiple hostcontrollers to the ehci-marvell driver
      and enables all 3 usb-hcs on the db-mv784mp-gp board.
      
      It depends on the initial Armada XP usb support patch from Stefan.
      Signed-off-by: NAnton Schubert <anton.schubert@gmx.de>
      Reviewed-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      8a333716
    • S
      arm: mvebu: db-mv785mp-gp: Add USB/EHCI support · 49114c87
      Stefan Roese 提交于
      This patch enabled the USB/EHCI support for the Marvell
      DB-MV784MP-GP Armada XP eval board.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Anton Schubert <anton.schubert@gmx.de>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      49114c87
    • S
      arm: mvebu: Enable USB EHCI support on Armada XP · dee40d26
      Stefan Roese 提交于
      This patch enables the USB EHCI support for the Marvell Armada XP (AXP)
      SoCs. In compatism to the Armada 38x (A38x), the AXP needs to configure
      the USB PLL and the USB PHY's specifically in U-Boot. The A38x has done
      this already in the bin_hdr (SPL U-Boot). Without this, accessing the
      controller registers in U-Boot or Linux will hang the CPU.
      
      Additionally, the AXP uses a different USB EHCI base address. This
      patch also takes care of this by runtime SoC detection in the Marvell
      EHCI driver.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Signed-off-by: NAnton Schubert <anton.schubert@gmx.de>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      dee40d26
    • S
      arm: mvebu: Enable NAND controller on MVEBU SoC's · 2a0b7dc3
      Stefan Roese 提交于
      This patch enables the NAND controller on the Armada XP/38x and provides
      a new function that returns the NAND controller input clock. This
      function will be used by the MVEBU NAND driver.
      
      As part of this patch, the multiple BIT macro definitions are moved
      to a common place in soc.h.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Peter Morrow <peter@senient.com>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      2a0b7dc3
    • S
      arm: mvebu: Disable MBUS error propagation · 501c098a
      Stefan Roese 提交于
      Accessing MBUS windows not backed-up by e.g. PCIe devices will
      hang the SoC. Disable MBUS error propagation back to CPU allows
      to read 0xffffffff instead of hanging the SoC.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      501c098a
    • S
      arm: mvebu: Flush caches and disable MMU only on A38x · 2b181b5b
      Stefan Roese 提交于
      Only with disabled MMU its possible to switch the base register address
      on Armada 38x. Without this the SDRAM located at >= 0x4000.0000 is also
      not accessible, as its still locked to cache.
      
      So to fully release / unlock this area from cache, we need to first
      flush all caches, then disable the MMU and disable the L2 cache.
      
      On Armada XP this does not seem to be needed. Even worse, with this
      code added, I sometimes see strange input charactes loss from the
      console.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      2b181b5b
    • S
      arm: mvebu: Setup the MBUS bridge registers · 5b72dbfc
      Stefan Roese 提交于
      With this patch, the MBUS bridge registers (base and size) are
      configured upon each call to mbus_dt_setup_win(). This is needed, since
      the board code can also call this function in later boot stages. As
      done in the maxbcm board.
      
      This is needed to fix a problem with the secondary CPU's not booting
      in Linux on AXP.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Peter Morrow <peter@senient.com>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      5b72dbfc
    • S
      arm: mvebu: Change MBUS base addresses and sizes · 8ed20d65
      Stefan Roese 提交于
      This patch changes the MBUS base addresses and sizes to use more
      generic names and also adds defines for the sizes. It also moves
      the base address to higher addresses.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      8ed20d65
    • S
      2bd8711e
    • S
      arm: mvebu: sdram: Enable ECC support on Armada XP · a3ed9789
      Stefan Roese 提交于
      This is tested on the DB-MV784MP-GP eval board. To really enable ECC
      support on this board the I2C EEPROM needs to get changed. As it
      saves the enabling of ECC support internally. For this the following
      commands can be used to enable ECC support on this board:
      
      Its recommended for first save (print) the value(s) in this EEPROM
      address:
      
      => i2c md 4e 0.1 2
      0000: 05 00    ..
      
      To enable ECC support you need to set bit 1 in the 2nd byte:
      
      Marvell>> i2c mw 4e 1.1 02
      Marvell>> i2c md 4e 0.1 2
      0000: 05 02    ..
      
      To disable ECC support again, please use this command:
      
      Marvell>> i2c mw 4e 1.1 00
      Marvell>> i2c md 4e 0.1 2
      0000: 05 00    ..
      
      On other AXP boards, simply plugging an ECC DIMM should be enough to
      enable ECC support.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      a3ed9789
    • S
      arm: mvebu/armada100: dram.c: Remove CONFIG_SYS_BOARD_DRAM_INIT · 8822fe16
      Stefan Roese 提交于
      CONFIG_SYS_BOARD_DRAM_INIT is not defined anywhere. So lets get rid
      of all references here.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Luka Perkov <luka.perkov@sartura.hr>
      8822fe16
  2. 17 8月, 2015 6 次提交
  3. 15 8月, 2015 14 次提交