2021-10-26 20:27:13

by Dennis Gilmore

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

Add the 4 ports on the internal hub and define and turn on the 2.5GbE
nic.

Signed-off-by: Dennis Gilmore <[email protected]>
---
.../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@fe900000 {
dr_mode = "host";
status = "okay";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ hub@1 {
+ compatible = "usb2109,0815";
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ #trigger-source-cells = <0>;
+ };
+
+ port@2 {
+ reg = <2>;
+ #trigger-source-cells = <0>;
+ };
+
+ port@3 {
+ reg = <3>;
+ #trigger-source-cells = <0>;
+ };
+
+ device@4 {
+ compatible = "usbbda,8156";
+ reg = <4>;
+
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ interface@0 { /* interface 0 of configuration 1 */
+ compatible = "usbbda,8156.config1.0";
+ reg = <0 1>;
+ };
+ };
+ };
};
};
--
2.32.0


2021-10-28 16:36:46

by Florian Klink

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: helios64: define usb hub and 2.5GbE nic

On 21-10-26 10:07:47, Dennis Gilmore wrote:
>Add the 4 ports on the internal hub and define and turn on the 2.5GbE
>nic.
>
>Signed-off-by: Dennis Gilmore <[email protected]>

Tested-by: Florian Klink <[email protected]>

>---
> .../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@fe900000 {
> dr_mode = "host";
> status = "okay";
>+
>+ #address-cells = <1>;
>+ #size-cells = <0>;
>+
>+ hub@1 {
>+ compatible = "usb2109,0815";
>+ reg = <1>;
>+ #address-cells = <1>;
>+ #size-cells = <0>;
>+
>+ port@1 {
>+ reg = <1>;
>+ #trigger-source-cells = <0>;
>+ };
>+
>+ port@2 {
>+ reg = <2>;
>+ #trigger-source-cells = <0>;
>+ };
>+
>+ port@3 {
>+ reg = <3>;
>+ #trigger-source-cells = <0>;
>+ };
>+
>+ device@4 {
>+ compatible = "usbbda,8156";
>+ reg = <4>;
>+
>+ #address-cells = <2>;
>+ #size-cells = <0>;
>+
>+ interface@0 { /* interface 0 of configuration 1 */
>+ compatible = "usbbda,8156.config1.0";
>+ reg = <0 1>;
>+ };
>+ };
>+ };
> };
> };
>--
>2.32.0

2021-11-21 17:50:50

by Heiko Stübner

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: helios64: define usb hub and 2.5GbE nic

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 <[email protected]>
> ---
> .../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@fe900000 {
> dr_mode = "host";
> status = "okay";
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + hub@1 {
> + compatible = "usb2109,0815";
> + reg = <1>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@1 {

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

Are you really sure these are needed, as I guess only defining the
device@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@2 {
> + reg = <2>;
> + #trigger-source-cells = <0>;
> + };
> +
> + port@3 {
> + reg = <3>;
> + #trigger-source-cells = <0>;
> + };
> +
> + device@4 {
> + compatible = "usbbda,8156";
> + reg = <4>;
> +
> + #address-cells = <2>;
> + #size-cells = <0>;
> +
> + interface@0 { /* interface 0 of configuration 1 */
> + compatible = "usbbda,8156.config1.0";
> + reg = <0 1>;
> + };
> + };
> + };
> };
> };
>