[PATCH] arm64: dts: rockchip: helios64: define usb hub and 2.5GbE nic

Heiko Stübner heiko at sntech.de
Sun Nov 21 09:50:30 PST 2021


Hi Dennis,

Am Dienstag, 26. Oktober 2021, 17:07:47 CET schrieb Dennis Gilmore:
> Add the 4 ports on the internal hub and define and turn on the 2.5GbE
> nic.
> 
> Signed-off-by: Dennis Gilmore <dgilmore at redhat.com>
> ---
>  .../dts/rockchip/rk3399-kobol-helios64.dts    | 55 +++++++++++++++++++
>  1 file changed, 55 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
> index 26d45cf7ce00..1ffddf860375 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
> @@ -125,6 +125,18 @@ pcie_power: pcie-power {
>  		vin-supply = <&vcc5v0_perdev>;
>  	};
>  
> +	usblan_power: usblan-power {
> +		compatible = "regulator-fixed";
> +		enable-active-high;
> +		gpio = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usb_lan_en>;
> +		regulator-name = "usblan_power";
> +		regulator-always-on;
> +		regulator-boot-on;
> +		vin-supply = <&vcc5v0_usb>;
> +	};
> +
>  	vcc1v8_sys_s0: vcc1v8-sys-s0 {
>  		compatible = "regulator-fixed";
>  		regulator-name = "vcc1v8_sys_s0";
> @@ -465,6 +477,11 @@ hdd_b_power_en: hdd-b-power-en {
>  		vcc5v0_usb_en: vcc5v0-usb-en {
>  			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
>  		};
> +
> +		usb_lan_en: usb-lan-en {
> +			rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
> +		};
> +
>  	};
>  
>  	vcc3v0-sd {
> @@ -563,5 +580,43 @@ &usbdrd3_1 {
>  	usb at fe900000 {
>  		dr_mode = "host";
>  		status = "okay";
> +
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		hub at 1 {
> +			compatible = "usb2109,0815";
> +			reg = <1>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port at 1 {

port@ nodes are not defined in the dt-bindings.

Are you really sure these are needed, as I guess only defining the
device at 4 should be enough and leaving the rest to be allocated
dynamically?

The binding at least contains the line
	Usually, we only use device tree for hard wired USB device.


Heiko

> +				reg = <1>;
> +				#trigger-source-cells = <0>;
> +			};
> +
> +			port at 2 {
> +				reg = <2>;
> +				#trigger-source-cells = <0>;
> +			};
> +
> +			port at 3 {
> +				reg = <3>;
> +				#trigger-source-cells = <0>;
> +			};
> +
> +			device at 4 {
> +				compatible = "usbbda,8156";
> +				reg = <4>;
> +
> +				#address-cells = <2>;
> +				#size-cells = <0>;
> +
> +				interface at 0 {	/* interface 0 of configuration 1 */
> +					compatible = "usbbda,8156.config1.0";
> +					reg = <0 1>;
> +				};
> +			};
> +		};
>  	};
>  };
> 







More information about the linux-arm-kernel mailing list