* [PATCH v7 2/2] arm64: dts: amlogic: Used onboard usb hub reset on odroid n2
[not found] <20240613123020.43500-1-linux.amoon@gmail.com>
@ 2024-06-13 12:30 ` Anand Moon
2024-06-24 8:15 ` Neil Armstrong
0 siblings, 1 reply; 3+ messages in thread
From: Anand Moon @ 2024-06-13 12:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong,
Kevin Hilman, Jerome Brunet, Martin Blumenstingl
Cc: Anand Moon, devicetree, linux-arm-kernel, linux-amlogic,
linux-kernel
On Odroid n2/n2+ previously use gpio-hog to reset the usb hub,
switch to used on-board usb hub reset to enable the usb hub
and enable power to hub.
Signed-off-by: Anand Moon <linux.amoon@gmail.com>
---
v7:none
V6:none
V5:none
V4:none
V3:none
V2:none
V1:none
---
.../dts/amlogic/meson-g12b-odroid-n2.dtsi | 36 ++++++++++++-------
1 file changed, 24 insertions(+), 12 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
index d80dd9a3da31..86eb81112232 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
@@ -31,6 +31,30 @@ hub_5v: regulator-hub-5v {
enable-active-high;
};
+ /* USB hub supports both USB 2.0 and USB 3.0 root hub */
+ usb-hub {
+ dr_mode = "host";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* 2.0 hub on port 1 */
+ hub_2_0: hub@1 {
+ compatible = "usb5e3,610";
+ reg = <1>;
+ peer-hub = <&hub_3_0>;
+ vdd-supply = <&usb_pwr_en>;
+ };
+
+ /* 3.0 hub on port 4 */
+ hub_3_0: hub@2 {
+ compatible = "usb5e3,620";
+ reg = <2>;
+ peer-hub = <&hub_2_0>;
+ reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
+ vdd-supply = <&vcc_5v>;
+ };
+ };
+
sound {
compatible = "amlogic,axg-sound-card";
model = "ODROID-N2";
@@ -234,18 +258,6 @@ &gpio {
"PIN_3", /* GPIOX_17 */
"PIN_5", /* GPIOX_18 */
"PIN_36"; /* GPIOX_19 */
- /*
- * WARNING: The USB Hub on the Odroid-N2 needs a reset signal
- * to be turned high in order to be detected by the USB Controller
- * This signal should be handled by a USB specific power sequence
- * in order to reset the Hub when USB bus is powered down.
- */
- usb-hub-hog {
- gpio-hog;
- gpios = <GPIOH_4 GPIO_ACTIVE_HIGH>;
- output-high;
- line-name = "usb-hub-reset";
- };
};
&i2c3 {
--
2.44.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v7 2/2] arm64: dts: amlogic: Used onboard usb hub reset on odroid n2
2024-06-13 12:30 ` [PATCH v7 2/2] arm64: dts: amlogic: Used onboard usb hub reset on odroid n2 Anand Moon
@ 2024-06-24 8:15 ` Neil Armstrong
2024-06-24 9:46 ` Anand Moon
0 siblings, 1 reply; 3+ messages in thread
From: Neil Armstrong @ 2024-06-24 8:15 UTC (permalink / raw)
To: Anand Moon, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Kevin Hilman, Jerome Brunet, Martin Blumenstingl
Cc: devicetree, linux-arm-kernel, linux-amlogic, linux-kernel
Hi,
On 13/06/2024 14:30, Anand Moon wrote:
> On Odroid n2/n2+ previously use gpio-hog to reset the usb hub,
> switch to used on-board usb hub reset to enable the usb hub
> and enable power to hub.
>
> Signed-off-by: Anand Moon <linux.amoon@gmail.com>
> ---
> v7:none
> V6:none
> V5:none
> V4:none
> V3:none
> V2:none
> V1:none
> ---
> .../dts/amlogic/meson-g12b-odroid-n2.dtsi | 36 ++++++++++++-------
> 1 file changed, 24 insertions(+), 12 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
> index d80dd9a3da31..86eb81112232 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
> @@ -31,6 +31,30 @@ hub_5v: regulator-hub-5v {
> enable-active-high;
> };
>
> + /* USB hub supports both USB 2.0 and USB 3.0 root hub */
> + usb-hub {
> + dr_mode = "host";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* 2.0 hub on port 1 */
> + hub_2_0: hub@1 {
> + compatible = "usb5e3,610";
> + reg = <1>;
> + peer-hub = <&hub_3_0>;
> + vdd-supply = <&usb_pwr_en>;
> + };
> +
> + /* 3.0 hub on port 4 */
> + hub_3_0: hub@2 {
> + compatible = "usb5e3,620";
> + reg = <2>;
> + peer-hub = <&hub_2_0>;
> + reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
> + vdd-supply = <&vcc_5v>;
> + };
> + };
Why is this nodes under / and not the dwc3 node ????
With this current DT, there's no way for the usb controller
to find those usb devices subnodes in /usb-hub, and it's clearly
not described like this in the bindings.
Neil
> +
> sound {
> compatible = "amlogic,axg-sound-card";
> model = "ODROID-N2";
> @@ -234,18 +258,6 @@ &gpio {
> "PIN_3", /* GPIOX_17 */
> "PIN_5", /* GPIOX_18 */
> "PIN_36"; /* GPIOX_19 */
> - /*
> - * WARNING: The USB Hub on the Odroid-N2 needs a reset signal
> - * to be turned high in order to be detected by the USB Controller
> - * This signal should be handled by a USB specific power sequence
> - * in order to reset the Hub when USB bus is powered down.
> - */
> - usb-hub-hog {
> - gpio-hog;
> - gpios = <GPIOH_4 GPIO_ACTIVE_HIGH>;
> - output-high;
> - line-name = "usb-hub-reset";
> - };
> };
>
> &i2c3 {
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v7 2/2] arm64: dts: amlogic: Used onboard usb hub reset on odroid n2
2024-06-24 8:15 ` Neil Armstrong
@ 2024-06-24 9:46 ` Anand Moon
0 siblings, 0 replies; 3+ messages in thread
From: Anand Moon @ 2024-06-24 9:46 UTC (permalink / raw)
To: neil.armstrong
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Kevin Hilman,
Jerome Brunet, Martin Blumenstingl, devicetree, linux-arm-kernel,
linux-amlogic, linux-kernel
Hi Neil,
On Mon, 24 Jun 2024 at 13:45, Neil Armstrong <neil.armstrong@linaro.org> wrote:
>
> Hi,
>
> On 13/06/2024 14:30, Anand Moon wrote:
> > On Odroid n2/n2+ previously use gpio-hog to reset the usb hub,
> > switch to used on-board usb hub reset to enable the usb hub
> > and enable power to hub.
> >
> > Signed-off-by: Anand Moon <linux.amoon@gmail.com>
> > ---
> > v7:none
> > V6:none
> > V5:none
> > V4:none
> > V3:none
> > V2:none
> > V1:none
> > ---
> > .../dts/amlogic/meson-g12b-odroid-n2.dtsi | 36 ++++++++++++-------
> > 1 file changed, 24 insertions(+), 12 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
> > index d80dd9a3da31..86eb81112232 100644
> > --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
> > +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
> > @@ -31,6 +31,30 @@ hub_5v: regulator-hub-5v {
> > enable-active-high;
> > };
> >
> > + /* USB hub supports both USB 2.0 and USB 3.0 root hub */
> > + usb-hub {
> > + dr_mode = "host";
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + /* 2.0 hub on port 1 */
> > + hub_2_0: hub@1 {
> > + compatible = "usb5e3,610";
> > + reg = <1>;
> > + peer-hub = <&hub_3_0>;
> > + vdd-supply = <&usb_pwr_en>;
> > + };
> > +
> > + /* 3.0 hub on port 4 */
> > + hub_3_0: hub@2 {
> > + compatible = "usb5e3,620";
> > + reg = <2>;
> > + peer-hub = <&hub_2_0>;
> > + reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
> > + vdd-supply = <&vcc_5v>;
> > + };
> > + };
>
> Why is this nodes under / and not the dwc3 node ????
it's similar to usb-hub-hog, mostly usb-hub is just used to reset the
USB hub controller
and set the power source of the USB hub.
>
> With this current DT, there's no way for the usb controller
> to find those usb devices subnodes in /usb-hub, and it's clearly
> not described like this in the bindings.
USB hub is independent of the dwc2 and dwc3 initialization (phy, usb).
With this patch applied on my odroid-n2plus ,
I could see usb-hub entry in the /proc/device-tree nodes.
alarm@odroid-n2plus:~$ tree /proc/device-tree/usb-hub/
/proc/device-tree/usb-hub/
├── #address-cells
├── dr_mode
├── hub@1
│ ├── compatible
│ ├── name
│ ├── peer-hub
│ ├── phandle
│ ├── reg
│ └── vdd-supply
├── hub@2
│ ├── compatible
│ ├── name
│ ├── peer-hub
│ ├── phandle
│ ├── reg
│ ├── reset-gpios
│ └── vdd-supply
├── name
└── #size-cells
3 directories, 17 files
alarm@odroid-n2plus:~$
alarm@odroid-n2plus:~$ lsusb -tv
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
|__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
ID 05e3:0610 Genesys Logic, Inc. Hub
|__ Port 003: Dev 003, If 0, Class=Mass Storage,
Driver=usb-storage, 480M
ID 058f:6387 Alcor Micro Corp. Flash Drive
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
|__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 5000M
ID 05e3:0620 Genesys Logic, Inc. GL3523 Hub
|__ Port 004: Dev 003, If 0, Class=Mass Storage,
Driver=usb-storage, 5000M
ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s
bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge,
ASM1153E SATA 6Gb/s bridge
>
> Neil
>
Thanks
-Anand
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-06-24 9:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20240613123020.43500-1-linux.amoon@gmail.com>
2024-06-13 12:30 ` [PATCH v7 2/2] arm64: dts: amlogic: Used onboard usb hub reset on odroid n2 Anand Moon
2024-06-24 8:15 ` Neil Armstrong
2024-06-24 9:46 ` Anand Moon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).