Hi Krzysztof, On Thu, 12 Oct 2023 at 13:13, Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > On 11/10/2023 07:11, Anand Moon wrote: > > 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. > > That's not what the patch does. Ok I have tried to add an example below the original changes but the device tree complained of duplicate entries. Hence I modified these changes. This change was requested to update the peer-hub example below. [0] https://lore.kernel.org/all/9fe7d0d2-3582-4b62-be9b-aa9134c18023@xxxxxxxxxx/ > > > > > Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> > > --- > > New patch. > > --- > > .../bindings/usb/genesys,gl850g.yaml | 28 +++++++++++++++++-- > > 1 file changed, 25 insertions(+), 3 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml > > index d0927f6768a4..2f6e0c870e1d 100644 > > --- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml > > +++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml > > @@ -22,29 +22,51 @@ properties: > > reg: true > > > > reset-gpios: > > + maxItems: 1 > > Why? Following another example, I added this and will drop this. > > > description: GPIO controlling the RESET# pin. > > > > vdd-supply: > > description: > > the regulator that provides 3.3V core power to the hub. > > > > + peer-hub: > > + $ref: /schemas/types.yaml#/definitions/phandle > > + description: > > + phandle to the peer hub on the controller. > > + > > required: > > - compatible > > - reg > > + - reset-gpios > > Why? see below. > > > + - vdd-supply > > + - peer-hub > > > > additionalProperties: false > > > > examples: > > - | > > #include <dt-bindings/gpio/gpio.h> > > + > > usb { > > dr_mode = "host"; > > #address-cells = <1>; > > #size-cells = <0>; > > > > - hub: hub@1 { > > - compatible = "usb5e3,608"; > > + /* 2.0 hub on port 1 */ > > + hub_2_0: hub@1 { > > + compatible = "usb5e3,610"; > > reg = <1>; > > - reset-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>; > > + vdd-supply = <&vcc_5v>; > > + peer-hub = <&hub_3_0>; > > + reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; > > + }; > > + > > + /* 3.1 hub on port 4 */ > > + hub_3_0: hub@2 { > > + compatible = "usb5e3,620"; > > + reg = <2>; > > + vdd-supply = <&vcc_5v>; > > + peer-hub = <&hub_2_0>; > > + reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; > > Really, what is happening here? USB hub GL3523-QFN76 supports two pins CHIP_EN and RST_N pins so RST_N (GPIOH_4) is used to reset the USB hub, earlier we were using gpio-hog to reset the hub. > > Best regards, > Krzysztof > Thanks -Anand