[PATCH v2 04/12] ARM: dts: rockchip: Add USB for RockPI N8/N10

Kever Yang kever.yang at rock-chips.com
Wed Jul 22 08:29:00 EDT 2020


On 2020/7/21 下午11:24, Jagan Teki wrote:
> Radxa dalang carrier board has 2x USB 2.0 and 1x USB 3.0
> ports.
>
> This patch adds support to enable all these USB ports for
> N10 and N8 combinations SBCs.
>
> Note that the USB 3.0 port on RockPI N8 combination works
> as USB 2.0 OTG since it is driven from RK3288.
>
> Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
> Changes for v2:
> - none
>
>   arch/arm/dts/rk3288-vmarc-som.dtsi            | 42 ++++++++++
>   arch/arm/dts/rk3399pro-vmarc-som.dtsi         | 78 +++++++++++++++++++
>   .../dts/rockchip-radxa-dalang-carrier.dtsi    | 18 +++++
>   3 files changed, 138 insertions(+)
>
> diff --git a/arch/arm/dts/rk3288-vmarc-som.dtsi b/arch/arm/dts/rk3288-vmarc-som.dtsi
> index 7a9fd40e5b..72a503e50d 100644
> --- a/arch/arm/dts/rk3288-vmarc-som.dtsi
> +++ b/arch/arm/dts/rk3288-vmarc-som.dtsi
> @@ -258,4 +258,46 @@
>   			rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_8ma>;
>   		};
>   	};
> +
> +	vbus_host {
> +		usb1_en_oc: usb1-en-oc {
> +			rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>;
> +		};
> +	};
> +
> +	vbus_typec {
> +		usb0_en_oc: usb0-en-oc {
> +			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>;
> +		};
> +	};
> +};
> +
> +&usbphy {
> +	status = "okay";
> +};
> +
> +&usb_host0_ehci {
> +	status = "okay";
> +};
> +
> +&usb_host0_ohci {
> +	status = "okay";
> +};
> +
> +&usb_host1 {
> +	status = "okay";
> +};
> +
> +&usb_otg {
> +	status = "okay";
> +};
> +
> +&vbus_host {
> +	enable-active-high;
> +	gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>; /* USB1_EN_OC# */
> +};
> +
> +&vbus_typec {
> +	enable-active-high;
> +	gpio = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; /* USB0_EN_OC# */
>   };
> diff --git a/arch/arm/dts/rk3399pro-vmarc-som.dtsi b/arch/arm/dts/rk3399pro-vmarc-som.dtsi
> index 37ed95d5f7..111d6cf9a4 100644
> --- a/arch/arm/dts/rk3399pro-vmarc-som.dtsi
> +++ b/arch/arm/dts/rk3399pro-vmarc-som.dtsi
> @@ -304,6 +304,18 @@
>   			rockchip,pins = <1 RK_PC2 0 &pcfg_pull_up>;
>   		};
>   	};
> +
> +	vbus_host {
> +		usb1_en_oc: usb1-en-oc {
> +			rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
> +		};
> +	};
> +
> +	vbus_typec {
> +		usb0_en_oc: usb0-en-oc {
> +			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>;
> +		};
> +	};
>   };
>   
>   &pmu_io_domains {
> @@ -324,8 +336,74 @@
>   	max-frequency = <150000000>;
>   };
>   
> +&tcphy0 {
> +	status = "okay";
> +};
> +
>   &tsadc {
>   	rockchip,hw-tshut-mode = <1>;
>   	rockchip,hw-tshut-polarity = <1>;
>   	status = "okay";
>   };
> +
> +&u2phy0 {
> +	status = "okay";
> +
> +	u2phy0_otg: otg-port {
> +		phy-supply = <&vbus_typec>;
> +		status = "okay";
> +	};
> +
> +	u2phy0_host: host-port {
> +		phy-supply = <&vbus_host>;
> +		status = "okay";
> +	};
> +};
> +
> +
> +&u2phy1 {
> +	status = "okay";
> +
> +	u2phy1_host: host-port {
> +		phy-supply = <&vbus_host>;
> +		status = "okay";
> +	};
> +};
> +
> +&usb_host0_ehci {
> +	status = "okay";
> +};
> +
> +&usb_host0_ohci {
> +	status = "okay";
> +};
> +
> +&usb_host1_ehci {
> +	status = "okay";
> +};
> +
> +&usb_host1_ohci {
> +	status = "okay";
> +};
> +
> +&usbdrd3_0 {
> +	status = "okay";
> +};
> +
> +&usbdrd_dwc3_0 {
> +	status = "okay";
> +};
> +
> +&vbus_host {
> +	enable-active-high;
> +	gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>; /* USB1_EN_OC# */
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&usb1_en_oc>;
> +};
> +
> +&vbus_typec {
> +	enable-active-high;
> +	gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; /* USB0_EN_OC# */
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&usb0_en_oc>;
> +};
> diff --git a/arch/arm/dts/rockchip-radxa-dalang-carrier.dtsi b/arch/arm/dts/rockchip-radxa-dalang-carrier.dtsi
> index 450e5bb5af..d2b6ead148 100644
> --- a/arch/arm/dts/rockchip-radxa-dalang-carrier.dtsi
> +++ b/arch/arm/dts/rockchip-radxa-dalang-carrier.dtsi
> @@ -33,6 +33,24 @@
>   		regulator-max-microvolt = <5000000>;
>   		vin-supply = <&vcc12v_dcin>;
>   	};
> +
> +	vbus_host: vbus-host {
> +		compatible = "regulator-fixed";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usb1_en_oc>;
> +		regulator-name = "vbus_host"; /* HOST-5V */
> +		regulator-always-on;
> +		vin-supply = <&vcc5v0_sys>;
> +	};
> +
> +	vbus_typec: vbus-typec {
> +		compatible = "regulator-fixed";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usb0_en_oc>;
> +		regulator-name = "vbus_typec";
> +		regulator-always-on;
> +		vin-supply = <&vcc5v0_sys>;
> +	};
>   };
>   
>   &gmac {





More information about the Linux-rockchip mailing list