Hi Jonas and Kever Thanks for clarifying the situation Kever! Please see below my proposition. What do you think?
On lis 02, 2023 15:27, Kever Yang wrote: > Hi Jonas, > > On 2023/11/1 00:45, Jonas Karlman wrote: > > On 2023-10-31 17:13, Slawomir Stepien wrote: > > > Mark the flash@0 as BROM_BOOTSOURCE_SPINAND. > > > Fixes use of same-as-spl in u-boot,spl-boot-order prop on Orange Pi 5 > > > Plus. > > > > > > Signed-off-by: Slawomir Stepien <s...@poczta.fm> > > > --- > > > arch/arm/mach-rockchip/rk3588/rk3588.c | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/arch/arm/mach-rockchip/rk3588/rk3588.c > > > b/arch/arm/mach-rockchip/rk3588/rk3588.c > > > index b1f535fad5..0c8f10a97c 100644 > > > --- a/arch/arm/mach-rockchip/rk3588/rk3588.c > > > +++ b/arch/arm/mach-rockchip/rk3588/rk3588.c > > > @@ -42,6 +42,7 @@ const char * const boot_devices[BROM_LAST_BOOTSOURCE + > > > 1] = { > > > [BROM_BOOTSOURCE_SPINOR] = "/spi@fe2b0000/flash@0", > > > [BROM_BOOTSOURCE_SD] = "/mmc@fe2c0000", > > > [BROM_BOOTSOURCE_SPINOR_RK3588] = "/spi@fe2b0000/flash@0", > > > + [BROM_BOOTSOURCE_SPINAND] = "/spi@fe2b0000/flash@0", > > This is not correct, please see [1] for an open discussion on this issue. > > > > Kever: Do you have any more insights into the question on [1]. > > As I reply in another mail, the FSPI M0~M2 is all the option for SPI > NAND/NOR in rk3588. So based on that info, something like this?: 1. BROM_BOOTSOURCE_SPINAND - removed (not used at all). 2. BROM_BOOTSOURCE_SPINOR_RK3588 - removed (not needed after this patch). 3. Updated also the rk3568.c since it also has FSPI M0 (only this one mux), so I would assume it will be value of 3 there too. 4. The BROM_BOOTSOURCE_SPINOR is still there, since the rk3399 does not use the FSPI (that is my understanding after checking the TRM doc). diff --git a/arch/arm/include/asm/arch-rockchip/bootrom.h b/arch/arm/include/asm/arch-rockchip/bootrom.h index 7dab18fbc3..9f16d28aec 100644 --- a/arch/arm/include/asm/arch-rockchip/bootrom.h +++ b/arch/arm/include/asm/arch-rockchip/bootrom.h @@ -46,9 +46,10 @@ enum { BROM_BOOTSOURCE_NAND = 1, BROM_BOOTSOURCE_EMMC = 2, BROM_BOOTSOURCE_SPINOR = 3, - BROM_BOOTSOURCE_SPINAND = 4, + BROM_BOOTSOURCE_FSPI_M0 = 3, + BROM_BOOTSOURCE_FSPI_M1 = 4, BROM_BOOTSOURCE_SD = 5, - BROM_BOOTSOURCE_SPINOR_RK3588 = 6, + BROM_BOOTSOURCE_FSPI_M2 = 6, BROM_BOOTSOURCE_USB = 10, BROM_LAST_BOOTSOURCE = BROM_BOOTSOURCE_USB }; diff --git a/arch/arm/mach-rockchip/rk3568/rk3568.c b/arch/arm/mach-rockchip/rk3568/rk3568.c index 69ef19cc85..ccb63c6a88 100644 --- a/arch/arm/mach-rockchip/rk3568/rk3568.c +++ b/arch/arm/mach-rockchip/rk3568/rk3568.c @@ -83,7 +83,7 @@ static struct mm_region rk3568_mem_map[] = { const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = { [BROM_BOOTSOURCE_EMMC] = "/mmc@fe310000", - [BROM_BOOTSOURCE_SPINOR] = "/spi@fe300000/flash@0", + [BROM_BOOTSOURCE_FSPI_M0] = "/spi@fe300000/flash@0", [BROM_BOOTSOURCE_SD] = "/mmc@fe2b0000", }; diff --git a/arch/arm/mach-rockchip/rk3588/rk3588.c b/arch/arm/mach-rockchip/rk3588/rk3588.c index b1f535fad5..c36f783d29 100644 --- a/arch/arm/mach-rockchip/rk3588/rk3588.c +++ b/arch/arm/mach-rockchip/rk3588/rk3588.c @@ -39,9 +39,10 @@ DECLARE_GLOBAL_DATA_PTR; const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = { [BROM_BOOTSOURCE_EMMC] = "/mmc@fe2e0000", - [BROM_BOOTSOURCE_SPINOR] = "/spi@fe2b0000/flash@0", + [BROM_BOOTSOURCE_FSPI_M0] = "/spi@fe2b0000/flash@0", [BROM_BOOTSOURCE_SD] = "/mmc@fe2c0000", - [BROM_BOOTSOURCE_SPINOR_RK3588] = "/spi@fe2b0000/flash@0", + [BROM_BOOTSOURCE_FSPI_M1] = "/spi@fe2b0000/flash@0", + [BROM_BOOTSOURCE_FSPI_M2] = "/spi@fe2b0000/flash@0", }; static struct mm_region rk3588_mem_map[] = { > > Is my assessment about the value BootRom writes to bootsource reg > > correct, see [1]? > > > > - FSPI (M0): 3 > > - FSPI (M1): 4 > > - FSPI (M2): 6 > > > > [1] > > https://lore.kernel.org/u-boot/b82c02c0-0a37-8553-f498-b03f85394...@kwiboo.se/ > > > > Regards, > > Jonas > > > > > }; > > > static struct mm_region rk3588_mem_map[] = { -- Slawomir Stepien