
Hi Tom,
On 2024/12/21 00:29, Tom Rini wrote:
On Fri, Dec 20, 2024 at 05:22:28PM +0100, Jonas Karlman wrote:
Hi Simon,
On 2024-12-13 04:09, Simon Glass wrote:
Hi Jonas,
On Thu, 12 Dec 2024 at 16:57, Jonas Karlman jonas@kwiboo.se wrote:
This is a continuation of an RFC [1] sent back in August.
All Rockchip aarch64 boards, beside bob and kevin, use TPL to initialize DRAM and SPL to load FIT with U-Boot proper and TF-A.
Bob and kevin currently does not use TPL and instead initialize DRAM in SPL and directly after tries to load a FIT with only U-Boot proper.
This series migrate bob and kevin to also use TPL to uniform TPL/SPL use for all Rockchip aarch64 boards.
Features and changes in this series:
- Use of Rockchip aarch64 common bss and stack addresses
- SHA256 checksum/signature check of FIT images in SPL
- Use of dcache to speed up checksum check in SPL
- SDMA use for eMMC access to speed up read/write in U-Boot proper
- FIT location moved from 0x40000 to 0xE0000 in SPI flash
Changes sinc RFC:
- Include pinctrl props and enable regulators based on DT in SPL
- Drop bob and kevin board specific code from common rk3399.c
Please note that I do not have any bob or kevin so this has only been compile tested and the original RFC [1] was runtime tested by Simon.
[1] https://patchwork.ozlabs.org/patch/1967517/
Jonas Karlman (12): rockchip: rk3399: Fix TPL build of bob and kevin rockchip: rk3399-gru: Use SYS_SPI_U_BOOT_OFFS value in offset prop rockchip: rk3399-gru: Move SPI flash payload offset for bob and kevin rockchip: rk3399-gru: Fix include of TPL in u-boot.rom image rockchip: rk3399-gru: Use TPL with common bss and stack addresses rockchip: rk3399-gru: Include binman generated FIT in u-boot.rom image rockchip: rk3399: Drop common Kconfig options already implied rockchip: rk3399-gru: Remove unused nodes from xPL control FDT rockchip: rk3399-gru: Enable dcache and signature validation in SPL rockchip: rk3399-gru: Use SDMA mode to read from eMMC rockchip: rk3399-gru: Include pinctrl and regulators in SPL rockchip: rk3399: Drop unneeded bob and kevin board specific code
arch/arm/dts/rk3399-gru-u-boot.dtsi | 29 ++++++++++++++++++++++++-- arch/arm/dts/rk3399-u-boot.dtsi | 14 +++++++++++-- arch/arm/mach-rockchip/rk3399/Kconfig | 12 ----------- arch/arm/mach-rockchip/rk3399/rk3399.c | 23 +------------------- configs/chromebook_bob_defconfig | 23 ++++++-------------- configs/chromebook_kevin_defconfig | 23 ++++++-------------- 6 files changed, 52 insertions(+), 72 deletions(-)
Thank you for doing this!
I'm not sure if you have access to your own denx tree. If so, kevin and bob are in the sjg lab. If not, you can sign up at sjg.u-boot.org to get access to my tree.
I do not have access to my own tree.
This series eems to work for me, except for the final commit, which hangs with no output.
Strange, guess we can just skip the last patch, should I send a v2 without the last patch?
I wonder if it is not setting io_vsel or the regulators that is causing an issue. Setting io_vsel is probably delayed until U-Boot proper instead of being set very early in SPL (due to no IO-domain driver in SPL), and enable of regulators may happen later in SPL with the last patch applied.
There is also some code in board/google/gru/gru.c that mention a delay related to the regulators may be needed, however board_early_init_f() is never called as following can be found in .config:
# CONFIG_BOARD_EARLY_INIT_F is not set
Will you be able to test with just the rk_setreg(&grf->io_vsel, 1 << 0); and remove the spl_gpio_output/set_pull parts of the last patch before I send a v2?
If you send a v2, please include disabling TPL_BLOBLIST and then the boards should boot in mainline as well as Simon's tree. Thanks!
Do you mean add below code in configs/chromebook_bob_defconfig and configs/chromebook_kevin_defconfig will make this patch set available? # CONFIG_TPL_BLOBLIST is not set If yes, then I can do that when apply the patches.
Thanks, - Kever