
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 jonas@kwiboo.se
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.