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 |
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 {
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
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 --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 {