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

2024-03-24 Thread Dragan Simic

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@ff49",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ff4c/flash@0",


AFAICT, no RK3308-based board contains an SPI chip, and I'm not 
really

sure where does /spi@ff4c/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@ff4c) 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 "ff4c" 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 


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

2024-03-24 Thread Jonas Karlman
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 
 ---
 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@ff39",
 +  [BROM_BOOTSOURCE_SPINOR] = "/spi@ff3a/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@ff37",
  };

 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@ff0f",
 +  [BROM_BOOTSOURCE_SPINOR] = "/spi@ff13/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@ff11/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@ff0c",
  };

 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@ff49",
 +  [BROM_BOOTSOURCE_SPINOR] = "/spi@ff4c/flash@0",
>>>
>>> AFAICT, no RK3308-based board contains an SPI chip, and I'm not really
>>> sure where does /spi@ff4c/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@ff4c) 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 "ff4c" 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



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

2024-03-24 Thread Dragan Simic

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 
---
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@ff39",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ff3a/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@ff37",
 };

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@ff0f",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ff13/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@ff11/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@ff0c",
 };

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@ff49",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ff4c/flash@0",


AFAICT, no RK3308-based board contains an SPI chip, and I'm not really
sure where does /spi@ff4c/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@ff4c) 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 "ff4c" string
in the entire arch/arm/dts directory.


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

2024-03-24 Thread Jonas Karlman
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 
>> ---
>> 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@ff39",
>> +[BROM_BOOTSOURCE_SPINOR] = "/spi@ff3a/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@ff37",
>>  };
>>
>> 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@ff0f",
>> +[BROM_BOOTSOURCE_SPINOR] = "/spi@ff13/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@ff11/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@ff0c",
>>  };
>>
>> 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@ff49",
>> +[BROM_BOOTSOURCE_SPINOR] = "/spi@ff4c/flash@0",
> 
> AFAICT, no RK3308-based board contains an SPI chip, and I'm not really
> sure where does /spi@ff4c/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@ff4c) node so this adds correct node path.

Regards,
Jonas

> 
>>  [BROM_BOOTSOURCE_SD] = "/mmc@ff48",
>>  };
>>
>> 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@ff0f",
>> +[BROM_BOOTSOURCE_SPINOR] = "/spi@ff12/flash@0",
> 
> This is fine.
> 
>>  [BROM_BOOTSOURCE_SD] = "/mmc@ff0c",
>>  };
>>
>> 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@ffc5",
>> +[BROM_BOOTSOURCE_SPINOR] = "/spi@ffc9/flash@0",
> 
> This is also fine.
> 
>>  [BROM_BOOTSOURCE_SD] = "/mmc@ffc6",
>>  };



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

2024-03-24 Thread Dragan Simic

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 
---
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@ff39",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ff3a/flash@0",


AFAICT, no PX30-based board contains an SPI chip, but making this
future-proof perhaps shouldn't hurt.


[BROM_BOOTSOURCE_SD] = "/mmc@ff37",
 };

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@ff0f",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ff13/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@ff11/flash@0.  
The

same also applies to arch/arm/dts/rk3288-firefly.dtsi, for example.


[BROM_BOOTSOURCE_SD] = "/mmc@ff0c",
 };

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@ff49",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ff4c/flash@0",


AFAICT, no RK3308-based board contains an SPI chip, and I'm not really
sure where does /spi@ff4c/flash@0 come from.


[BROM_BOOTSOURCE_SD] = "/mmc@ff48",
 };

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@ff0f",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ff12/flash@0",


This is fine.


[BROM_BOOTSOURCE_SD] = "/mmc@ff0c",
 };

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@ffc5",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ffc9/flash@0",


This is also fine.


[BROM_BOOTSOURCE_SD] = "/mmc@ffc6",
 };


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

2024-03-22 Thread Jonas Karlman
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 
---
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@ff39",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ff3a/flash@0",
[BROM_BOOTSOURCE_SD] = "/mmc@ff37",
 };
 
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@ff0f",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ff13/flash@0",
[BROM_BOOTSOURCE_SD] = "/mmc@ff0c",
 };
 
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@ff49",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ff4c/flash@0",
[BROM_BOOTSOURCE_SD] = "/mmc@ff48",
 };
 
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@ff0f",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ff12/flash@0",
[BROM_BOOTSOURCE_SD] = "/mmc@ff0c",
 };
 
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@ffc5",
+   [BROM_BOOTSOURCE_SPINOR] = "/spi@ffc9/flash@0",
[BROM_BOOTSOURCE_SD] = "/mmc@ffc6",
 };
 
-- 
2.43.2