[PATCH] rockchip: rk3399: boot_devices: fix eMMC node name
Quentin Schulz
quentin.schulz at theobroma-systems.com
Mon Jul 18 11:18:59 CEST 2022
On 7/11/22 20:22, Xavier Drudis Ferran wrote:
> El Mon, Jul 11, 2022 at 04:15:33PM +0200, Quentin Schulz deia:
>> From: Quentin Schulz <quentin.schulz at theobroma-systems.com>
>>
>> When idbloader.img is flashed on the eMMC, the SPL still tries to load
>> from SPI-NOR first.
>>
>> This is due to an incorrect look-up in the Device Tree. Since commit
>> 822556a93459 ("arm: dts: sync the Rockhip 3399 SoCs from Linux"), the
>> node name (but not label) changed from sdhci at fe330000 to mmc at fe330000
>> meaning U-Boot SPL is not looking for the correct node name anymore and
>> fails to find the "same-as-spl" node when eMMC is the medium from which
>> the SPL booted.
>>
>
> Yes, I also saw that. I changed and tested it at some time, but since there
> were other changes, I hesitate to send a Tested by for your patch. FWIW:
>
> Reviewed-by: Xavier Drudis Ferran <xdrudis at tinet.cat>
>
>
>> Fixes: 822556a93459 ("arm: dts: sync the Rockhip 3399 SoCs from Linux")
>> Cc: Quentin Schulz <foss+uboot at 0leil.net>
>> Signed-off-by: Quentin Schulz <quentin.schulz at theobroma-systems.com>
>> ---
>>
>> Sorry for resend, was not yet subscribed.
>>
>> arch/arm/mach-rockchip/rk3399/rk3399.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
>> index 01a05599cd..de11a3fa30 100644
>> --- a/arch/arm/mach-rockchip/rk3399/rk3399.c
>> +++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
>> @@ -27,7 +27,7 @@ DECLARE_GLOBAL_DATA_PTR;
>> #define GRF_BASE 0xff770000
>>
>> const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
>> - [BROM_BOOTSOURCE_EMMC] = "/sdhci at fe330000",
>> + [BROM_BOOTSOURCE_EMMC] = "/mmc at fe330000",
>> [BROM_BOOTSOURCE_SPINOR] = "/spi at ff1d0000/flash at 0",
>> [BROM_BOOTSOURCE_SD] = "/mmc at fe320000",
>> };
>> @@ -181,7 +181,7 @@ const char *spl_decode_boot_device(u32 boot_device)
>> const char *ofpath;
>> } spl_boot_devices_tbl[] = {
>> { BOOT_DEVICE_MMC1, "/mmc at fe320000" },
>> - { BOOT_DEVICE_MMC2, "/sdhci at fe330000" },
>> + { BOOT_DEVICE_MMC2, "/mmc at fe330000" },
>> { BOOT_DEVICE_SPI, "/spi at ff1d0000" },
>
> Not related to this patch, but I also changed "/spi at ff1d0000" -> "/spi at ff1d0000/flash at 0".
> Not sure whether it needs to be different in both arrays in some case for some reason.
>
Thanks for the heads up, it seems that our board was the only (upstream)
one impacted by this oversight because it's the only one reading
u-boot,spl-boot-device DT property that is set using this table.
See patch here:
https://lore.kernel.org/u-boot/20220715151552.953654-2-foss+uboot@0leil.net/
You can add your Suggested-by: I forgot to add it before sending.
Thanks!
Quentin
More information about the U-Boot
mailing list