1. 07 10月, 2016 17 次提交
  2. 28 9月, 2016 1 次提交
  3. 07 9月, 2016 1 次提交
  4. 22 7月, 2016 2 次提交
  5. 15 7月, 2016 4 次提交
    • S
      sunxi: Support booting from SPI flash · 19e99fb4
      Siarhei Siamashka 提交于
      Allwinner devices support SPI flash as one of the possible
      bootable media type. The SPI flash chip needs to be connected
      to SPI0 pins (port C) to make this work. More information is
      available at:
      
          https://linux-sunxi.org/Bootable_SPI_flash
      
      This patch adds the initial support for booting from SPI flash.
      The existing SPI frameworks are not used in order to reduce the
      SPL code size. Right now the SPL size grows by ~370 bytes when
      CONFIG_SPL_SPI_SUNXI option is enabled.
      
      While there are no popular Allwinner devices with SPI flash at
      the moment, testing can be done using a SPI flash module (it
      can be bought for ~2$ on ebay) and jumper wires with the boards,
      which expose relevant pins on the expansion header. The SPI flash
      chips themselves are very cheap (some prices are even listed as
      low as 4 cents) and should not cost much if somebody decides to
      design a development board with an SPI flash chip soldered on
      the PCB.
      
      Another nice feature of the SPI flash is that it can be safely
      accessed in a device-independent way (since we know that the
      boot ROM is already probing these pins during the boot time).
      And if, for example, Olimex boards opted to use SPI flash instead
      of EEPROM, then they would have been able to have U-Boot installed
      in the SPI flash now and boot the rest of the system from the SATA
      hard drive. Hopefully we may see new interesting Allwinner based
      development boards in the future, now that the software support
      for the SPI flash is in a better shape :-)
      
      Testing can be done by enabling the CONFIG_SPL_SPI_SUNXI option
      in a board defconfig, then building U-Boot and finally flashing
      the resulting u-boot-sunxi-with-spl.bin binary over USB OTG with
      a help of the sunxi-fel tool:
      
         sunxi-fel spiflash-write 0 u-boot-sunxi-with-spl.bin
      
      The device needs to be switched into FEL (USB recovery) mode first.
      The most suitable boards for testing are Orange Pi PC and Pine64.
      Because these boards are cheap, have no built-in NAND/eMMC and
      expose SPI0 pins on the Raspberry Pi compatible expansion header.
      The A13-OLinuXino-Micro board also can be used.
      Signed-off-by: NSiarhei Siamashka <siarhei.siamashka@gmail.com>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      19e99fb4
    • S
      dm: spl: Bind in all devices in SPL with of-platdata · 7d23b9cf
      Simon Glass 提交于
      When CONFIG_OF_PLATDATA is enabled, we cannot use the u-boot,dm-pre-reloc
      device tree property since the device tree is not available. However,
      dt-platdata.c only includes devices which would have been present in the
      device tree, and we can assume that all such devices are needed for SPL.
      If they were not needed, they would have been omitted to save space.
      
      So in this case, bind all devices regardless of the u-boot,dm-pre-reloc
      setting. This avoids needing to add a DM_FLAG_PRE_RELOC to every driver,
      thus affecting U-Boot proper also.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      7d23b9cf
    • S
      dm: spl: Don't set up device tree with of-platdata · d223e0a8
      Simon Glass 提交于
      When this feature is enabled, we should not access the device tree.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      d223e0a8
    • S
      spl: Drop include of i2c.h · 12c550d4
      Simon Glass 提交于
      This file does not appear to use I2C, so drop this include.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      12c550d4
  6. 10 6月, 2016 1 次提交
  7. 03 6月, 2016 1 次提交
  8. 02 6月, 2016 1 次提交
    • M
      spl: Remove bogus GD_FLG_SPL_INIT check · 12546676
      Marek Vasut 提交于
      Remove the check for GD_FLG_SPL_INIT in spl_relocate_stack_gd().
      The check will always fail. This is because spl_relocate_stack_gd()
      is called from ARM's crt0.S and it is called before board_init_r().
      The board_init_r() calls spl_init(), which sets the GD_FLG_SPL_INIT
      flag.
      
      Note that reserving the malloc area in RAM is not a problem even
      if the GD_FLG_SPL_INIT flag is not set.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Pavel Machek <pavel@denx.de>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Stephen Warren <swarren@nvidia.com>
      12546676
  9. 24 5月, 2016 2 次提交
  10. 17 5月, 2016 2 次提交
    • M
      SPL: Add CONFIG_SPL_ABORT_ON_RAW_IMAGE · e0727515
      Marek Vasut 提交于
      When defined, SPL will proceed to another boot method
      if the image it has loaded does not have a signature.
      This is useful if the subsequent boot methods are much
      more complex.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Stefano Babic <sbabic@denx.de>
      Cc: Peng Fan <van.freenix@gmail.com>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      e0727515
    • M
      SPL: Let spl_parse_image_header() return value · 7e0f2267
      Marek Vasut 提交于
      Allow the spl_parse_image_header() to return value. This is convenient
      for controlling the SPL boot flow if the loaded image is corrupted.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      Cc: Peng Fan <van.freenix@gmail.com>
      Cc: Stefano Babic <sbabic@denx.de>
      Cc: Tom Rini <trini@konsulko.com>
      7e0f2267
  11. 24 3月, 2016 1 次提交
  12. 14 1月, 2016 1 次提交
    • A
      arm: move gd handling outside of C code · adc421e4
      Albert ARIBAUD 提交于
      As of gcc 5.2.1 for Thumb-1, it is not possible any
      more to assign gd from C code, as gd is mapped to r9,
      and r9 may now be saved in the prolog sequence, and
      restored in the epilog sequence, of any C functions.
      
      Therefore arch_setup_gd(), which is supposed to set
      r9, may actually have no effect, causing U-Boot to
      use a bad address to access GD.
      
      Fix this by never calling arch_setup_gd() for ARM,
      and instead setting r9 in arch/arm/lib/crt0.S, to
      the value returned by board_init_f_alloc_reserve().
      Signed-off-by: NAlbert ARIBAUD <albert.u.boot@aribaud.net>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      adc421e4
  13. 14 12月, 2015 1 次提交
  14. 19 11月, 2015 5 次提交