[PATCH 1/5] arm: dts: rockchip: rock-pi-4: sync with Linux 6.3

Kever Yang kever.yang at rock-chips.com
Tue May 9 14:28:24 CEST 2023


On 2023/4/26 10:23, FUKAUMI Naoki wrote:
> sync dts{,i} files for Radxa ROCK Pi 4 series with Linux 6.3.
>
> because rk3399-rock-pi-4a.dts is enough for ROCK Pi 4A/B/A+/B+ and ROCK
> 4SE, delete dts{,i} for ROCK Pi 4B.
>
> Signed-off-by: FUKAUMI Naoki <naoki at radxa.com>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
>   arch/arm/dts/Makefile                         |   1 -
>   arch/arm/dts/rk3399-rock-pi-4.dtsi            | 229 ++++++++++++------
>   ...oot.dtsi => rk3399-rock-pi-4a-u-boot.dtsi} |   0
>   arch/arm/dts/rk3399-rock-pi-4b.dts            |  46 ----
>   arch/arm/dts/rk3399-rock-pi-4c.dts            |  20 +-
>   5 files changed, 174 insertions(+), 122 deletions(-)
>   rename arch/arm/dts/{rk3399-rock-pi-4b-u-boot.dtsi => rk3399-rock-pi-4a-u-boot.dtsi} (100%)
>   delete mode 100644 arch/arm/dts/rk3399-rock-pi-4b.dts
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 3385948d22..1d674b90af 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -158,7 +158,6 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
>   	rk3399-roc-pc.dtb \
>   	rk3399-roc-pc-mezzanine.dtb \
>   	rk3399-rock-pi-4a.dtb \
> -	rk3399-rock-pi-4b.dtb \
>   	rk3399-rock-pi-4c.dtb \
>   	rk3399-rock960.dtb \
>   	rk3399-rockpro64.dtb \
> diff --git a/arch/arm/dts/rk3399-rock-pi-4.dtsi b/arch/arm/dts/rk3399-rock-pi-4.dtsi
> index b28888ea92..907071d4fe 100644
> --- a/arch/arm/dts/rk3399-rock-pi-4.dtsi
> +++ b/arch/arm/dts/rk3399-rock-pi-4.dtsi
> @@ -6,14 +6,15 @@
>   
>   /dts-v1/;
>   #include <dt-bindings/input/linux-event-codes.h>
> +#include <dt-bindings/leds/common.h>
>   #include <dt-bindings/pwm/pwm.h>
>   #include "rk3399.dtsi"
>   #include "rk3399-opp.dtsi"
>   
>   / {
>   	aliases {
> -		mmc0 = &sdmmc;
> -		mmc1 = &sdhci;
> +		mmc0 = &sdhci;
> +		mmc1 = &sdmmc;
>   	};
>   
>   	chosen {
> @@ -27,6 +28,20 @@
>   		#clock-cells = <0>;
>   	};
>   
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&user_led2>;
> +
> +		/* USER_LED2 */
> +		led-0 {
> +			function = LED_FUNCTION_STATUS;
> +			color = <LED_COLOR_ID_BLUE>;
> +			gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
> +			linux,default-trigger = "heartbeat";
> +		};
> +	};
> +
>   	sdio_pwrseq: sdio-pwrseq {
>   		compatible = "mmc-pwrseq-simple";
>   		clocks = <&rk808 1>;
> @@ -36,32 +51,56 @@
>   		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
>   	};
>   
> -	vcc12v_dcin: dc-12v {
> +	sound: sound {
> +		compatible = "audio-graph-card";
> +		label = "Analog";
> +		dais = <&i2s0_p0>;
> +	};
> +
> +	sound-dit {
> +		compatible = "audio-graph-card";
> +		label = "SPDIF";
> +		dais = <&spdif_p0>;
> +	};
> +
> +	spdif-dit {
> +		compatible = "linux,spdif-dit";
> +		#sound-dai-cells = <0>;
> +
> +		port {
> +			dit_p0_0: endpoint {
> +				remote-endpoint = <&spdif_p0_0>;
> +			};
> +		};
> +	};
> +
> +	vbus_typec: vbus-typec-regulator {
>   		compatible = "regulator-fixed";
> -		regulator-name = "vcc12v_dcin";
> +		enable-active-high;
> +		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&vcc5v0_typec_en>;
> +		regulator-name = "vbus_typec";
>   		regulator-always-on;
> -		regulator-boot-on;
> -		regulator-min-microvolt = <12000000>;
> -		regulator-max-microvolt = <12000000>;
> +		vin-supply = <&vcc5v0_sys>;
>   	};
>   
> -	vcc5v0_sys: vcc-sys {
> +	vcc12v_dcin: dc-12v {
>   		compatible = "regulator-fixed";
> -		regulator-name = "vcc5v0_sys";
> +		regulator-name = "vcc12v_dcin";
>   		regulator-always-on;
>   		regulator-boot-on;
> -		regulator-min-microvolt = <5000000>;
> -		regulator-max-microvolt = <5000000>;
> -		vin-supply = <&vcc12v_dcin>;
> +		regulator-min-microvolt = <12000000>;
> +		regulator-max-microvolt = <12000000>;
>   	};
>   
> -	vcc_0v9: vcc-0v9 {
> +	vcc3v3_lan: vcc3v3-lan-regulator {
>   		compatible = "regulator-fixed";
> -		regulator-name = "vcc_0v9";
> +		regulator-name = "vcc3v3_lan";
>   		regulator-always-on;
>   		regulator-boot-on;
> -		regulator-min-microvolt = <900000>;
> -		regulator-max-microvolt = <900000>;
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
>   		vin-supply = <&vcc3v3_sys>;
>   	};
>   
> @@ -98,35 +137,35 @@
>   		vin-supply = <&vcc5v0_sys>;
>   	};
>   
> -	vcc5v0_typec: vcc5v0-typec-regulator {
> +	vcc5v0_sys: vcc-sys {
>   		compatible = "regulator-fixed";
> -		enable-active-high;
> -		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&vcc5v0_typec_en>;
> -		regulator-name = "vcc5v0_typec";
> +		regulator-name = "vcc5v0_sys";
>   		regulator-always-on;
> -		vin-supply = <&vcc5v0_sys>;
> +		regulator-boot-on;
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		vin-supply = <&vcc12v_dcin>;
>   	};
>   
> -	vcc_lan: vcc3v3-phy-regulator {
> +	vcc_0v9: vcc-0v9 {
>   		compatible = "regulator-fixed";
> -		regulator-name = "vcc_lan";
> +		regulator-name = "vcc_0v9";
>   		regulator-always-on;
>   		regulator-boot-on;
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> +		regulator-min-microvolt = <900000>;
> +		regulator-max-microvolt = <900000>;
> +		vin-supply = <&vcc3v3_sys>;
>   	};
>   
>   	vdd_log: vdd-log {
>   		compatible = "pwm-regulator";
>   		pwms = <&pwm2 0 25000 1>;
> +		pwm-supply = <&vcc5v0_sys>;
>   		regulator-name = "vdd_log";
>   		regulator-always-on;
>   		regulator-boot-on;
>   		regulator-min-microvolt = <800000>;
>   		regulator-max-microvolt = <1400000>;
> -		vin-supply = <&vcc5v0_sys>;
>   	};
>   };
>   
> @@ -162,7 +201,7 @@
>   	assigned-clocks = <&cru SCLK_RMII_SRC>;
>   	assigned-clock-parents = <&clkin_gmac>;
>   	clock_in_out = "input";
> -	phy-supply = <&vcc_lan>;
> +	phy-supply = <&vcc3v3_lan>;
>   	phy-mode = "rgmii";
>   	pinctrl-names = "default";
>   	pinctrl-0 = <&rgmii_pins>;
> @@ -180,6 +219,8 @@
>   };
>   
>   &hdmi {
> +	avdd-0v9-supply = <&vcca0v9_hdmi>;
> +	avdd-1v8-supply = <&vcca1v8_hdmi>;
>   	ddc-i2c-bus = <&i2c3>;
>   	pinctrl-names = "default";
>   	pinctrl-0 = <&hdmi_cec>;
> @@ -267,8 +308,8 @@
>   				};
>   			};
>   
> -			vcc1v8_codec: LDO_REG1 {
> -				regulator-name = "vcc1v8_codec";
> +			vcca1v8_codec: LDO_REG1 {
> +				regulator-name = "vcca1v8_codec";
>   				regulator-always-on;
>   				regulator-boot-on;
>   				regulator-min-microvolt = <1800000>;
> @@ -278,8 +319,8 @@
>   				};
>   			};
>   
> -			vcc1v8_hdmi: LDO_REG2 {
> -				regulator-name = "vcc1v8_hdmi";
> +			vcca1v8_hdmi: LDO_REG2 {
> +				regulator-name = "vcca1v8_hdmi";
>   				regulator-always-on;
>   				regulator-boot-on;
>   				regulator-min-microvolt = <1800000>;
> @@ -336,8 +377,8 @@
>   				};
>   			};
>   
> -			vcc0v9_hdmi: LDO_REG7 {
> -				regulator-name = "vcc0v9_hdmi";
> +			vcca0v9_hdmi: LDO_REG7 {
> +				regulator-name = "vcca0v9_hdmi";
>   				regulator-always-on;
>   				regulator-boot-on;
>   				regulator-min-microvolt = <900000>;
> @@ -422,6 +463,20 @@
>   	i2c-scl-rising-time-ns = <300>;
>   	i2c-scl-falling-time-ns = <15>;
>   	status = "okay";
> +
> +	es8316: codec at 11 {
> +		compatible = "everest,es8316";
> +		reg = <0x11>;
> +		clocks = <&cru SCLK_I2S_8CH_OUT>;
> +		clock-names = "mclk";
> +		#sound-dai-cells = <0>;
> +
> +		port {
> +			es8316_p0_0: endpoint {
> +				remote-endpoint = <&i2s0_p0_0>;
> +			};
> +		};
> +	};
>   };
>   
>   &i2c3 {
> @@ -441,12 +496,19 @@
>   	rockchip,capture-channels = <2>;
>   	rockchip,playback-channels = <2>;
>   	status = "okay";
> +
> +	i2s0_p0: port {
> +		i2s0_p0_0: endpoint {
> +			dai-format = "i2s";
> +			mclk-fs = <256>;
> +			remote-endpoint = <&es8316_p0_0>;
> +		};
> +	};
>   };
>   
>   &i2s1 {
>   	rockchip,playback-channels = <2>;
>   	rockchip,capture-channels = <2>;
> -	status = "okay";
>   };
>   
>   &i2s2 {
> @@ -454,21 +516,10 @@
>   };
>   
>   &io_domains {
> -	status = "okay";
> -
> +	audio-supply = <&vcca1v8_codec>;
>   	bt656-supply = <&vcc_3v0>;
> -	audio-supply = <&vcc_3v0>;
> -	sdmmc-supply = <&vcc_sdio>;
>   	gpio1830-supply = <&vcc_3v0>;
> -};
> -
> -&pmu_io_domains {
> -	status = "okay";
> -
> -	pmu1830-supply = <&vcc_3v0>;
> -};
> -
> -&pcie_phy {
> +	sdmmc-supply = <&vcc_sdio>;
>   	status = "okay";
>   };
>   
> @@ -483,6 +534,10 @@
>   	status = "okay";
>   };
>   
> +&pcie_phy {
> +	status = "okay";
> +};
> +
>   &pinctrl {
>   	bt {
>   		bt_enable_h: bt-enable-h {
> @@ -498,26 +553,25 @@
>   		};
>   	};
>   
> -	pcie {
> -		pcie_pwr_en: pcie-pwr-en {
> -			rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
> +	es8316 {
> +		hp_detect: hp-detect {
> +			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
>   		};
> -	};
>   
> -	sdio0 {
> -		sdio0_bus4: sdio0-bus4 {
> -			rockchip,pins = <2 RK_PC4 1 &pcfg_pull_up_20ma>,
> -					<2 RK_PC5 1 &pcfg_pull_up_20ma>,
> -					<2 RK_PC6 1 &pcfg_pull_up_20ma>,
> -					<2 RK_PC7 1 &pcfg_pull_up_20ma>;
> +		hp_int: hp-int {
> +			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
>   		};
> +	};
>   
> -		sdio0_cmd: sdio0-cmd {
> -			rockchip,pins = <2 RK_PD0 1 &pcfg_pull_up_20ma>;
> +	leds {
> +		user_led2: user-led2 {
> +			rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
>   		};
> +	};
>   
> -		sdio0_clk: sdio0-clk {
> -			rockchip,pins = <2 RK_PD1 1 &pcfg_pull_none_20ma>;
> +	pcie {
> +		pcie_pwr_en: pcie-pwr-en {
> +			rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
>   		};
>   	};
>   
> @@ -535,6 +589,23 @@
>   		};
>   	};
>   
> +	sdio0 {
> +		sdio0_bus4: sdio0-bus4 {
> +			rockchip,pins = <2 RK_PC4 1 &pcfg_pull_up_20ma>,
> +					<2 RK_PC5 1 &pcfg_pull_up_20ma>,
> +					<2 RK_PC6 1 &pcfg_pull_up_20ma>,
> +					<2 RK_PC7 1 &pcfg_pull_up_20ma>;
> +		};
> +
> +		sdio0_cmd: sdio0-cmd {
> +			rockchip,pins = <2 RK_PD0 1 &pcfg_pull_up_20ma>;
> +		};
> +
> +		sdio0_clk: sdio0-clk {
> +			rockchip,pins = <2 RK_PD1 1 &pcfg_pull_none_20ma>;
> +		};
> +	};
> +
>   	usb-typec {
>   		vcc5v0_typec_en: vcc5v0-typec-en {
>   			rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
> @@ -558,6 +629,11 @@
>   	};
>   };
>   
> +&pmu_io_domains {
> +	pmu1830-supply = <&vcc_3v0>;
> +	status = "okay";
> +};
> +
>   &pwm2 {
>   	status = "okay";
>   };
> @@ -568,6 +644,14 @@
>   	vref-supply = <&vcc_1v8>;
>   };
>   
> +&sdhci {
> +	bus-width = <8>;
> +	mmc-hs400-1_8v;
> +	mmc-hs400-enhanced-strobe;
> +	non-removable;
> +	status = "okay";
> +};
> +
>   &sdio0 {
>   	#address-cells = <1>;
>   	#size-cells = <0>;
> @@ -595,12 +679,13 @@
>   	status = "okay";
>   };
>   
> -&sdhci {
> -	bus-width = <8>;
> -	mmc-hs400-1_8v;
> -	mmc-hs400-enhanced-strobe;
> -	non-removable;
> -	status = "okay";
> +&spdif {
> +
> +	spdif_p0: port {
> +		spdif_p0_0: endpoint {
> +			remote-endpoint = <&dit_p0_0>;
> +		};
> +	};
>   };
>   
>   &tcphy0 {
> @@ -675,13 +760,13 @@
>   	status = "okay";
>   };
>   
> -&usbdrd_dwc3_0 {
> +&usbdrd3_1 {
>   	status = "okay";
> -	dr_mode = "host";
>   };
>   
> -&usbdrd3_1 {
> +&usbdrd_dwc3_0 {
>   	status = "okay";
> +	dr_mode = "host";
>   };
>   
>   &usbdrd_dwc3_1 {
> diff --git a/arch/arm/dts/rk3399-rock-pi-4b-u-boot.dtsi b/arch/arm/dts/rk3399-rock-pi-4a-u-boot.dtsi
> similarity index 100%
> rename from arch/arm/dts/rk3399-rock-pi-4b-u-boot.dtsi
> rename to arch/arm/dts/rk3399-rock-pi-4a-u-boot.dtsi
> diff --git a/arch/arm/dts/rk3399-rock-pi-4b.dts b/arch/arm/dts/rk3399-rock-pi-4b.dts
> deleted file mode 100644
> index 6c63e61706..0000000000
> --- a/arch/arm/dts/rk3399-rock-pi-4b.dts
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> -/*
> - * Copyright (c) 2019 Akash Gajjar <Akash_Gajjar at mentor.com>
> - * Copyright (c) 2019 Pragnesh Patel <Pragnesh_Patel at mentor.com>
> - */
> -
> -/dts-v1/;
> -#include "rk3399-rock-pi-4.dtsi"
> -
> -/ {
> -	model = "Radxa ROCK Pi 4B";
> -	compatible = "radxa,rockpi4b", "radxa,rockpi4", "rockchip,rk3399";
> -
> -	aliases {
> -		mmc2 = &sdio0;
> -	};
> -};
> -
> -&sdio0 {
> -	status = "okay";
> -
> -	brcmf: wifi at 1 {
> -		compatible = "brcm,bcm4329-fmac";
> -		reg = <1>;
> -		interrupt-parent = <&gpio0>;
> -		interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
> -		interrupt-names = "host-wake";
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&wifi_host_wake_l>;
> -	};
> -};
> -
> -&uart0 {
> -	status = "okay";
> -
> -	bluetooth {
> -		compatible = "brcm,bcm43438-bt";
> -		clocks = <&rk808 1>;
> -		clock-names = "ext_clock";
> -		device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
> -		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
> -		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
> -	};
> -};
> diff --git a/arch/arm/dts/rk3399-rock-pi-4c.dts b/arch/arm/dts/rk3399-rock-pi-4c.dts
> index 99169bcd51..4053ba7261 100644
> --- a/arch/arm/dts/rk3399-rock-pi-4c.dts
> +++ b/arch/arm/dts/rk3399-rock-pi-4c.dts
> @@ -17,6 +17,13 @@
>   	};
>   };
>   
> +&es8316 {
> +	pinctrl-0 = <&hp_detect &hp_int>;
> +	pinctrl-names = "default";
> +	interrupt-parent = <&gpio1>;
> +	interrupts = <RK_PA1 IRQ_TYPE_LEVEL_HIGH>;
> +};
> +
>   &sdio0 {
>   	status = "okay";
>   
> @@ -24,25 +31,32 @@
>   		compatible = "brcm,bcm4329-fmac";
>   		reg = <1>;
>   		interrupt-parent = <&gpio0>;
> -		interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
> +		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>;
>   		interrupt-names = "host-wake";
>   		pinctrl-names = "default";
>   		pinctrl-0 = <&wifi_host_wake_l>;
>   	};
>   };
>   
> +&sound {
> +	hp-det-gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
> +};
> +
>   &uart0 {
>   	status = "okay";
>   
>   	bluetooth {
> -		compatible = "brcm,bcm43438-bt";
> +		compatible = "brcm,bcm4345c5";
>   		clocks = <&rk808 1>;
> -		clock-names = "ext_clock";
> +		clock-names = "lpo";
>   		device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
>   		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
>   		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
> +		max-speed = <1500000>;
>   		pinctrl-names = "default";
>   		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
> +		vbat-supply = <&vcc3v3_sys>;
> +		vddio-supply = <&vcc_1v8>;
>   	};
>   };
>   


More information about the U-Boot mailing list