[PATCH] arm: dts: rockchip: rk3399-roc-pc: Enable FE1.1 USB 2.0 HUB on roc-rk3399-pc

From: Suniel Mahesh sunil@amarulasolutions.com
roc-rk3399-pc has an FE1.1 USB 2.0 HUB which connects two USB ports (HOST1 and HOST2). For end devices to work we need to enable USB hub so that HOST detects there presence and enumerates them accordingly. This requires explicit pinctrl within gpio enablement.
Signed-off-by: Suniel Mahesh sunil@amarulasolutions.com --- Note: 1. tested this on roc-rk3399-pc board version roc-rk3399-pc-v1.1-a 2018-9-25 2. after this changeset, HOST1 works but HOST2 still doesnt work. I have tested them with linux-next, linux-rockchip and Firefly's source (both u-boot and kernel), HOST2 doesn't work. 3. Request to test this changetest who have access to target and please advice on HOST2 --- arch/arm/dts/rk3399-roc-pc-u-boot.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi b/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi index 5746442..598e0e2 100644 --- a/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi +++ b/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi @@ -14,6 +14,16 @@ chosen { u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc; }; + + vcc_hub_en: vcc_hub_en-regulator { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&hub_rst>; + regulator-name = "vcc_hub_en"; + regulator-always-on; + }; };
&vdd_log {

On 2020/3/25 下午11:37, sunil@amarulasolutions.com wrote:
From: Suniel Mahesh sunil@amarulasolutions.com
roc-rk3399-pc has an FE1.1 USB 2.0 HUB which connects two USB ports (HOST1 and HOST2). For end devices to work we need to enable USB hub so that HOST detects there presence and enumerates them accordingly. This requires explicit pinctrl within gpio enablement.
Signed-off-by: Suniel Mahesh sunil@amarulasolutions.com
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Thanks, - Kever
Note:
- tested this on roc-rk3399-pc board version roc-rk3399-pc-v1.1-a 2018-9-25
- after this changeset, HOST1 works but HOST2 still doesnt work. I have
tested them with linux-next, linux-rockchip and Firefly's source (both u-boot and kernel), HOST2 doesn't work. 3. Request to test this changetest who have access to target and please advice on HOST2
arch/arm/dts/rk3399-roc-pc-u-boot.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi b/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi index 5746442..598e0e2 100644 --- a/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi +++ b/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi @@ -14,6 +14,16 @@ chosen { u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc; };
vcc_hub_en: vcc_hub_en-regulator {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hub_rst>;
regulator-name = "vcc_hub_en";
regulator-always-on;
}; };
&vdd_log {

On Thu, Mar 26, 2020 at 3:33 PM Kever Yang kever.yang@rock-chips.com wrote:
On 2020/3/25 下午11:37, sunil@amarulasolutions.com wrote:
From: Suniel Mahesh sunil@amarulasolutions.com
roc-rk3399-pc has an FE1.1 USB 2.0 HUB which connects two USB ports (HOST1 and HOST2). For end devices to work we need to enable USB hub so that HOST detects there presence and enumerates them accordingly. This requires explicit pinctrl within gpio enablement.
Signed-off-by: Suniel Mahesh sunil@amarulasolutions.com
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Hi Kever, This is patch is reviewed but not applied to mainline. please let me know if you need any more changes.
Thanks Suniel
Thanks,
- Kever
Note:
- tested this on roc-rk3399-pc board version roc-rk3399-pc-v1.1-a
2018-9-25
- after this changeset, HOST1 works but HOST2 still doesnt work. I have
tested them with linux-next, linux-rockchip and Firefly's source (both
u-boot
and kernel), HOST2 doesn't work. 3. Request to test this changetest who have access to target and please
advice
on HOST2
arch/arm/dts/rk3399-roc-pc-u-boot.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi
b/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi
index 5746442..598e0e2 100644 --- a/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi +++ b/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi @@ -14,6 +14,16 @@ chosen { u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc; };
vcc_hub_en: vcc_hub_en-regulator {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hub_rst>;
regulator-name = "vcc_hub_en";
regulator-always-on;
};
};
&vdd_log {

From: Suniel Mahesh sunil@amarulasolutions.com
roc-rk3399-pc has an FE1.1 USB 2.0 HUB which connects two USB ports (HOST1 and HOST2). For end devices to work we need to enable USB hub so that HOST detects there presence and enumerates them accordingly. This requires explicit pinctrl within gpio enablement.
Signed-off-by: Suniel Mahesh sunil@amarulasolutions.com Reviewed-by: Kever Yang kever.yang@rock-chips.com --- Note: 1. patch was reviewed, but not committed to mainline 2. tested this on roc-rk3399-pc board version roc-rk3399-pc-v1.1-a 2018-9-25 --- arch/arm/dts/rk3399-roc-pc-u-boot.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi b/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi index 5746442..598e0e2 100644 --- a/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi +++ b/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi @@ -14,6 +14,16 @@ chosen { u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc; }; + + vcc_hub_en: vcc_hub_en-regulator { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&hub_rst>; + regulator-name = "vcc_hub_en"; + regulator-always-on; + }; };
&vdd_log {

Hi Markus and Levin,
On Wed, Mar 25, 2020 at 9:08 PM sunil@amarulasolutions.com wrote:
From: Suniel Mahesh sunil@amarulasolutions.com
roc-rk3399-pc has an FE1.1 USB 2.0 HUB which connects two USB ports (HOST1 and HOST2). For end devices to work we need to enable USB hub so that HOST detects there presence and enumerates them accordingly. This requires explicit pinctrl within gpio enablement.
Signed-off-by: Suniel Mahesh sunil@amarulasolutions.com
Note:
- tested this on roc-rk3399-pc board version roc-rk3399-pc-v1.1-a 2018-9-25
- after this changeset, HOST1 works but HOST2 still doesnt work. I have
tested them with linux-next, linux-rockchip and Firefly's source (both u-boot and kernel), HOST2 doesn't work. 3. Request to test this changetest who have access to target and please advice on HOST2
arch/arm/dts/rk3399-roc-pc-u-boot.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi b/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi index 5746442..598e0e2 100644 --- a/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi +++ b/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi @@ -14,6 +14,16 @@ chosen { u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc; };
vcc_hub_en: vcc_hub_en-regulator {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hub_rst>;
regulator-name = "vcc_hub_en";
regulator-always-on;
};
};
Can you please confirm the tests from your side? not sure why would an explicit vbus_hub_en required here since the vcc5v0_host has it, but without pinctrl.
Jagan

Hi Jagan,
My boards are -V1.0-A 2018-07-12.
With this patch below, both HOST1 and HOST2 (and of course HOST0) detect an USB stick in current U-Boot.
Without this patch below, only HOST0 detects an USB stick.
I suspect, your HOST2 HW is broken.
Gruß, -- Markus
Am 27.03.20 um 10:43 schrieb Jagan Teki:
Hi Markus and Levin,
On Wed, Mar 25, 2020 at 9:08 PM sunil@amarulasolutions.com wrote:
From: Suniel Mahesh sunil@amarulasolutions.com
roc-rk3399-pc has an FE1.1 USB 2.0 HUB which connects two USB ports (HOST1 and HOST2). For end devices to work we need to enable USB hub so that HOST detects there presence and enumerates them accordingly. This requires explicit pinctrl within gpio enablement.
Signed-off-by: Suniel Mahesh sunil@amarulasolutions.com
Note:
- tested this on roc-rk3399-pc board version roc-rk3399-pc-v1.1-a 2018-9-25
- after this changeset, HOST1 works but HOST2 still doesnt work. I have
tested them with linux-next, linux-rockchip and Firefly's source (both u-boot and kernel), HOST2 doesn't work. 3. Request to test this changetest who have access to target and please advice on HOST2
arch/arm/dts/rk3399-roc-pc-u-boot.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi b/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi index 5746442..598e0e2 100644 --- a/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi +++ b/arch/arm/dts/rk3399-roc-pc-u-boot.dtsi @@ -14,6 +14,16 @@ chosen { u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc; };
vcc_hub_en: vcc_hub_en-regulator {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hub_rst>;
regulator-name = "vcc_hub_en";
regulator-always-on;
};
};
Can you please confirm the tests from your side? not sure why would an explicit vbus_hub_en required here since the vcc5v0_host has it, but without pinctrl.
Jagan
participants (5)
-
Jagan Teki
-
Kever Yang
-
Markus Reichl
-
Suniel Mahesh
-
sunil@amarulasolutions.com