diff mbox series

[v2,3/3] rockchip: spl: Add SPI NOR flash to boot_devices array

Message ID 20240322205027.3860170-4-jonas@kwiboo.se
State Accepted
Delegated to: Kever Yang
Headers show
Series rockchip: spl: Cache boot source id for later use | expand

Commit Message

Jonas Karlman March 22, 2024, 8:50 p.m. UTC
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(+)

Comments

Dragan Simic March 24, 2024, 4:52 p.m. UTC | #1
Hello Jonas,

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.

>  	[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.

>  	[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.

>  	[BROM_BOOTSOURCE_SD] = "/mmc@ff480000",
>  };
> 
> diff --git a/arch/arm/mach-rockchip/rk3368/rk3368.c
> b/arch/arm/mach-rockchip/rk3368/rk3368.c
> index 651ba1090206..8f5ca1dfa7c9 100644
> --- a/arch/arm/mach-rockchip/rk3368/rk3368.c
> +++ b/arch/arm/mach-rockchip/rk3368/rk3368.c
> @@ -55,6 +55,7 @@ struct mm_region *mem_map = rk3368_mem_map;
> 
>  const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
>  	[BROM_BOOTSOURCE_EMMC] = "/mmc@ff0f0000",
> +	[BROM_BOOTSOURCE_SPINOR] = "/spi@ff120000/flash@0",

This is fine.

>  	[BROM_BOOTSOURCE_SD] = "/mmc@ff0c0000",
>  };
> 
> diff --git a/arch/arm/mach-rockchip/rv1126/rv1126.c
> b/arch/arm/mach-rockchip/rv1126/rv1126.c
> index 8589c46f10aa..40eb9eb7b196 100644
> --- a/arch/arm/mach-rockchip/rv1126/rv1126.c
> +++ b/arch/arm/mach-rockchip/rv1126/rv1126.c
> @@ -15,6 +15,7 @@
> 
>  const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
>  	[BROM_BOOTSOURCE_EMMC] = "/mmc@ffc50000",
> +	[BROM_BOOTSOURCE_SPINOR] = "/spi@ffc90000/flash@0",

This is also fine.

>  	[BROM_BOOTSOURCE_SD] = "/mmc@ffc60000",
>  };
Jonas Karlman March 24, 2024, 5:28 p.m. UTC | #2
Hi Dragan,

On 2024-03-24 17:52, Dragan Simic wrote:
> Hello Jonas,
> 
> 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.

> 
>>  	[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.

> 
>>  	[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.

Regards,
Jonas

> 
>>  	[BROM_BOOTSOURCE_SD] = "/mmc@ff480000",
>>  };
>>
>> diff --git a/arch/arm/mach-rockchip/rk3368/rk3368.c
>> b/arch/arm/mach-rockchip/rk3368/rk3368.c
>> index 651ba1090206..8f5ca1dfa7c9 100644
>> --- a/arch/arm/mach-rockchip/rk3368/rk3368.c
>> +++ b/arch/arm/mach-rockchip/rk3368/rk3368.c
>> @@ -55,6 +55,7 @@ struct mm_region *mem_map = rk3368_mem_map;
>>
>>  const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
>>  	[BROM_BOOTSOURCE_EMMC] = "/mmc@ff0f0000",
>> +	[BROM_BOOTSOURCE_SPINOR] = "/spi@ff120000/flash@0",
> 
> This is fine.
> 
>>  	[BROM_BOOTSOURCE_SD] = "/mmc@ff0c0000",
>>  };
>>
>> diff --git a/arch/arm/mach-rockchip/rv1126/rv1126.c
>> b/arch/arm/mach-rockchip/rv1126/rv1126.c
>> index 8589c46f10aa..40eb9eb7b196 100644
>> --- a/arch/arm/mach-rockchip/rv1126/rv1126.c
>> +++ b/arch/arm/mach-rockchip/rv1126/rv1126.c
>> @@ -15,6 +15,7 @@
>>
>>  const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
>>  	[BROM_BOOTSOURCE_EMMC] = "/mmc@ffc50000",
>> +	[BROM_BOOTSOURCE_SPINOR] = "/spi@ffc90000/flash@0",
> 
> This is also fine.
> 
>>  	[BROM_BOOTSOURCE_SD] = "/mmc@ffc60000",
>>  };
Dragan Simic March 24, 2024, 8:58 p.m. UTC | #3
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.
Jonas Karlman March 24, 2024, 9:23 p.m. UTC | #4
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 <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.

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
Dragan Simic March 24, 2024, 9:28 p.m. UTC | #5
On 2024-03-24 22:23, Jonas Karlman wrote:
> 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:
>>>> On 2024-03-22 21:50, Jonas Karlman wrote:
>>>>> 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/

All good, thanks for explaining it further.  Please add

Reviewed-by: Dragan Simic <dsimic@manjaro.org>
diff mbox series

Patch

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",
 	[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",
 	[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",
 	[BROM_BOOTSOURCE_SD] = "/mmc@ff480000",
 };
 
diff --git a/arch/arm/mach-rockchip/rk3368/rk3368.c b/arch/arm/mach-rockchip/rk3368/rk3368.c
index 651ba1090206..8f5ca1dfa7c9 100644
--- a/arch/arm/mach-rockchip/rk3368/rk3368.c
+++ b/arch/arm/mach-rockchip/rk3368/rk3368.c
@@ -55,6 +55,7 @@  struct mm_region *mem_map = rk3368_mem_map;
 
 const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
 	[BROM_BOOTSOURCE_EMMC] = "/mmc@ff0f0000",
+	[BROM_BOOTSOURCE_SPINOR] = "/spi@ff120000/flash@0",
 	[BROM_BOOTSOURCE_SD] = "/mmc@ff0c0000",
 };
 
diff --git a/arch/arm/mach-rockchip/rv1126/rv1126.c b/arch/arm/mach-rockchip/rv1126/rv1126.c
index 8589c46f10aa..40eb9eb7b196 100644
--- a/arch/arm/mach-rockchip/rv1126/rv1126.c
+++ b/arch/arm/mach-rockchip/rv1126/rv1126.c
@@ -15,6 +15,7 @@ 
 
 const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
 	[BROM_BOOTSOURCE_EMMC] = "/mmc@ffc50000",
+	[BROM_BOOTSOURCE_SPINOR] = "/spi@ffc90000/flash@0",
 	[BROM_BOOTSOURCE_SD] = "/mmc@ffc60000",
 };