public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Kever Yang <kever.yang@rock-chips.com>
To: Jonas Karlman <jonas@kwiboo.se>, Simon Glass <sjg@chromium.org>,
	Philipp Tomsich <philipp.tomsich@vrull.eu>,
	Akash Gajjar <gajjar04akash@gmail.com>
Cc: u-boot@lists.denx.de
Subject: Re: [PATCH 08/14] rockchip: rk3568-rock-3a: Enable boot from SPI NOR flash
Date: Tue, 9 May 2023 19:02:46 +0800	[thread overview]
Message-ID: <0107ca5f-e116-e941-8d2b-41c6ff18b91d@rock-chips.com> (raw)
In-Reply-To: <20230422012309.402799-9-jonas@kwiboo.se>


On 2023/4/22 09:23, Jonas Karlman wrote:
> Add sfc and flash node to device tree and config options to enable
> support for booting from SPI NOR flash on Radxa ROCK 3 Model A.
>
> Unlike prior generation SoCs the BootRom in RK3568 can read all data and
> look for idbloader at 0x8000, same as on SD and eMMC.
>
> Use the rksd format and modify the mkimage offset to generate a bootable
> u-boot-rockchip-spi.bin that can be written to 0x0 of SPI NOR flash. The
> FIT image is loaded from 0x60000.
>
>    => sf probe
>    SF: Detected mx25u12835f with page size 256 Bytes, erase size 4 KiB, total 16 MiB
>
>    => load mmc 1:1 10000000 u-boot-rockchip-spi.bin
>    1384448 bytes read in 119 ms (11.1 MiB/s)
>
>    => sf update $fileaddr 0 $filesize
>    device 0 offset 0x0, size 0x152000
>    1179648 bytes written, 204800 bytes skipped in 9.901s, speed 143185 B/s
>
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>   arch/arm/dts/rk3568-rock-3a-u-boot.dtsi | 25 +++++++++++++++++++++++++
>   arch/arm/dts/rk356x-u-boot.dtsi         | 11 +++++++++++
>   configs/rock-3a-rk3568_defconfig        | 10 ++++++++++
>   3 files changed, 46 insertions(+)
>
> diff --git a/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi b/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi
> index b2af3b1dbed6..7cd2dc80c317 100644
> --- a/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi
> +++ b/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi
> @@ -7,6 +7,10 @@
>   #include "rk356x-u-boot.dtsi"
>   
>   / {
> +	aliases {
> +		spi0 = &sfc;
> +	};
> +
>   	chosen {
>   		stdout-path = &uart2;
>   		u-boot,spl-boot-order = "same-as-spl", &sdmmc0, &sdhci;
> @@ -33,6 +37,10 @@
>   	bootph-pre-ram;
>   };
>   
> +&fspi_pins {
> +	bootph-pre-ram;
> +};
> +
>   &sdmmc0_bus4 {
>   	bootph-pre-ram;
>   };
> @@ -65,6 +73,23 @@
>   	bootph-pre-ram;
>   };
>   
> +&sfc {
> +	bootph-pre-ram;
> +	u-boot,spl-sfc-no-dma;
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	status = "okay";
> +
> +	flash@0 {
> +		bootph-pre-ram;
> +		compatible = "jedec,spi-nor";
> +		reg = <0>;
> +		spi-max-frequency = <24000000>;
> +		spi-rx-bus-width = <4>;
> +		spi-tx-bus-width = <1>;
> +	};
> +};
> +
>   &sdhci {
>   	cap-mmc-highspeed;
>   	mmc-ddr-1_8v;
> diff --git a/arch/arm/dts/rk356x-u-boot.dtsi b/arch/arm/dts/rk356x-u-boot.dtsi
> index a1c2d03c52f0..c340c2bba6ff 100644
> --- a/arch/arm/dts/rk356x-u-boot.dtsi
> +++ b/arch/arm/dts/rk356x-u-boot.dtsi
> @@ -68,3 +68,14 @@
>   	bootph-pre-ram;
>   	status = "okay";
>   };
> +
> +#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
> +&binman {
> +	simple-bin-spi {
> +		mkimage {
> +			args = "-n", CONFIG_SYS_SOC, "-T", "rksd";
> +			offset = <0x8000>;
> +		};
> +	};
> +};
> +#endif
> diff --git a/configs/rock-3a-rk3568_defconfig b/configs/rock-3a-rk3568_defconfig
> index 2e556dc2c1a2..64864a300153 100644
> --- a/configs/rock-3a-rk3568_defconfig
> +++ b/configs/rock-3a-rk3568_defconfig
> @@ -8,15 +8,20 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
>   CONFIG_NR_DRAM_BANKS=2
>   CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
>   CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000
> +CONFIG_SF_DEFAULT_SPEED=24000000
> +CONFIG_SF_DEFAULT_MODE=0x2000
>   CONFIG_DEFAULT_DEVICE_TREE="rk3568-rock-3a"
>   CONFIG_ROCKCHIP_RK3568=y
>   CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
> +CONFIG_ROCKCHIP_SPI_IMAGE=y
>   CONFIG_SPL_SERIAL=y
>   CONFIG_SPL_STACK_R_ADDR=0x600000
>   CONFIG_TARGET_EVB_RK3568=y
>   CONFIG_SPL_STACK=0x400000
>   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
> @@ -34,6 +39,8 @@ CONFIG_SPL_BSS_MAX_SIZE=0x4000
>   # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
>   # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>   CONFIG_SPL_STACK_R=y
> +CONFIG_SPL_SPI_LOAD=y
> +CONFIG_SYS_SPI_U_BOOT_OFFS=0x60000
>   CONFIG_SPL_ATF=y
>   CONFIG_CMD_GPIO=y
>   CONFIG_CMD_GPT=y
> @@ -59,6 +66,8 @@ CONFIG_MMC_DW_ROCKCHIP=y
>   CONFIG_MMC_SDHCI=y
>   CONFIG_MMC_SDHCI_SDMA=y
>   CONFIG_MMC_SDHCI_ROCKCHIP=y
> +CONFIG_SPI_FLASH_MACRONIX=y
> +CONFIG_SPI_FLASH_XTX=y
>   CONFIG_ETH_DESIGNWARE=y
>   CONFIG_GMAC_ROCKCHIP=y
>   CONFIG_PHY_ROCKCHIP_INNO_USB2=y
> @@ -72,6 +81,7 @@ 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_USB=y
>   CONFIG_USB_XHCI_HCD=y

  reply	other threads:[~2023-05-09 11:03 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-22  1:23 [PATCH 00/14] rockchip: rk35xx: Update defconfigs and enable boot from SPI NOR flash Jonas Karlman
2023-04-22  1:23 ` [PATCH 02/14] rockchip: rk356x-u-boot: Add xin24m clock node to SPL Jonas Karlman
2023-05-06  9:47   ` Kever Yang
2023-04-22  1:23 ` [PATCH 01/14] spi: rockchip_sfc: Use linux rockchip,sfc-no-dma prop Jonas Karlman
2023-05-06  9:47   ` Kever Yang
2023-04-22  1:23 ` [PATCH 03/14] rockchip: rk3566-radxa-cm3-io: Update defconfig Jonas Karlman
2023-05-06  9:47   ` Kever Yang
2023-04-22  1:23 ` [PATCH 04/14] rockchip: rk3566-radxa-cm3-io: Use pinctrl for sdmmc and sdhci in SPL Jonas Karlman
2023-05-06  9:47   ` Kever Yang
2023-04-22  1:23 ` [PATCH 05/14] rockchip: rk3568-evb: Update defconfig Jonas Karlman
2023-05-09 11:01   ` Kever Yang
2023-04-22  1:23 ` [PATCH 06/14] rockchip: rk3568-rock-3a: " Jonas Karlman
2023-05-09 11:02   ` Kever Yang
2023-04-22  1:23 ` [PATCH 07/14] rockchip: rk3568-rock-3a: Use pinctrl for sdmmc and sdhci in SPL Jonas Karlman
2023-05-09 11:02   ` Kever Yang
2023-04-22  1:23 ` [PATCH 08/14] rockchip: rk3568-rock-3a: Enable boot from SPI NOR flash Jonas Karlman
2023-05-09 11:02   ` Kever Yang [this message]
2023-04-22  1:23 ` [PATCH 09/14] rockchip: rk3588: Select DM_RESET and DM_REGULATOR_FIXED in arch Kconfig Jonas Karlman
2023-05-09 11:03   ` Kever Yang
2023-04-22  1:23 ` [PATCH 10/14] rockchip: rk3588-evb: Update defconfig Jonas Karlman
2023-05-09 11:15   ` Kever Yang
2023-04-22  1:23 ` [PATCH 11/14] rockchip: rk3588-rock-5b: " Jonas Karlman
2023-05-09 11:16   ` Kever Yang
2023-04-22  1:23 ` [PATCH 12/14] rockchip: rk3588-rock-5b: Add bootph prop to pinctrl for uart2 and sdhci Jonas Karlman
2023-05-09 11:16   ` Kever Yang
2023-04-22  1:23 ` [PATCH 13/14] rockchip: rk3588-rock-5b: Enable boot from SPI NOR flash Jonas Karlman
2023-05-09 11:16   ` Kever Yang
2023-05-16 15:06     ` Eugen Hristev
2023-05-16 17:38       ` Jonas Karlman
2023-05-16 19:13         ` Eugen Hristev
2023-05-16 21:56           ` Jonas Karlman
2023-04-22  1:23 ` [PATCH 14/14] Revert "arm: dts: rockchip: radxa-cm3-io, rock-3a: enable regulators for usb" Jonas Karlman
2023-05-09 11:17   ` Kever Yang
2023-05-09 13:24 ` [PATCH 00/14] rockchip: rk35xx: Update defconfigs and enable boot from SPI NOR flash Kever Yang
2023-05-09 14:40   ` Jonas Karlman
2023-05-10  6:48     ` Jonas Karlman
2023-05-17  2:20       ` Kever Yang
2023-05-17  9:24         ` Eugen Hristev
2023-05-10 11:45   ` Kever Yang
2023-05-15  9:44     ` Eugen Hristev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0107ca5f-e116-e941-8d2b-41c6ff18b91d@rock-chips.com \
    --to=kever.yang@rock-chips.com \
    --cc=gajjar04akash@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=philipp.tomsich@vrull.eu \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox