Message ID | 20240422062936.681359-25-jonas@kwiboo.se |
---|---|
State | Accepted |
Delegated to: | Kever Yang |
Headers | show |
Series | rockchip: rk35xx: Miscellaneous fixes and updates | expand |
On 2024/4/22 14:29, Jonas Karlman wrote: > Add support for booting from SPI flash using the generic RK3566/RK3568 > target. > > Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Thanks, - Kever > --- > v3: No change > v2: Split patch > --- > arch/arm/dts/rk3568-generic-u-boot.dtsi | 7 +++++++ > arch/arm/dts/rk3568-generic.dts | 14 +++++++++++++- > configs/generic-rk3568_defconfig | 15 +++++++++++++++ > 3 files changed, 35 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/dts/rk3568-generic-u-boot.dtsi b/arch/arm/dts/rk3568-generic-u-boot.dtsi > index 6e8307e3bdf6..fd7f5367b759 100644 > --- a/arch/arm/dts/rk3568-generic-u-boot.dtsi > +++ b/arch/arm/dts/rk3568-generic-u-boot.dtsi > @@ -1,3 +1,10 @@ > // SPDX-License-Identifier: (GPL-2.0+ OR MIT) > > #include "rk356x-u-boot.dtsi" > + > +&sfc { > + flash@0 { > + bootph-pre-ram; > + bootph-some-ram; > + }; > +}; > diff --git a/arch/arm/dts/rk3568-generic.dts b/arch/arm/dts/rk3568-generic.dts > index 3b9bf8052046..87c3aff26589 100644 > --- a/arch/arm/dts/rk3568-generic.dts > +++ b/arch/arm/dts/rk3568-generic.dts > @@ -1,6 +1,6 @@ > // SPDX-License-Identifier: (GPL-2.0+ OR MIT) > /* > - * Minimal generic DT for RK3566/RK3568 with eMMC and SD-card enabled > + * Minimal generic DT for RK3566/RK3568 with eMMC, SD-card and SPI flash enabled > */ > > /dts-v1/; > @@ -43,6 +43,18 @@ > status = "okay"; > }; > > +&sfc { > + #address-cells = <1>; > + #size-cells = <0>; > + status = "okay"; > + > + flash@0 { > + compatible = "jedec,spi-nor"; > + reg = <0>; > + spi-max-frequency = <24000000>; > + }; > +}; > + > &uart2 { > status = "okay"; > }; > diff --git a/configs/generic-rk3568_defconfig b/configs/generic-rk3568_defconfig > index e7d5e55bbfd8..9276eae63ee3 100644 > --- a/configs/generic-rk3568_defconfig > +++ b/configs/generic-rk3568_defconfig > @@ -3,11 +3,15 @@ CONFIG_SKIP_LOWLEVEL_INIT=y > CONFIG_COUNTER_FREQUENCY=24000000 > CONFIG_ARCH_ROCKCHIP=y > CONFIG_NR_DRAM_BANKS=2 > +CONFIG_SF_DEFAULT_SPEED=24000000 > CONFIG_DEFAULT_DEVICE_TREE="rk3568-generic" > CONFIG_ROCKCHIP_RK3568=y > +CONFIG_ROCKCHIP_SPI_IMAGE=y > CONFIG_SPL_SERIAL=y > CONFIG_DEBUG_UART_BASE=0xFE660000 > CONFIG_DEBUG_UART_CLOCK=24000000 > +CONFIG_SPL_SPI_FLASH_SUPPORT=y > +CONFIG_SPL_SPI=y > CONFIG_SYS_LOAD_ADDR=0xc00800 > CONFIG_DEBUG_UART=y > CONFIG_FIT=y > @@ -21,6 +25,8 @@ CONFIG_DISPLAY_BOARDINFO_LATE=y > CONFIG_SPL_MAX_SIZE=0x40000 > CONFIG_SPL_PAD_TO=0x7f8000 > # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set > +CONFIG_SPL_SPI_LOAD=y > +CONFIG_SYS_SPI_U_BOOT_OFFS=0x60000 > CONFIG_SPL_ATF=y > CONFIG_CMD_GPIO=y > CONFIG_CMD_GPT=y > @@ -43,10 +49,19 @@ CONFIG_MMC_DW_ROCKCHIP=y > CONFIG_MMC_SDHCI=y > CONFIG_MMC_SDHCI_SDMA=y > CONFIG_MMC_SDHCI_ROCKCHIP=y > +CONFIG_SF_DEFAULT_BUS=4 > +CONFIG_SPI_FLASH_SFDP_SUPPORT=y > +CONFIG_SPI_FLASH_GIGADEVICE=y > +CONFIG_SPI_FLASH_MACRONIX=y > +CONFIG_SPI_FLASH_SILICONKAISER=y > +CONFIG_SPI_FLASH_WINBOND=y > +CONFIG_SPI_FLASH_XMC=y > +CONFIG_SPI_FLASH_XTX=y > CONFIG_SPL_PINCTRL=y > CONFIG_SPL_RAM=y > CONFIG_BAUDRATE=1500000 > CONFIG_DEBUG_UART_SHIFT=2 > CONFIG_SYS_NS16550_MEM32=y > +CONFIG_ROCKCHIP_SFC=y > CONFIG_SYSRESET=y > CONFIG_ERRNO_STR=y
diff --git a/arch/arm/dts/rk3568-generic-u-boot.dtsi b/arch/arm/dts/rk3568-generic-u-boot.dtsi index 6e8307e3bdf6..fd7f5367b759 100644 --- a/arch/arm/dts/rk3568-generic-u-boot.dtsi +++ b/arch/arm/dts/rk3568-generic-u-boot.dtsi @@ -1,3 +1,10 @@ // SPDX-License-Identifier: (GPL-2.0+ OR MIT) #include "rk356x-u-boot.dtsi" + +&sfc { + flash@0 { + bootph-pre-ram; + bootph-some-ram; + }; +}; diff --git a/arch/arm/dts/rk3568-generic.dts b/arch/arm/dts/rk3568-generic.dts index 3b9bf8052046..87c3aff26589 100644 --- a/arch/arm/dts/rk3568-generic.dts +++ b/arch/arm/dts/rk3568-generic.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* - * Minimal generic DT for RK3566/RK3568 with eMMC and SD-card enabled + * Minimal generic DT for RK3566/RK3568 with eMMC, SD-card and SPI flash enabled */ /dts-v1/; @@ -43,6 +43,18 @@ status = "okay"; }; +&sfc { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <24000000>; + }; +}; + &uart2 { status = "okay"; }; diff --git a/configs/generic-rk3568_defconfig b/configs/generic-rk3568_defconfig index e7d5e55bbfd8..9276eae63ee3 100644 --- a/configs/generic-rk3568_defconfig +++ b/configs/generic-rk3568_defconfig @@ -3,11 +3,15 @@ CONFIG_SKIP_LOWLEVEL_INIT=y CONFIG_COUNTER_FREQUENCY=24000000 CONFIG_ARCH_ROCKCHIP=y CONFIG_NR_DRAM_BANKS=2 +CONFIG_SF_DEFAULT_SPEED=24000000 CONFIG_DEFAULT_DEVICE_TREE="rk3568-generic" CONFIG_ROCKCHIP_RK3568=y +CONFIG_ROCKCHIP_SPI_IMAGE=y CONFIG_SPL_SERIAL=y CONFIG_DEBUG_UART_BASE=0xFE660000 CONFIG_DEBUG_UART_CLOCK=24000000 +CONFIG_SPL_SPI_FLASH_SUPPORT=y +CONFIG_SPL_SPI=y CONFIG_SYS_LOAD_ADDR=0xc00800 CONFIG_DEBUG_UART=y CONFIG_FIT=y @@ -21,6 +25,8 @@ CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_SPL_MAX_SIZE=0x40000 CONFIG_SPL_PAD_TO=0x7f8000 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +CONFIG_SPL_SPI_LOAD=y +CONFIG_SYS_SPI_U_BOOT_OFFS=0x60000 CONFIG_SPL_ATF=y CONFIG_CMD_GPIO=y CONFIG_CMD_GPT=y @@ -43,10 +49,19 @@ CONFIG_MMC_DW_ROCKCHIP=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_SDMA=y CONFIG_MMC_SDHCI_ROCKCHIP=y +CONFIG_SF_DEFAULT_BUS=4 +CONFIG_SPI_FLASH_SFDP_SUPPORT=y +CONFIG_SPI_FLASH_GIGADEVICE=y +CONFIG_SPI_FLASH_MACRONIX=y +CONFIG_SPI_FLASH_SILICONKAISER=y +CONFIG_SPI_FLASH_WINBOND=y +CONFIG_SPI_FLASH_XMC=y +CONFIG_SPI_FLASH_XTX=y CONFIG_SPL_PINCTRL=y CONFIG_SPL_RAM=y CONFIG_BAUDRATE=1500000 CONFIG_DEBUG_UART_SHIFT=2 CONFIG_SYS_NS16550_MEM32=y +CONFIG_ROCKCHIP_SFC=y CONFIG_SYSRESET=y CONFIG_ERRNO_STR=y
Add support for booting from SPI flash using the generic RK3566/RK3568 target. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> --- v3: No change v2: Split patch --- arch/arm/dts/rk3568-generic-u-boot.dtsi | 7 +++++++ arch/arm/dts/rk3568-generic.dts | 14 +++++++++++++- configs/generic-rk3568_defconfig | 15 +++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-)