- 29 1月, 2018 1 次提交
-
-
由 Kever Yang 提交于
SPL and TPL may not always need spl_board_init() at the same time. Signed-off-by: NKever Yang <kever.yang@rock-chips.com> Reviewed-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
- 13 12月, 2017 1 次提交
-
-
由 Simon Glass 提交于
Allow SPL to access binman symbols and use this to get the address of U-Boot. This falls back to CONFIG_SYS_TEXT_BASE if the binman symbol is not available. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
- 26 11月, 2017 1 次提交
-
-
由 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>
-
- 17 11月, 2017 1 次提交
-
-
由 André Draszik 提交于
The maximum length of the name of the image is obviously not sizeof(), which is just the length of a pointer, but IH_NMLEN. fixes: 62cf11c0 ("SPL: Limit image name print length") Signed-off-by: NAndré Draszik <adraszik@tycoint.com> Acked-by: NSimon Glass <sjg@chromium.org>
-
- 09 10月, 2017 1 次提交
-
-
由 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>
-
- 22 9月, 2017 1 次提交
-
-
由 Kever Yang 提交于
Since we may jump to next stage like ATF/OP-TEE instead of U-Boot, we need to stash the bootstage info before it. Signed-off-by: NKever Yang <kever.yang@rock-chips.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
- 13 9月, 2017 1 次提交
-
-
由 Anatolij Gustschin 提交于
With debug enabled, SPL output following these debug prints is on the same line and it is hard to read. Fix it. Signed-off-by: NAnatolij Gustschin <agust@denx.de> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
- 29 8月, 2017 1 次提交
-
-
由 Anatolij Gustschin 提交于
The GPT timer was already initialised in board_init_f() as it is needed in dram init. Do not repeat timer init in board_init_r(). Signed-off-by: NAnatolij Gustschin <agust@denx.de> Acked-by: NStefano Babic <sbabic@denx.de>
-
- 13 8月, 2017 2 次提交
-
-
由 Philipp Tomsich 提交于
Even though there's now a TPL_DM configuration option, the spl logic still checks for SPL_DM and thus does not pick up the proper config option. This introduces the use of CONFIG_IS_ENABLED(DM) in spl.c to always pick up the desired configuration option instead of having a hard-coded check for the SPL variant. Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-
由 Philipp Tomsich 提交于
The (upstream) changes to break up SYS_MALLOC_F_LEN for the full U-Boot and the SPL stage, break TPL (if simple malloc is enabled in TPL). This adds support for a TPL-variant of SYS_MALLOC_F_LEN: - adds TPL_SYS_MALLOC_F_LEN - rewrites a test for CONFIG_SPL_SYS_MALLOC_F_LEN to access CONFIG_VAL(SYS_MALLOC_F_LEN) Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
- 27 7月, 2017 1 次提交
-
-
由 Andy Yan 提交于
Some platforms have very limited SRAM to run SPL code, so there may not be the same amount space for a malloc pool before relocation in the SPL stage as the normal U-Boot stage. Make SPL and (the full) U-Boot stage use independent SYS_MALLOC_F_LEN, so the size of pre-relocation malloc pool can be configured memory space independently. Signed-off-by: NAndy Yan <andy.yan@rock-chips.com> Reviewed-by: NTom Rini <trini@konsulko.com> Acked-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> [fixed up commit-message:] Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
- 09 6月, 2017 1 次提交
-
-
由 Vikas Manocha 提交于
On ARM v7M, the processor will return to ARM mode when executing blx instruction with bit 0 of the address == 0. Always set it to 1 to stay in thumb mode. At present, it is applied only for raw U-Boot. This patch moves it to just before booting next image. This way armv7m will be in thumb mode for any image like raw or image with header like zImage or standard U-Boot. Signed-off-by: NVikas Manocha <vikas.manocha@st.com>
-
- 06 6月, 2017 1 次提交
-
-
由 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>
-
- 15 5月, 2017 1 次提交
-
-
由 Kever Yang 提交于
ATF(ARM Trusted Firmware) is used by ARM arch64 SoCs, find more infomation about ATF at: https://github.com/ARM-software/arm-trusted-firmware SPL is considered as BL2 in ATF terminology, it needs to load other parts of ATF binary like BL31, BL32, SCP-BL30, and BL33(U-Boot). And needs to prepare the parameter for BL31 which including entry and image information for all other images. Then the SPL handle PC to BL31 with the parameter, the BL31 will do the rest of work and at last get into U-Boot(BL33). This patch needs work with patches from Andre for SPL support multi binary in FIT. The entry point of bl31 and bl33 are still using hard code because we still can not get them from the FIT image information. Signed-off-by: NKever Yang <kever.yang@rock-chips.com> Tested-by: NHeiko Stuebner <heiko@sntech.de> Acked-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-
- 12 5月, 2017 2 次提交
-
-
由 B, Ravi 提交于
In single stage bootmode or falcon boot mode, the SPL shall update the device tree that we load with the normal fixups done via arch_fixup_fdt(), when possible (ie we have enough information in this restricted environment to be able to do that still). This will include for example updating them memory nodes. Signed-off-by: NRavi Babu <ravibabu@ti.com> [trini: Reword commit message]
-
由 Lokesh Vutla 提交于
Move the assignment of board info to global data a bit early which is safe, so that ram details can be used to enable caches. Signed-off-by: NLokesh Vutla <lokeshvutla@ti.com> Signed-off-by: NRavi Babu <ravibabu@ti.com> Reviewed-by: NLukasz Majewski <lukma@denx.de> Reviewed-by: NTom Rini <trini@konsulko.com>
-
- 08 5月, 2017 1 次提交
-
-
由 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>
-
- 08 4月, 2017 1 次提交
-
-
由 Vikas Manocha 提交于
On ARM v7M, the processor will return to ARM mode when executing blx instruction with bit 0 of the address == 0. Always set it to 1 to stay in thumb mode. Similar commit: f99993c1 Author: Matt Porter <mporter@konsulko.com> Date: Tue May 5 15:00:23 2015 -0400 common/cmd_boot: keep ARM v7M in thumb mode during do_go_exec() Signed-off-by: NVikas Manocha <vikas.manocha@st.com>
-
- 21 3月, 2017 1 次提交
-
-
由 Tom Rini 提交于
Calls to IS_ENABLED() on a non-y/n option will always be false, even when set. We can correct this by adding a new bool value that is set based on the conditions required for SPL_STACK_R_MALLOC_SIMPLE_LEN to be set instead. Fixes: 340f418a ("spl: Add spl_early_init()") Reported-by: NLokesh Vutla <lokeshvutla@ti.com> Signed-off-by: NTom Rini <trini@konsulko.com> --- Changes in v2: - Fix thinko pointed out by Lokesh
-
- 19 3月, 2017 2 次提交
-
-
由 Andrew F. Davis 提交于
Add a Kconfig option that enables Legacy image support, this allows boards to explicitly disable this, for instance when needed for security reasons. Signed-off-by: NAndrew F. Davis <afd@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com> [trini: Move to common/spl/Kconfig] Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Andrew F. Davis 提交于
CONFIG_SPL_ABORT_ON_RAW_IMAGE causes SPL to abort and move on when it encounters RAW images, express this same functionality as a positive option enabling support for RAW images: CONFIG_SPL_RAW_IMAGE_SUPPORT Also move uses of this to defconfigs. Signed-off-by: NAndrew F. Davis <afd@ti.com> Reviewed-by: NTom Rini <trini@konsulko.com> Reviewed-by: NSimon Glass <sjg@chromium.org> [trini: Rework Kconfig logic a little, move to common/spl/Kconfig] Signed-off-by: NTom Rini <trini@konsulko.com>
-
- 17 3月, 2017 1 次提交
-
-
由 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>
-
- 29 1月, 2017 2 次提交
-
-
由 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>
-
由 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>
-
- 21 1月, 2017 1 次提交
-
-
由 Andrew F. Davis 提交于
Signed-off-by: NAndrew F. Davis <afd@ti.com> Acked-by: NLokesh Vutla <lokeshvutla@ti.com> Acked-by: NMichal Simek <michal.simek@xilinx.com>
-
- 15 1月, 2017 3 次提交
-
-
由 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>
-
由 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>
-
由 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>
-
- 04 1月, 2017 1 次提交
-
-
由 Andre Przywara 提交于
Since entry_point and load_addr are addresses, they should be represented as longs to cover the whole address space and to avoid warning when compiling the SPL in 64-bit. Also adjust debug prints to add the 'l' specifier, where needed. Signed-off-by: NAndre Przywara <andre.przywara@arm.com> Reviewed-by: NAlexander Graf <agraf@suse.de> Reviewed-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com> Acked-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: NJagan Teki <jagan@openedev.com>
-
- 09 12月, 2016 4 次提交
-
-
由 Simon Glass 提交于
This task can be handled by inline code now. Drop this function. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
Rather than have this function figure out the correct loader again, pass it in as a parameter. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
Create a boot_from_devices() function to handle trying each device. This helps to reduce the size of the already-large board_init_r() function. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
It is useful to name each method so that we can print out this name when using the method. Currently this happens using a separate function. In preparation for unifying this, add a name to each method. The name is only available if we have libcommon support (i.e can use printf()). Signed-off-by: NSimon Glass <sjg@chromium.org>
-
- 03 12月, 2016 1 次提交
-
-
由 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>
-
- 29 11月, 2016 1 次提交
-
-
由 Stefan Agner 提交于
Some devices (e.g. dra7xx) support loading to RAM using DFU without having direct boot from RAM support. Make sure the linker list does not contain BOOT_DEVICE_RAM if CONFIG_SPL_RAM_DEVICE is not enabled. Fixes: 98136b2f ("spl: Convert spl_ram_load_image() to use linker list") Signed-off-by: NStefan Agner <stefan.agner@toradex.com> Acked-by: NLukasz Majewski <l.majewski@samsung.com>
-
- 07 10月, 2016 5 次提交
-
-
由 Simon Glass 提交于
There is no need for this to be in the BSS region. By moving it we can delay use of BSS in SPL. This is useful for machines where the BSS region is not in writeable space. On 64-bit x86, SPL runs from SPI flash and it is easier to eliminate BSS use than link SPL to run with BSS at a particular cache-as-RAM (CAR) address. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-
由 Simon Glass 提交于
Upda the SPL FIT code to use the spl_image parameter. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-
由 Simon Glass 提交于
Rather than having a global variable, pass the spl_image as a parameter. This avoids BSS use, and makes it clearer what the function is actually doing. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-
由 Simon Glass 提交于
Add a linker list declaration for this method and remove the explicit switch() code. Update existing users. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-
由 Simon Glass 提交于
Add a linker list declaration for this method and remove the explicit switch() code. We need two variants - one for BOOT_DEVICE_CPGMAC and one for BOOT_DEVICE_USBETH. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-