diff mbox series

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

Message ID 1585150656-9754-1-git-send-email-sunil@amarulasolutions.com
State Accepted
Commit f9e2d9e8899f9edcdf1285073c0e2ca496ae4452
Headers show
Series arm: dts: rockchip: rk3399-roc-pc: Enable FE1.1 USB 2.0 HUB on roc-rk3399-pc | expand

Commit Message

Suniel Mahesh March 25, 2020, 3:37 p.m. UTC
From: Suniel Mahesh <sunil at 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 at 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(+)

Comments

Kever Yang March 26, 2020, 10:02 a.m. UTC | #1
On 2020/3/25 ??11:37, sunil at amarulasolutions.com wrote:
> From: Suniel Mahesh <sunil at 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 at amarulasolutions.com>


Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
> 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 {
Jagan Teki March 27, 2020, 9:43 a.m. UTC | #2
Hi Markus and Levin,

On Wed, Mar 25, 2020 at 9:08 PM <sunil at amarulasolutions.com> wrote:
>
> From: Suniel Mahesh <sunil at 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 at 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;
> +       };
>  };

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
Markus Reichl March 27, 2020, 11:09 a.m. UTC | #3
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 at amarulasolutions.com> wrote:
>>
>> From: Suniel Mahesh <sunil at 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 at 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;
>> +       };
>>  };
> 
> 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
>
diff mbox series

Patch

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 {