[PATCH 1/2] arm64: dts: rockchip: Add ROCKPi 4A/4B support

Kever Yang kever.yang at rock-chips.com
Mon Jul 20 23:10:27 EDT 2020


On 2020/7/20 下午11:30, Jagan Teki wrote:
> Rock PI 4 has 3 variants of hardware platforms called
> RockPI 4A, 4B, and 4C.
>
> - Rock PI 4A has no Wif/BT.
> - Rock PI 4B has AP6256 Wifi/BT, PoE.
> - Rock PI 4C has AP6256 Wifi/BT, PoE, miniDP, USB Host enable
>    GPIO pin change compared to 4B, 4C
>
> So move common nodes, properties into dtsi file and include
> on respective variant dts files.
>
> Use 4B dts into default rock-pi-4 defconfig until we find any
> solution for dynamic detection of these variants.
>
> Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
Reviewed-by: Kever Yang<kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
> Note: Linux dts changes on mailing-list
> https://lkml.org/lkml/2020/7/20/443
> https://lkml.org/lkml/2020/7/20/444
>
>   arch/arm/dts/Makefile                         |  3 +-
>   ...99-rock-pi-4.dts => rk3399-rock-pi-4.dtsi} | 26 ------------
>   arch/arm/dts/rk3399-rock-pi-4a.dts            | 13 ++++++
>   arch/arm/dts/rk3399-rock-pi-4b-u-boot.dtsi    |  6 +++
>   arch/arm/dts/rk3399-rock-pi-4b.dts            | 42 +++++++++++++++++++
>   configs/rock-pi-4-rk3399_defconfig            |  4 +-
>   6 files changed, 65 insertions(+), 29 deletions(-)
>   rename arch/arm/dts/{rk3399-rock-pi-4.dts => rk3399-rock-pi-4.dtsi} (95%)
>   create mode 100644 arch/arm/dts/rk3399-rock-pi-4a.dts
>   create mode 100644 arch/arm/dts/rk3399-rock-pi-4b-u-boot.dtsi
>   create mode 100644 arch/arm/dts/rk3399-rock-pi-4b.dts
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 82e9b18cb8..bcd89af6a5 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -136,7 +136,8 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
>   	rk3399-puma-haikou.dtb \
>   	rk3399-roc-pc.dtb \
>   	rk3399-roc-pc-mezzanine.dtb \
> -	rk3399-rock-pi-4.dtb \
> +	rk3399-rock-pi-4a.dtb \
> +	rk3399-rock-pi-4b.dtb \
>   	rk3399-rock960.dtb \
>   	rk3399-rockpro64.dtb \
>   	rk3399pro-rock-pi-n10.dtb
> diff --git a/arch/arm/dts/rk3399-rock-pi-4.dts b/arch/arm/dts/rk3399-rock-pi-4.dtsi
> similarity index 95%
> rename from arch/arm/dts/rk3399-rock-pi-4.dts
> rename to arch/arm/dts/rk3399-rock-pi-4.dtsi
> index 3923ec01ef..1c55a4645b 100644
> --- a/arch/arm/dts/rk3399-rock-pi-4.dts
> +++ b/arch/arm/dts/rk3399-rock-pi-4.dtsi
> @@ -11,9 +11,6 @@
>   #include "rk3399-opp.dtsi"
>   
>   / {
> -	model = "Radxa ROCK Pi 4";
> -	compatible = "radxa,rockpi4", "rockchip,rk3399";
> -
>   	chosen {
>   		stdout-path = "serial2:1500000n8";
>   	};
> @@ -587,17 +584,6 @@
>   	pinctrl-names = "default";
>   	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
>   	sd-uhs-sdr104;
> -	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>;
> -	};
>   };
>   
>   &sdmmc {
> @@ -666,18 +652,6 @@
>   &uart0 {
>   	pinctrl-names = "default";
>   	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
> -	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>;
> -	};
>   };
>   
>   &uart2 {
> diff --git a/arch/arm/dts/rk3399-rock-pi-4a.dts b/arch/arm/dts/rk3399-rock-pi-4a.dts
> new file mode 100644
> index 0000000000..d96dd3ebd3
> --- /dev/null
> +++ b/arch/arm/dts/rk3399-rock-pi-4a.dts
> @@ -0,0 +1,13 @@
> +// 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 4A";
> +	compatible = "radxa,rockpi4", "rockchip,rk3399";
> +};
> diff --git a/arch/arm/dts/rk3399-rock-pi-4b-u-boot.dtsi b/arch/arm/dts/rk3399-rock-pi-4b-u-boot.dtsi
> new file mode 100644
> index 0000000000..85ee5770ad
> --- /dev/null
> +++ b/arch/arm/dts/rk3399-rock-pi-4b-u-boot.dtsi
> @@ -0,0 +1,6 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright (C) 2019 Jagan Teki <jagan at amarulasolutions.com>
> + */
> +
> +#include "rk3399-rock-pi-4-u-boot.dtsi"
> diff --git a/arch/arm/dts/rk3399-rock-pi-4b.dts b/arch/arm/dts/rk3399-rock-pi-4b.dts
> new file mode 100644
> index 0000000000..4ca970acac
> --- /dev/null
> +++ b/arch/arm/dts/rk3399-rock-pi-4b.dts
> @@ -0,0 +1,42 @@
> +// 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,rockpi4", "rockchip,rk3399";
> +};
> +
> +&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/configs/rock-pi-4-rk3399_defconfig b/configs/rock-pi-4-rk3399_defconfig
> index 98f71a50a5..1d34476825 100644
> --- a/configs/rock-pi-4-rk3399_defconfig
> +++ b/configs/rock-pi-4-rk3399_defconfig
> @@ -9,7 +9,7 @@ CONFIG_DEBUG_UART_BASE=0xFF1A0000
>   CONFIG_DEBUG_UART_CLOCK=24000000
>   CONFIG_DEBUG_UART=y
>   # CONFIG_ANDROID_BOOT_IMAGE is not set
> -CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rock-pi-4.dtb"
> +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rock-pi-4b.dtb"
>   CONFIG_MISC_INIT_R=y
>   CONFIG_DISPLAY_BOARDINFO_LATE=y
>   # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
> @@ -24,7 +24,7 @@ CONFIG_CMD_USB=y
>   # CONFIG_CMD_SETEXPR is not set
>   CONFIG_CMD_TIME=y
>   CONFIG_SPL_OF_CONTROL=y
> -CONFIG_DEFAULT_DEVICE_TREE="rk3399-rock-pi-4"
> +CONFIG_DEFAULT_DEVICE_TREE="rk3399-rock-pi-4b"
>   CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
>   CONFIG_ENV_IS_IN_MMC=y
>   CONFIG_SYS_RELOC_GD_ENV_ADDR=y





More information about the Linux-rockchip mailing list