On Fri, Jul 15, 2022 at 09:32:58AM +0200, Alexander Stein wrote: > The TI USB8041 is a USB 3.0 hub controller with 4 ports. > > This initial version of the binding only describes USB related aspects > of the USB8041, it does not cover the option of connecting the controller > as an i2c slave. > > Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> > --- > Changes in v2: > * Removed 'items' from compatible, it's just en enum now > * Rename reset-gpio to reset-gpios > * Use 'items' for reset-gpios > * Adjust description of vdd-supply > * Sorted required list > * Adjusted example > > .../devicetree/bindings/usb/ti,usb8041.yaml | 67 +++++++++++++++++++ > 1 file changed, 67 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/ti,usb8041.yaml > > diff --git a/Documentation/devicetree/bindings/usb/ti,usb8041.yaml b/Documentation/devicetree/bindings/usb/ti,usb8041.yaml > new file mode 100644 > index 000000000000..7fe7416e2b51 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/ti,usb8041.yaml > @@ -0,0 +1,67 @@ > +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/usb/ti,usb8041.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Binding for the TI USB8041 USB 3.0 hub controller > + > +maintainers: > + - Matthias Kaehlcke <mka@xxxxxxxxxxxx> Not sure this should be me, just because I'm the author/maintainer of the onboard_usb_hub driver, which may be used for this hub. > + > +allOf: > + - $ref: usb-device.yaml# > + > +properties: > + compatible: > + enum: > + - usb451,8140 > + - usb451,8142 > + > + reg: true > + > + reset-gpios: > + items: > + - description: GPIO specifier for GRST# pin. > + > + vdd-supply: > + description: > + "VDD power supply to the hub" > + > + peer-hub: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: > + phandle to the peer hub on the controller. > + > +required: > + - compatible > + - reg > + - peer-hub > + > +additionalProperties: false > + > +examples: > + - | > + #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 = "usb451,8142"; > + reg = <1>; > + peer-hub = <&hub_3_0>; > + reset-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>; > + }; > + > + /* 3.0 hub on port 2 */ > + hub_3_0: hub@2 { > + compatible = "usb451,8140"; > + reg = <2>; > + peer-hub = <&hub_2_0>; > + reset-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>; > + }; > + }; > -- > 2.25.1 >