
On lis 03, 2023 11:03, Jonas Karlman wrote:
On 2023-11-03 10:34, Slawomir Stepien wrote:
Hi Jonas and Kever
Thanks for clarifying the situation Kever! Please see below my proposition. What do you think?
Yes, this matches my proposition at [1], and I have a series queued now that we have gotten the answer.
Have included your commit to enable ROCKCHIP_SPI_IMAGE on Orange Pi 5 Plus, John Clark's commit to enable on NanoPC-T6 my own to enable on Orange Pi 5.
Should hit the list later today after full runtime testing.
Lovely, thank you! I have read all your comments from below. I'm trusting your judgment.
On lis 02, 2023 15:27, Kever Yang wrote:
Hi Jonas,
On 2023/11/1 00:45, Jonas Karlman wrote:
On 2023-10-31 17:13, Slawomir Stepien wrote:
Mark the flash@0 as BROM_BOOTSOURCE_SPINAND. Fixes use of same-as-spl in u-boot,spl-boot-order prop on Orange Pi 5 Plus.
Signed-off-by: Slawomir Stepien sst@poczta.fm
arch/arm/mach-rockchip/rk3588/rk3588.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/mach-rockchip/rk3588/rk3588.c b/arch/arm/mach-rockchip/rk3588/rk3588.c index b1f535fad5..0c8f10a97c 100644 --- a/arch/arm/mach-rockchip/rk3588/rk3588.c +++ b/arch/arm/mach-rockchip/rk3588/rk3588.c @@ -42,6 +42,7 @@ const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = { [BROM_BOOTSOURCE_SPINOR] = "/spi@fe2b0000/flash@0", [BROM_BOOTSOURCE_SD] = "/mmc@fe2c0000", [BROM_BOOTSOURCE_SPINOR_RK3588] = "/spi@fe2b0000/flash@0",
- [BROM_BOOTSOURCE_SPINAND] = "/spi@fe2b0000/flash@0",
This is not correct, please see [1] for an open discussion on this issue.
Kever: Do you have any more insights into the question on [1].
As I reply in another mail, the FSPI M0~M2 is all the option for SPI NAND/NOR in rk3588.
So based on that info, something like this?:
- BROM_BOOTSOURCE_SPINAND - removed (not used at all).
Should not be removed, because this is still valid for old generation SoCs.
- BROM_BOOTSOURCE_SPINOR_RK3588 - removed (not needed after this patch).
Yes, this should be replaced with FSPI_M2.
- Updated also the rk3568.c since it also has FSPI M0 (only this one mux), so I would assume it
will be value of 3 there too.
No need to change this, the RK356x does not have iomux on fspi, so lets treat this as an old generation SoCs.
- The BROM_BOOTSOURCE_SPINOR is still there, since the rk3399 does not use the FSPI (that is my
understanding after checking the TRM doc).
Agreed, should not be changed for same reasons as SPINAND.
diff --git a/arch/arm/include/asm/arch-rockchip/bootrom.h b/arch/arm/include/asm/arch-rockchip/bootrom.h index 7dab18fbc3..9f16d28aec 100644 --- a/arch/arm/include/asm/arch-rockchip/bootrom.h +++ b/arch/arm/include/asm/arch-rockchip/bootrom.h @@ -46,9 +46,10 @@ enum { BROM_BOOTSOURCE_NAND = 1, BROM_BOOTSOURCE_EMMC = 2, BROM_BOOTSOURCE_SPINOR = 3,
- BROM_BOOTSOURCE_SPINAND = 4,
- BROM_BOOTSOURCE_FSPI_M0 = 3,
- BROM_BOOTSOURCE_FSPI_M1 = 4, BROM_BOOTSOURCE_SD = 5,
- BROM_BOOTSOURCE_SPINOR_RK3588 = 6,
- BROM_BOOTSOURCE_FSPI_M2 = 6, BROM_BOOTSOURCE_USB = 10, BROM_LAST_BOOTSOURCE = BROM_BOOTSOURCE_USB
}; diff --git a/arch/arm/mach-rockchip/rk3568/rk3568.c b/arch/arm/mach-rockchip/rk3568/rk3568.c index 69ef19cc85..ccb63c6a88 100644 --- a/arch/arm/mach-rockchip/rk3568/rk3568.c +++ b/arch/arm/mach-rockchip/rk3568/rk3568.c @@ -83,7 +83,7 @@ static struct mm_region rk3568_mem_map[] = {
const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = { [BROM_BOOTSOURCE_EMMC] = "/mmc@fe310000",
- [BROM_BOOTSOURCE_SPINOR] = "/spi@fe300000/flash@0",
- [BROM_BOOTSOURCE_FSPI_M0] = "/spi@fe300000/flash@0", [BROM_BOOTSOURCE_SD] = "/mmc@fe2b0000",
};
diff --git a/arch/arm/mach-rockchip/rk3588/rk3588.c b/arch/arm/mach-rockchip/rk3588/rk3588.c index b1f535fad5..c36f783d29 100644 --- a/arch/arm/mach-rockchip/rk3588/rk3588.c +++ b/arch/arm/mach-rockchip/rk3588/rk3588.c @@ -39,9 +39,10 @@ DECLARE_GLOBAL_DATA_PTR;
const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = { [BROM_BOOTSOURCE_EMMC] = "/mmc@fe2e0000",
- [BROM_BOOTSOURCE_SPINOR] = "/spi@fe2b0000/flash@0",
- [BROM_BOOTSOURCE_FSPI_M0] = "/spi@fe2b0000/flash@0", [BROM_BOOTSOURCE_SD] = "/mmc@fe2c0000",
- [BROM_BOOTSOURCE_SPINOR_RK3588] = "/spi@fe2b0000/flash@0",
- [BROM_BOOTSOURCE_FSPI_M1] = "/spi@fe2b0000/flash@0",
- [BROM_BOOTSOURCE_FSPI_M2] = "/spi@fe2b0000/flash@0",
Fully agree with this change, and have made same/similar. However, the logic for boot_devices will possible have to be changed/updated if there is a board using SPI NAND with a different node name in the future.
Regards, Jonas
};
static struct mm_region rk3588_mem_map[] = {
Is my assessment about the value BootRom writes to bootsource reg correct, see [1]?
- FSPI (M0): 3
- FSPI (M1): 4
- FSPI (M2): 6
[1] https://lore.kernel.org/u-boot/b82c02c0-0a37-8553-f498-b03f85394d59@kwiboo.s...
Regards, Jonas
}; static struct mm_region rk3588_mem_map[] = {