1. 29 1月, 2018 1 次提交
  2. 13 12月, 2017 1 次提交
  3. 26 11月, 2017 1 次提交
    • P
      spl: atf: introduce spl_invoke_atf and make bl31_entry private · 1d379090
      Philipp Tomsich 提交于
      This adds a new interface spl_invoke_atf() that takes a spl_image_info
      argument and then derives the necessary parameters for the ATF entry.
      Based on the additional information recorded (into /fit-images) from
      the FIT loadables, we can now easily locate the next boot stage.
      
      We now pass a pointer to a FDT as the platform-specific parameter
      pointer to ATF (so we don't run into the future headache of every
      board/platform defining their own proprietary tag-structure), as
      FDT access is already available in ATF.
      
      With the necessary infrastructure in place, we can now update the
      support for the ARM Trusted Firmware to dispatch into the
      spl_invoke_atf function only if a IH_OS_ARM_TRUSTED_FIRMWARE image is
      loaded.
      Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      1d379090
  4. 17 11月, 2017 1 次提交
  5. 09 10月, 2017 1 次提交
    • Y
      spl: fix assignment of board info to global data · d1fc0a31
      York Sun 提交于
      Commit 15eb1d43 ("spl: reorder the assignment of board info to
      global data") intended to move assignment of board info earlier,
      into board_init_r(). However, function preload_console_init() is
      called either from spl_board_init() or from board_init_f(). For the
      latter case, the board info assignment is much earlier than proposed
      board_init_r(). Create a new function to fill gd->bd and call this
      function when needed.
      Signed-off-by: NYork Sun <york.sun@nxp.com>
      CC: Lokesh Vutla <lokeshvutla@ti.com>
      CC: Ravi Babu <ravibabu@ti.com>
      CC: Lukasz Majewski <lukma@denx.de>
      CC: Tom Rini <trini@konsulko.com>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      d1fc0a31
  6. 22 9月, 2017 1 次提交
  7. 13 9月, 2017 1 次提交
  8. 29 8月, 2017 1 次提交
  9. 13 8月, 2017 2 次提交
  10. 27 7月, 2017 1 次提交
  11. 09 6月, 2017 1 次提交
  12. 06 6月, 2017 1 次提交
    • S
      bootstage: Support SPL · 824bb1b4
      Simon Glass 提交于
      At present bootstage only supports U-Boot proper. But SPL can also consume
      boot time so it is useful to have the record start there.
      
      Add bootstage support to SPL. Also support stashing the timing information
      when SPL finishes so that it can be picked up and reported by U-Boot
      proper. This provides a full boot time record, excluding only the time
      taken by the boot ROM.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      824bb1b4
  13. 15 5月, 2017 1 次提交
  14. 12 5月, 2017 2 次提交
  15. 08 5月, 2017 1 次提交
    • V
      spl: make image arg or fdt blob address reconfigurable · 5bf5250e
      Vikas Manocha 提交于
      At present fdt blob or argument address being passed to kernel is fixed at
      compile time using macro CONFIG_SYS_SPL_ARGS_ADDR. FDT blob from
      different media like nand, nor flash are copied to the address pointed
      by the macro.
      The problem is, it makes args/fdt blob compulsory to copy which is not required
      in cases like for NOR Flash. This patch removes this limitation.
      Signed-off-by: NVikas Manocha <vikas.manocha@st.com>
      5bf5250e
  16. 08 4月, 2017 1 次提交
  17. 21 3月, 2017 1 次提交
  18. 19 3月, 2017 2 次提交
  19. 17 3月, 2017 1 次提交
    • E
      spl: Add spl_early_init() · 340f418a
      Eddie Cai 提交于
      At present malloc_base/_limit/_ptr are not initialised in spl_init() when
      we call spl_init() in board_init_f(). This is due to a recent change aimed
      at avoiding overwriting the malloc area set up on some boards by
      spl_relocate_stack_gd().
      
      However if CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN is not defined, we now
      skip setting up the memory area in spl_init() which is obviously wrong.
      
      To fix this, add a new function spl_early_init() which can be called in
      board_init_f().
      
      Fixes: b3d2861e (spl: Remove overwrite of relocated malloc limit)
      Signed-off-by: NEddie Cai <eddie.cai.linux@gmail.com>
      Rewrote spl_{,early_}init() to avoid duplicate code:
      Rewrite/expand commit message:
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      Reviewed-by: NEddie Cai <eddie.cai.linux@gmail.com>
      340f418a
  20. 29 1月, 2017 2 次提交
    • M
      Revert "armv8: release slave cores from CPU_RELEASE_ADDR" · 7b74c4b6
      Masahiro Yamada 提交于
      This reverts commit 8c36e99f.
      
      There is misunderstanding in commit 8c36e99f ("armv8: release
      slave cores from CPU_RELEASE_ADDR").  How to bring the slave cores
      into U-Boot proper is platform-specific.  So, it should be cared
      in SoC/board files instead of common/spl/spl.c.  As you see SPL
      is the acronym of Secondary Program Loader, there is generally
      something that runs before SPL (the First one is usually Boot ROM).
      
      How to wake up slave cores from the Boot ROM is really SoC specific.
      So, the intention for the spin table support is to bring the slave
      cores into U-Boot proper in an SoC specific manner.  (this must be
      done after relocation.  see below.)
      
      If you bring the slaves into SPL, it is SoC own code responsibility
      to transfer them to U-Boot proper.  The Spin Table defines the
      interface between a boot-loader and Linux kernel.  It is unrelated
      to the interface between SPL and U-Boot proper.
      
      One more thing is missing in the commit; spl_image->entry_point
      points to the entry address of U-Boot *before* relocation.  U-Boot
      relocates itself between board_init_f() and board_init_r().  This
      means the master CPU sees the different copy of the spin code than
      the slave CPUs enter.  The spin_table_update_dt() protects the code
      *after* relocation.  As a result, the slave CPUs spin in unprotected
      code, which leads to unstable behavior.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      7b74c4b6
    • A
      spl: Remove overwrite of relocated malloc limit · b3d2861e
      Andrew F. Davis 提交于
      spl_init on some boards is called after stack and heap relocation, on
      some platforms spl_relocate_stack_gd is called to handle setting the
      limit to its value CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN when simple
      SPL malloc is enabled during relocation. spl_init should then not
      re-assign the old pre-relocation limit when this is defined.
      Signed-off-by: NAndrew F. Davis <afd@ti.com>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      b3d2861e
  21. 21 1月, 2017 1 次提交
  22. 15 1月, 2017 3 次提交
    • O
      armv8: release slave cores from CPU_RELEASE_ADDR · 8c36e99f
      Oded Gabbay 提交于
      When using ARMv8 with ARMV8_SPIN_TABLE=y, we want the slave cores to
      wait on spin_table_cpu_release_addr, until the Linux kernel will "wake" them
      by writing to that location. The address of spin_table_cpu_release_addr is
      transferred to the kernel using the device tree that is updated by
      spin_table_update_dt().
      
      However, if we also use SPL, then the slave cores are stuck at
      CPU_RELEASE_ADDR instead and as a result, never wake up.
      
      This patch releases the slave cores by writing spl_image->entry_point to
      CPU_RELEASE_ADDR location before the end of the SPL code
      (at jump_to_image_no_args()).
      
      That way, the slave cores will start to execute the u-boot and will get to
      the spin-table code and wait on the correct address
      (spin_table_cpu_release_addr).
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      Cc: Simon Glass <sjg@chromium.org>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      8c36e99f
    • S
      spl: move RAM boot support in separate file · 22802f4e
      Stefan Agner 提交于
      Add a new top-level config option so support booting an image stored
      in RAM. This allows to move the RAM boot support into a sparate file
      and having a single condition to compile that file.
      Signed-off-by: NStefan Agner <stefan.agner@toradex.com>
      22802f4e
    • T
      Kconfig: CONFIG_OF_PLATDATA doesn't really exist · 7f73ca48
      Tom Rini 提交于
      There is no CONFIG_OF_PLATDATA, only CONFIG_SPL_OF_PLATDATA, so rename
      the two references to CONFIG_OF_PLATDATA to CONFIG_SPL_OF_PLATDATA.
      Signed-off-by: NTom Rini <trini@konsulko.com>
      7f73ca48
  23. 04 1月, 2017 1 次提交
  24. 09 12月, 2016 4 次提交
  25. 03 12月, 2016 1 次提交
    • S
      dm: core: Handle global_data moving in SPL · 2f11cd91
      Simon Glass 提交于
      When CONFIG_SPL_STACK_R is enabled, and spl_init() is called before
      board_init_r(), spl_relocate_stack_gd() will move global_data to a new
      place in memory. This affects driver model since it uses a list for the
      uclasses. Unless this is updated the list will become invalid. When
      looking for a non-existent uclass, such as when adding a new one, the loop
      in uclass_find() may continue forever, thus causing a hang.
      
      Add a function to correct this rather obscure bug.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      2f11cd91
  26. 29 11月, 2016 1 次提交
  27. 07 10月, 2016 5 次提交