]> git.dujemihanovic.xyz Git - u-boot.git/commit
rockchip: include: asm: fix entering download mode rk3066
authorJohan Jonker <jbx6244@gmail.com>
Fri, 27 Oct 2023 18:35:37 +0000 (20:35 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 10 Nov 2023 15:58:56 +0000 (10:58 -0500)
commit8ffa9ed295909a638932167486b62ff1adcaa7a3
tree927b3dea3d3e4dcc5d090acffde47e6877ab2d07
parentc7b4881ca4c3d0524e04870445b2ad30314e1d4e
rockchip: include: asm: fix entering download mode rk3066

Keep track of the re-entries with help of the lr register.
This binary can be re-used and called from various BROM functions.
Only when it's called from the part that handles SPI, NAND or EMMC
hardware it needs to early return to BROM ones.
In download mode when it handles data on USB OTG and UART0
this section must be skipped.

Unlike newer Rockchip SoC models the rk3066 BROM code does not have built-in
support to enter download mode on return to BROM. This binary must check
the boot mode register for the BOOT_BROM_DOWNLOAD flag and reset if it's set.
It then returns to BROM to the end of the function that reads boot blocks.
From there the BROM code goes into a download mode and waits for data
on USB OTG and UART0.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
arch/arm/include/asm/arch-rk3066/boot0.h
arch/arm/mach-rockchip/Kconfig
arch/arm/mach-rockchip/rk3066/Kconfig