Use onboard usb hub reset on Odroid N2
Subsystems (3)
v5 cover Use onboard usb hub reset on Odroid N2
Add new binding for Genesys GL3523 Fix the dt_binding_check error
Fix commit message and peer-hub description Fix commit message and peer-hub description
Previous:
v1: https://lore.kernel.org/r/[email protected]
v2: https://lore.kernel.org/all/[email protected]/
v3: https://lore.kernel.org/all/[email protected]/
v4: https://lore.kernel.org/all/[email protected]/
Thanks
-Anand
Anand Moon (2):
dt-bindings: usb: Add the binding example for the Genesys Logic GL3523
hub
arm64: dts: amlogic: Used onboard usb hub reset on odroid n2
.../bindings/usb/genesys,gl850g.yaml | 65 +++++++++++++++++-- .../dts/amlogic/meson-g12b-odroid-n2.dtsi | 36 ++++++---- 2 files changed, 85 insertions(+), 16 deletions(-)
Signature · 7 lines
2.42.0 _______________________________________________ linux-amlogic mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-amlogic
PATCH v5 1/2 dt-bindings: usb: Add the binding example for the Genesys Logic GL3523 hub
Add the binding example for the USB3.1 Genesys Logic GL3523 integrates with USB 3.1 Gen 1 Super Speed and USB 2.0 High-Speed hub.
For onboard hub controllers that support USB 3.x and USB 2.0 hubs with shared resets and power supplies, this property is used to identify the hubs with which these are shared.
---
v5: upgrade peer-hub description : Conor Dooley
[0] https://www.genesyslogic.com.tw/en/product_view.php?show=67 [Block Diagram]
v4: Fix the description of peer-hub and update the commit message. Schematics of the Odroid N2+
https://dn.odroid.com/S922X/ODROID-N2/Schematic/odroid-n2_rev0.6_20210121.pdf
V3: fix the dt_binding_check error, added new example for Genesys GL3523
v2: added Genesys GL3523 binding
v1: none
--- .../bindings/usb/genesys,gl850g.yaml | 65 +++++++++++++++++-- 1 file changed, 61 insertions(+), 4 deletions(-)
Documentation/devicetree/bindings/usb/genesys,gl850g.yaml +61 -4
@@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller maintainers: - Icenowy Zheng <[email protected]> -allOf: - - $ref: usb-device.yaml# - properties: compatible: enum:
@@ -27,12 +24,46 @@ properties: vdd-supply: description: - the regulator that provides 3.3V core power to the hub. + phandle to the regulator that provides power to the hub. + + peer-hub: + $ref: /schemas/types.yaml#/definitions/phandle + description: + For onboard hub controllers that support USB 3.x and USB 2.0 hubs + with shared resets and power supplies, this property is used to identify + the hubs with which these are shared. required: - compatible - reg +allOf: + - $ref: usb-device.yaml# + - if: + properties: + compatible: + contains: + enum: + - usb5e3,608 + then: + properties: + peer-hub: false + vdd-supply: false + reset-gpios: true + + - if: + properties: + compatible: + contains: + enum: + - usb5e3,610 + - usb5e3,620 + then: + properties: + peer-hub: true + vdd-supply: true + reset-gpios: true + additionalProperties: false examples:
@@ -49,3 +80,29 @@ examples: reset-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>; }; }; + + - | + #include <dt-bindings/gpio/gpio.h> + usb { + 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>; + reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + vdd-supply = <&vcc_5v>; + }; + + /* 3.1 hub on port 4 */ + hub_3_0: hub@2 { + compatible = "usb5e3,620"; + reg = <2>; + peer-hub = <&hub_2_0>; + reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + vdd-supply = <&vcc_5v>; + }; + };
Signature · 1 line
2.42.0
Re: [PATCH v5 1/2] dt-bindings: usb: Add the binding example for the Genesys Logic GL3523 hub
Quoted 10 lines · Anand Moon
Add the binding example for the USB3.1 Genesys Logic GL3523 integrates with USB 3.1 Gen 1 Super Speed and USB 2.0 High-Speed hub.
For onboard hub controllers that support USB 3.x and USB 2.0 hubs with shared resets and power supplies, this property is used to identify the hubs with which these are shared.
[Conor Dooley: upgrade peer-hub description]
This should not be in the commit message. Otherwise,
Cheers,
Conor.
Quoted 109 lines
Signed-off-by Anand Moon <[email protected]>---
v5: upgrade peer-hub description : Conor Dooley
[0] https://www.genesyslogic.com.tw/en/product_view.php?show=67 [Block Diagram]
v4: Fix the description of peer-hub and update the commit message. Schematics of the Odroid N2+
https://dn.odroid.com/S922X/ODROID-N2/Schematic/odroid-n2_rev0.6_20210121.pdf
V3: fix thedt_binding_checkerror, added new example for Genesys GL3523
v2: added Genesys GL3523 binding
v1: none--- .../bindings/usb/genesys,gl850g.yaml | 65 +++++++++++++++++-- 1 file changed, 61 insertions(+), 4 deletions(-)Documentation/devicetree/bindings/usb/genesys,gl850g.yaml +61
-4@@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller maintainers: - Icenowy Zheng <[email protected]> -allOf: - - $ref: usb-device.yaml# - properties: compatible: enum:@@ -27,12 +24,46 @@ properties: vdd-supply: description: - the regulator that provides 3.3V core power to the hub. + phandle to the regulator that provides power to the hub. + + peer-hub: + $ref: /schemas/types.yaml#/definitions/phandle + description: + For onboard hub controllers that support USB 3.x and USB 2.0 hubs + with shared resets and power supplies, this property is used to identify + the hubs with which these are shared. required: - compatible - reg +allOf: + - $ref: usb-device.yaml# + - if: + properties: + compatible: + contains: + enum: + - usb5e3,608 + then: + properties: + peer-hub: false + vdd-supply: false + reset-gpios: true + + - if: + properties: + compatible: + contains: + enum: + - usb5e3,610 + - usb5e3,620 + then: + properties: + peer-hub: true + vdd-supply: true + reset-gpios: true + additionalProperties: false examples:@@ -49,3 +80,29 @@ examples: reset-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>; }; }; + + - | + #include <dt-bindings/gpio/gpio.h> + usb { + 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>; + reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + vdd-supply = <&vcc_5v>; + }; + + /* 3.1 hub on port 4 */ + hub_3_0: hub@2 { + compatible = "usb5e3,620"; + reg = <2>; + peer-hub = <&hub_2_0>; + reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + vdd-supply = <&vcc_5v>; + }; + };Signature · 1 line
2.42.0
Re: [PATCH v5 1/2] dt-bindings: usb: Add the binding example for the Genesys Logic GL3523 hub
Quoted 48 lines · Conor Dooley
Quoted 10 lines · Anand Moon
Add the binding example for the USB3.1 Genesys Logic GL3523 integrates with USB 3.1 Gen 1 Super Speed and USB 2.0 High-Speed hub.
For onboard hub controllers that support USB 3.x and USB 2.0 hubs with shared resets and power supplies, this property is used to identify the hubs with which these are shared.
[Conor Dooley: upgrade peer-hub description]
This should not be in the commit message. Otherwise,
Reviewed-by Conor Dooley <[email protected]>Cheers,
Conor.Quoted 30 lines
Signed-off-by Anand Moon <[email protected]>---
v5: upgrade peer-hub description : Conor Dooley
[0] https://www.genesyslogic.com.tw/en/product_view.php?show=67 [Block Diagram]
v4: Fix the description of peer-hub and update the commit message. Schematics of the Odroid N2+
https://dn.odroid.com/S922X/ODROID-N2/Schematic/odroid-n2_rev0.6_20210121.pdf
V3: fix thedt_binding_checkerror, added new example for Genesys GL3523
v2: added Genesys GL3523 binding
v1: none--- .../bindings/usb/genesys,gl850g.yaml | 65 +++++++++++++++++-- 1 file changed, 61 insertions(+), 4 deletions(-)Documentation/devicetree/bindings/usb/genesys,gl850g.yaml +0
-3@@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller maintainers: - Icenowy Zheng <[email protected]> -allOf: - - $ref: usb-device.yaml# - properties: compatible: enum:@@ -27,12 +24,46 @@ properties:
Quoted 4 lines
Documentation/devicetree/bindings/usb/genesys,gl850g.yaml properties: · line 27
Quoted 4 lines
Documentation/devicetree/bindings/usb/genesys,gl850g.yaml +1
-1vdd-supply: description: - the regulator that provides 3.3V core power to the hub. + phandle to the regulator that provides power to the hub.
Wait, why is this text changing? I don't see it mentioned anywhere why this is no longer specifically 3.3v
Thanks,
Conor.
Quoted 75 lines
Quoted 75 lines
Documentation/devicetree/bindings/usb/genesys,gl850g.yaml +60
-0+ + peer-hub: + $ref: /schemas/types.yaml#/definitions/phandle + description: + For onboard hub controllers that support USB 3.x and USB 2.0 hubs + with shared resets and power supplies, this property is used to identify + the hubs with which these are shared. required: - compatible - reg +allOf: + - $ref: usb-device.yaml# + - if: + properties: + compatible: + contains: + enum: + - usb5e3,608 + then: + properties: + peer-hub: false + vdd-supply: false + reset-gpios: true + + - if: + properties: + compatible: + contains: + enum: + - usb5e3,610 + - usb5e3,620 + then: + properties: + peer-hub: true + vdd-supply: true + reset-gpios: true + additionalProperties: false examples:@@ -49,3 +80,29 @@ examples: reset-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>; }; }; + + - | + #include <dt-bindings/gpio/gpio.h> + usb { + 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>; + reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + vdd-supply = <&vcc_5v>; + }; + + /* 3.1 hub on port 4 */ + hub_3_0: hub@2 { + compatible = "usb5e3,620"; + reg = <2>; + peer-hub = <&hub_2_0>; + reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + vdd-supply = <&vcc_5v>; + }; + };Signature · 1 line
2.42.0
Re: [PATCH v5 1/2] dt-bindings: usb: Add the binding example for the Genesys Logic GL3523 hub
Hi Conor,
Quoted 7 lines · Conor Dooley
Quoted 5 lines · Conor Dooley
Quoted 4 lines · Anand Moon
Add the binding example for the USB3.1 Genesys Logic GL3523 integrates with USB 3.1 Gen 1 Super Speed and USB 2.0 High-Speed hub.
Quoted 7 lines
Quoted 7 lines
Quoted 6 lines
For onboard hub controllers that support USB 3.x and USB 2.0 hubs with shared resets and power supplies, this property is used to identify the hubs with which these are shared.
[Conor Dooley: upgrade peer-hub description]
ok
Quoted 36 lines
Quoted 36 lines
This should not be in the commit message. Otherwise,
Reviewed-by Conor Dooley <[email protected]>Cheers,
Conor.Quoted 30 lines
Signed-off-by Anand Moon <[email protected]>---
v5: upgrade peer-hub description : Conor Dooley
[0] https://www.genesyslogic.com.tw/en/product_view.php?show=67 [Block Diagram]
v4: Fix the description of peer-hub and update the commit message. Schematics of the Odroid N2+
https://dn.odroid.com/S922X/ODROID-N2/Schematic/odroid-n2_rev0.6_20210121.pdf
V3: fix thedt_binding_checkerror, added new example for Genesys GL3523
v2: added Genesys GL3523 binding
v1: none--- .../bindings/usb/genesys,gl850g.yaml | 65 +++++++++++++++++-- 1 file changed, 61 insertions(+), 4 deletions(-)Documentation/devicetree/bindings/usb/genesys,gl850g.yaml +0
-3@@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller maintainers: - Icenowy Zheng <[email protected]> -allOf: - - $ref: usb-device.yaml# - properties: compatible: enum:@@ -27,12 +24,46 @@ properties:
Quoted 8 lines
Quoted 4 lines
Documentation/devicetree/bindings/usb/genesys,gl850g.yaml properties: · line 27
Quoted 4 lines
Documentation/devicetree/bindings/usb/genesys,gl850g.yaml +1
-1vdd-supply: description: - the regulator that provides 3.3V core power to the hub. + phandle to the regulator that provides power to the hub.Wait, why is this text changing? I don't see it mentioned anywhere why this is no longer specifically 3.3v
GL3523 has built-in 5V to 3.3V and 5V to 1.2V regulators, which saves customers’ BOM cost, and eases for PCB design.
Do I have to update this in the commit message? or leave this original.
Quoted 3 lines
Thanks,
Conor.
Thanks
-Anand
PATCH v5 2/2 arm64: dts: amlogic: Used onboard usb hub reset on odroid n2
In reply to Anand MoonOn 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.
--- .../dts/amlogic/meson-g12b-odroid-n2.dtsi | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-)
arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +24 -12
@@ -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 {
Signature · 1 line
2.42.0