All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] rk3399: boot_devices fix spinor node name
@ 2021-05-26  9:32 Artem Lapkin
  2021-06-01 12:09 ` Kever Yang
  2021-08-11  9:45 ` Kever Yang
  0 siblings, 2 replies; 4+ messages in thread
From: Artem Lapkin @ 2021-05-26  9:32 UTC (permalink / raw)
  To: kever.yang; +Cc: sjg, philipp.tomsich, jagan, sunil, u-boot, art, nick, gouwa

Problem: board_spl_was_booted_from return wrong boot_devices[3] value 
/spi@ff1d0000 and same-as-spl dont work properly for SPINOR flash
because arch/arm/mach-rockchip/spl-boot-order.c spl_node_to_boot_device 
need parse SPINOR flash node as UCLASS_SPI_FLASH

spl-boot-order: same-as-spl > *** BOOT_SOURCE_ID 3 (2:emmc 3:spi 5:sd ...
/spi@ff1d0000 > board_boot_order: could not map node @618 to a boot-device
/sdhci@fe330000 > /mmc@fe320000

Solution: just change it to /spi@ff1d0000/flash@0

spl-boot-order: same-as-spl > *** BOOT_SOURCE_ID 3 (2:emmc 3:spi 5:sd ...
/spi@ff1d0000/flash@0 > /sdhci@fe330000 > /mmc@fe320000

Signed-off-by: Artem Lapkin <art@khadas.com>
---
 arch/arm/mach-rockchip/rk3399/rk3399.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
index 869d2159..69e0c8c2 100644
--- a/arch/arm/mach-rockchip/rk3399/rk3399.c
+++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
@@ -28,7 +28,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
 	[BROM_BOOTSOURCE_EMMC] = "/sdhci@fe330000",
-	[BROM_BOOTSOURCE_SPINOR] = "/spi@ff1d0000",
+	[BROM_BOOTSOURCE_SPINOR] = "/spi@ff1d0000/flash@0",
 	[BROM_BOOTSOURCE_SD] = "/mmc@fe320000",
 };
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] rk3399: boot_devices fix spinor node name
  2021-05-26  9:32 [PATCH] rk3399: boot_devices fix spinor node name Artem Lapkin
@ 2021-06-01 12:09 ` Kever Yang
  2021-06-02  2:19   ` Art Nikpal
  2021-08-11  9:45 ` Kever Yang
  1 sibling, 1 reply; 4+ messages in thread
From: Kever Yang @ 2021-06-01 12:09 UTC (permalink / raw)
  To: Artem Lapkin; +Cc: sjg, jagan, sunil, u-boot, art, nick, gouwa

Hi Artem,

On 2021/5/26 下午5:32, Artem Lapkin wrote:
> Problem: board_spl_was_booted_from return wrong boot_devices[3] value
> /spi@ff1d0000 and same-as-spl dont work properly for SPINOR flash
> because arch/arm/mach-rockchip/spl-boot-order.c spl_node_to_boot_device
> need parse SPINOR flash node as UCLASS_SPI_FLASH
>
> spl-boot-order: same-as-spl > *** BOOT_SOURCE_ID 3 (2:emmc 3:spi 5:sd ...
> /spi@ff1d0000 > board_boot_order: could not map node @618 to a boot-device
> /sdhci@fe330000 > /mmc@fe320000
>
> Solution: just change it to /spi@ff1d0000/flash@0

I don't understand why the solution is add "/flash@0" and why 
"/spi@ff1d0000 " is not work, this drivers should be work for other 
boards before.


Thanks,

- Kever

>
> spl-boot-order: same-as-spl > *** BOOT_SOURCE_ID 3 (2:emmc 3:spi 5:sd ...
> /spi@ff1d0000/flash@0 > /sdhci@fe330000 > /mmc@fe320000
>
> Signed-off-by: Artem Lapkin <art@khadas.com>
> ---
>   arch/arm/mach-rockchip/rk3399/rk3399.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
> index 869d2159..69e0c8c2 100644
> --- a/arch/arm/mach-rockchip/rk3399/rk3399.c
> +++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
> @@ -28,7 +28,7 @@ DECLARE_GLOBAL_DATA_PTR;
>   
>   const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
>   	[BROM_BOOTSOURCE_EMMC] = "/sdhci@fe330000",
> -	[BROM_BOOTSOURCE_SPINOR] = "/spi@ff1d0000",
> +	[BROM_BOOTSOURCE_SPINOR] = "/spi@ff1d0000/flash@0",
>   	[BROM_BOOTSOURCE_SD] = "/mmc@fe320000",
>   };
>   



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] rk3399: boot_devices fix spinor node name
  2021-06-01 12:09 ` Kever Yang
@ 2021-06-02  2:19   ` Art Nikpal
  0 siblings, 0 replies; 4+ messages in thread
From: Art Nikpal @ 2021-06-02  2:19 UTC (permalink / raw)
  To: Kever Yang; +Cc: sjg, Jagan Teki, sunil, u-boot, Artem Lapkin, nick, Gouwa Wang

hi
> why "/spi@ff1d0000" is not work, this drivers should be work for other boards before.

i`m sure now is not work (maybe nobody test it ) i have test it and
can see its doesn't works properly

because /spi@ff1d0000 just spi bus node - its not SPINOR-Flash node as
was written before

if we check u-boot,spl-boot-order for rk3399 boards is must be
bootable devices list (for example &norflash | &spi_flash | &spliflash
 is alias for  /spi@ff1d0000/flash@0 )

grep same-as-spl arch/arm/dts/*rk3399* | grep flash
arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi:
u-boot,spl-boot-order = "same-as-spl", &sdhci, &spiflash, &sdmmc;
arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi:            "same-as-spl",
&norflash, &sdhci, &sdmmc;
arch/arm/dts/rk3399-rockpro64-u-boot.dtsi:
u-boot,spl-boot-order = "same-as-spl", &spi_flash, &sdmmc, &sdhci;
arch/arm/dts/rk3399-roc-pc-u-boot.dtsi:        u-boot,spl-boot-order =
"same-as-spl", &spi_flash, &sdhci, &sdmmc;

"same-as-spl" same must be translated to same devices ( &spi_flash,
&sdhci, &sdmmc  )

grep "same device the SPL was" -A22 arch/arm/mach-rockchip/spl-boot-order.c

        /* Handle the case of 'same device the SPL was loaded from' */
        if (strncmp(conf, "same-as-spl", 11) == 0) {
            conf = board_spl_was_booted_from();
            if (!conf)
                continue;
        }

        /* First check if the list element is an alias */
        alias = fdt_get_alias(blob, conf);
        if (alias)
            conf = alias;

        /* Try to resolve the config item (or alias) as a path */

        node = fdt_path_offset(blob, conf);
        if (node < 0) {
            debug("%s: could not find %s in FDT\n", __func__, conf);
            continue;
        }

        /* Try to map this back onto SPL boot devices */
        boot_device = spl_node_to_boot_device(node);
        if (boot_device < 0) {

            debug("%s: could not map node @%x to a boot-device\n",

grep "UCLASS_SPI_FLASH"  arch/arm/mach-rockchip/spl-boot-order.c

    } else if (!uclass_get_device_by_of_offset(UCLASS_SPI_FLASH, node,
    if (!uclass_get_device_by_of_offset(UCLASS_SPI_FLASH, node, &parent))


grep SPINOR arch/arm/mach-rockchip/rk3399/rk3399.c

    [BROM_BOOTSOURCE_SPINOR] = "/spi@ff1d0000",

but its not SPI_FLASH and spl_node_to_boot_device(/spi@ff1d0000)
return always -1 and
u-boot,spl-boot-order = "same-as-spl" never works properly for spinorflash

PS: i have test spi@ff1d0000/flash@0 works properly as expected

On Tue, Jun 1, 2021 at 8:09 PM Kever Yang <kever.yang@rock-chips.com> wrote:
>
> Hi Artem,
>
> On 2021/5/26 下午5:32, Artem Lapkin wrote:
> > Problem: board_spl_was_booted_from return wrong boot_devices[3] value
> > /spi@ff1d0000 and same-as-spl dont work properly for SPINOR flash
> > because arch/arm/mach-rockchip/spl-boot-order.c spl_node_to_boot_device
> > need parse SPINOR flash node as UCLASS_SPI_FLASH
> >
> > spl-boot-order: same-as-spl > *** BOOT_SOURCE_ID 3 (2:emmc 3:spi 5:sd ...
> > /spi@ff1d0000 > board_boot_order: could not map node @618 to a boot-device
> > /sdhci@fe330000 > /mmc@fe320000
> >
> > Solution: just change it to /spi@ff1d0000/flash@0
>
> I don't understand why the solution is add "/flash@0" and why
> "/spi@ff1d0000 " is not work, this drivers should be work for other
> boards before.
>
>
> Thanks,
>
> - Kever
>
> >
> > spl-boot-order: same-as-spl > *** BOOT_SOURCE_ID 3 (2:emmc 3:spi 5:sd ...
> > /spi@ff1d0000/flash@0 > /sdhci@fe330000 > /mmc@fe320000
> >
> > Signed-off-by: Artem Lapkin <art@khadas.com>
> > ---
> >   arch/arm/mach-rockchip/rk3399/rk3399.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
> > index 869d2159..69e0c8c2 100644
> > --- a/arch/arm/mach-rockchip/rk3399/rk3399.c
> > +++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
> > @@ -28,7 +28,7 @@ DECLARE_GLOBAL_DATA_PTR;
> >
> >   const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
> >       [BROM_BOOTSOURCE_EMMC] = "/sdhci@fe330000",
> > -     [BROM_BOOTSOURCE_SPINOR] = "/spi@ff1d0000",
> > +     [BROM_BOOTSOURCE_SPINOR] = "/spi@ff1d0000/flash@0",
> >       [BROM_BOOTSOURCE_SD] = "/mmc@fe320000",
> >   };
> >
>
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] rk3399: boot_devices fix spinor node name
  2021-05-26  9:32 [PATCH] rk3399: boot_devices fix spinor node name Artem Lapkin
  2021-06-01 12:09 ` Kever Yang
@ 2021-08-11  9:45 ` Kever Yang
  1 sibling, 0 replies; 4+ messages in thread
From: Kever Yang @ 2021-08-11  9:45 UTC (permalink / raw)
  To: Artem Lapkin
  Cc: Kever Yang, Simon Glass, Philipp Tomsich, Jagan Teki, sunil,
	U-Boot-Denx, art, Nick Xie, gouwa

Artem Lapkin <email2tema@gmail.com> 于2021年5月26日周三 下午5:33写道:
>
> Problem: board_spl_was_booted_from return wrong boot_devices[3] value
> /spi@ff1d0000 and same-as-spl dont work properly for SPINOR flash
> because arch/arm/mach-rockchip/spl-boot-order.c spl_node_to_boot_device
> need parse SPINOR flash node as UCLASS_SPI_FLASH
>
> spl-boot-order: same-as-spl > *** BOOT_SOURCE_ID 3 (2:emmc 3:spi 5:sd ...
> /spi@ff1d0000 > board_boot_order: could not map node @618 to a boot-device
> /sdhci@fe330000 > /mmc@fe320000
>
> Solution: just change it to /spi@ff1d0000/flash@0
>
> spl-boot-order: same-as-spl > *** BOOT_SOURCE_ID 3 (2:emmc 3:spi 5:sd ...
> /spi@ff1d0000/flash@0 > /sdhci@fe330000 > /mmc@fe320000
>
> Signed-off-by: Artem Lapkin <art@khadas.com>

Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>  arch/arm/mach-rockchip/rk3399/rk3399.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
> index 869d2159..69e0c8c2 100644
> --- a/arch/arm/mach-rockchip/rk3399/rk3399.c
> +++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
> @@ -28,7 +28,7 @@ DECLARE_GLOBAL_DATA_PTR;
>
>  const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
>         [BROM_BOOTSOURCE_EMMC] = "/sdhci@fe330000",
> -       [BROM_BOOTSOURCE_SPINOR] = "/spi@ff1d0000",
> +       [BROM_BOOTSOURCE_SPINOR] = "/spi@ff1d0000/flash@0",
>         [BROM_BOOTSOURCE_SD] = "/mmc@fe320000",
>  };
>
> --
> 2.25.1
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-08-11  9:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-26  9:32 [PATCH] rk3399: boot_devices fix spinor node name Artem Lapkin
2021-06-01 12:09 ` Kever Yang
2021-06-02  2:19   ` Art Nikpal
2021-08-11  9:45 ` Kever Yang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.