[PATCH 3/3] rockchip: rk3588: Sync sdmmc node from linux-next
Kever Yang
kever.yang at rock-chips.com
Tue Mar 21 04:13:50 CET 2023
On 2023/3/18 03:16, Jonas Karlman wrote:
> Sync the sdmmc node from linux-next, include required nodes in SPL and
> imply Kconfig options required for functional sdmmc clk in SPL and
> U-Boot proper.
>
> This make it possible for both SPL and U-Boot proper to configure sdmmc
> clocks. In SPL, before TF-A is loaded, scru regs is configured, in
> U-Boot proper a SCMI message is sent to TF-A.
>
> Fixes: 95c8656b72dc ("ARM: dts: rockchip: rk3588s-u-boot: Add sdmmc node")
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
Thanks,
- Kever
> ---
> .../dts/rk3588-edgeble-neu6a-io-u-boot.dtsi | 2 --
> arch/arm/dts/rk3588-rock-5b-u-boot.dtsi | 2 --
> arch/arm/dts/rk3588s-u-boot.dtsi | 27 +++++++++----------
> arch/arm/dts/rk3588s.dtsi | 15 +++++++++++
> arch/arm/mach-rockchip/Kconfig | 2 ++
> 5 files changed, 30 insertions(+), 18 deletions(-)
>
> diff --git a/arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi b/arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi
> index 612966492b02..373f369c6556 100644
> --- a/arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi
> +++ b/arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi
> @@ -18,7 +18,5 @@
>
> &sdmmc {
> bus-width = <4>;
> - u-boot,dm-pre-reloc;
> - u-boot,spl-fifo-mode;
> status = "okay";
> };
> diff --git a/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi b/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
> index 36d557b4934d..4c6f0311d6a1 100644
> --- a/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
> +++ b/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
> @@ -17,7 +17,5 @@
>
> &sdmmc {
> bus-width = <4>;
> - u-boot,dm-spl;
> - u-boot,spl-fifo-mode;
> status = "okay";
> };
> diff --git a/arch/arm/dts/rk3588s-u-boot.dtsi b/arch/arm/dts/rk3588s-u-boot.dtsi
> index f880f4a16741..65960fa50adc 100644
> --- a/arch/arm/dts/rk3588s-u-boot.dtsi
> +++ b/arch/arm/dts/rk3588s-u-boot.dtsi
> @@ -18,20 +18,6 @@
> reg = <0x0 0xfd58a000 0x0 0x2000>;
> };
>
> - sdmmc: mmc at fe2c0000 {
> - compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc";
> - reg = <0x0 0xfe2c0000 0x0 0x4000>;
> - interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH 0>;
> - clocks = <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>,
> - <&scmi_clk SCMI_HCLK_SD>, <&scmi_clk SCMI_CCLK_SD>;
> - clock-names = "ciu-drive", "ciu-sample", "biu", "ciu";
> - fifo-depth = <0x100>;
> - max-frequency = <200000000>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
> - status = "disabled";
> - };
> -
> otp: nvmem at fecc0000 {
> compatible = "rockchip,rk3588-otp";
> reg = <0x0 0xfecc0000 0x0 0x400>;
> @@ -60,6 +46,19 @@
> status = "okay";
> };
>
> +&scmi {
> + u-boot,dm-spl;
> +};
> +
> +&scmi_clk {
> + u-boot,dm-spl;
> +};
> +
> +&sdmmc {
> + u-boot,dm-spl;
> + u-boot,spl-fifo-mode;
> +};
> +
> &uart2 {
> clock-frequency = <24000000>;
> u-boot,dm-spl;
> diff --git a/arch/arm/dts/rk3588s.dtsi b/arch/arm/dts/rk3588s.dtsi
> index 005cde61b4b2..fca8503aed8c 100644
> --- a/arch/arm/dts/rk3588s.dtsi
> +++ b/arch/arm/dts/rk3588s.dtsi
> @@ -1099,6 +1099,21 @@
> };
> };
>
> + sdmmc: mmc at fe2c0000 {
> + compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc";
> + reg = <0x0 0xfe2c0000 0x0 0x4000>;
> + interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH 0>;
> + clocks = <&scmi_clk SCMI_HCLK_SD>, <&scmi_clk SCMI_CCLK_SD>,
> + <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
> + clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
> + fifo-depth = <0x100>;
> + max-frequency = <200000000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
> + power-domains = <&power RK3588_PD_SDMMC>;
> + status = "disabled";
> + };
> +
> sdhci: mmc at fe2e0000 {
> compatible = "rockchip,rk3588-dwcmshc";
> reg = <0x0 0xfe2e0000 0x0 0x10000>;
> diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
> index 5e8aacc2ea14..c10c25439112 100644
> --- a/arch/arm/mach-rockchip/Kconfig
> +++ b/arch/arm/mach-rockchip/Kconfig
> @@ -318,6 +318,8 @@ config ROCKCHIP_RK3588
> imply OF_LIBFDT_OVERLAY
> imply ROCKCHIP_OTP
> imply MISC_INIT_R
> + imply CLK_SCMI
> + imply SCMI_FIRMWARE
> help
> The Rockchip RK3588 is a ARM-based SoC with quad-core Cortex-A76 and
> quad-core Cortex-A55 including NEON and GPU, 6TOPS NPU, Mali-G610 MP4,
More information about the U-Boot
mailing list