On 2024-03-24 21:58, Dragan Simic wrote: > On 2024-03-24 18:28, Jonas Karlman wrote: >> On 2024-03-24 17:52, Dragan Simic wrote: >>> Please see my comments below. >>> >>> On 2024-03-22 21:50, Jonas Karlman wrote: >>>> Add missing boot source id <-> device tree node path mapping for SPI >>>> NOR >>>> flash on PX30, RK3288, RK3308, RK3368 and RV1126. >>>> >>>> Signed-off-by: Jonas Karlman <[email protected]> >>>> --- >>>> v2: >>>> - New patch >>>> --- >>>> arch/arm/mach-rockchip/px30/px30.c | 1 + >>>> arch/arm/mach-rockchip/rk3288/rk3288.c | 1 + >>>> arch/arm/mach-rockchip/rk3308/rk3308.c | 1 + >>>> arch/arm/mach-rockchip/rk3368/rk3368.c | 1 + >>>> arch/arm/mach-rockchip/rv1126/rv1126.c | 1 + >>>> 5 files changed, 5 insertions(+) >>>> >>>> diff --git a/arch/arm/mach-rockchip/px30/px30.c >>>> b/arch/arm/mach-rockchip/px30/px30.c >>>> index b4f655fa4b3e..2ec3289d75b7 100644 >>>> --- a/arch/arm/mach-rockchip/px30/px30.c >>>> +++ b/arch/arm/mach-rockchip/px30/px30.c >>>> @@ -19,6 +19,7 @@ >>>> >>>> const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = { >>>> [BROM_BOOTSOURCE_EMMC] = "/mmc@ff390000", >>>> + [BROM_BOOTSOURCE_SPINOR] = "/spi@ff3a0000/flash@0", >>> >>> AFAICT, no PX30-based board contains an SPI chip, but making this >>> future-proof perhaps shouldn't hurt. >> >> The rk3326-odroid-go2 variant of PX30 has a jedec,spi-nor node. > > Ah, I see, I missed that. Thanks for the clarification. > >>>> [BROM_BOOTSOURCE_SD] = "/mmc@ff370000", >>>> }; >>>> >>>> diff --git a/arch/arm/mach-rockchip/rk3288/rk3288.c >>>> b/arch/arm/mach-rockchip/rk3288/rk3288.c >>>> index c77c56c1dab5..70cf50029121 100644 >>>> --- a/arch/arm/mach-rockchip/rk3288/rk3288.c >>>> +++ b/arch/arm/mach-rockchip/rk3288/rk3288.c >>>> @@ -28,6 +28,7 @@ DECLARE_GLOBAL_DATA_PTR; >>>> >>>> const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = { >>>> [BROM_BOOTSOURCE_EMMC] = "/mmc@ff0f0000", >>>> + [BROM_BOOTSOURCE_SPINOR] = "/spi@ff130000/flash@0", >>> >>> Using spi2 for a flash chip applies to some RK3288-based boards, but >>> AFAICT not to all of them. For example, arch/arm/dts/rk3288-evb.dtsi >>> uses spi0 for a flash chip, which in turn translates to >>> /spi@ff110000/flash@0. The same also applies to >>> arch/arm/dts/rk3288-firefly.dtsi, for example. >> >> The RK3288 TRM explicitly mention that it can boot from SPI2 CS0. >> >> Also I can only find jedec,spi-nor reference in rk3288-phycore-som.dtsi >> and rk3288-veyron.dtsi, nothing in rk3288-evb.dtsi or >> rk3288-firefly.dtsi. > > Oh, I see now, you're right. I've checked the Firefly-RK3288 schematic > and it just exposes the spi0 interface on one of its expansion headers. > >>>> [BROM_BOOTSOURCE_SD] = "/mmc@ff0c0000", >>>> }; >>>> >>>> diff --git a/arch/arm/mach-rockchip/rk3308/rk3308.c >>>> b/arch/arm/mach-rockchip/rk3308/rk3308.c >>>> index 27a748327e31..b3ffabc5449a 100644 >>>> --- a/arch/arm/mach-rockchip/rk3308/rk3308.c >>>> +++ b/arch/arm/mach-rockchip/rk3308/rk3308.c >>>> @@ -141,6 +141,7 @@ enum { >>>> >>>> const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = { >>>> [BROM_BOOTSOURCE_EMMC] = "/mmc@ff490000", >>>> + [BROM_BOOTSOURCE_SPINOR] = "/spi@ff4c0000/flash@0", >>> >>> AFAICT, no RK3308-based board contains an SPI chip, and I'm not really >>> sure where does /spi@ff4c0000/flash@0 come from. >> >> RK3308 TRM mention that it can boot from the SFC. And yes there is no >> upstream board that currently have a jedec,spi-nor node, it however >> have the sfc (spi@ff4c0000) node so this adds correct node path. > > Hmm, I see no sfc node in any of the arch/arm/dts/rk3308* files? > Maybe I'm missing something, but there's also no "ff4c0000" string > in the entire arch/arm/dts directory.
The rk3308 DTs in U-Boot is very outdated so the sfc node cannot be found in current master branch. The sfc node is part of linux upstream DT, should also match in dts/upstream in next branch and after the rk3308 DT sync series [1]. rockchip: rk3308: Sync DT with linux v6.8 and update defconfigs: [1] https://patchwork.ozlabs.org/cover/1912830/ Regards, Jonas

