Message ID | 20240227090228.22156-1-macpaul.lin@mediatek.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 0842b8feb4f1e40fd83bf981e78b341b9877b4c6 |
Headers | show |
Series | [1/2] dt-bindings: usb: Add binding for TI USB8020B hub controller | expand |
On Tue, Feb 27, 2024 at 05:02:27PM +0800, Macpaul Lin wrote: > The TI USB8020B is a USB 3.0 hub controller with 2 ports. > > This initial version of the binding only describes USB related aspects > of the USB8020B, it does not cover the option of connecting the controller > as an i2c slave. > > Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com> > --- > .../devicetree/bindings/usb/ti,usb8020b.yaml | 69 +++++++++++++++++++ > 1 file changed, 69 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/ti,usb8020b.yaml > > diff --git a/Documentation/devicetree/bindings/usb/ti,usb8020b.yaml b/Documentation/devicetree/bindings/usb/ti,usb8020b.yaml > new file mode 100644 > index 000000000000..8ef117793e11 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/ti,usb8020b.yaml > @@ -0,0 +1,69 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/usb/ti,usb8020b.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: TI USB8020B USB 3.0 hub controller > + > +maintainers: > + - Macpaul Lin <macpaul.lin@mediatek.com> > + > +allOf: > + - $ref: usb-device.yaml# > + > +properties: > + compatible: > + enum: > + - usb451,8025 > + - usb451,8027 > + > + reg: true > + > + reset-gpios: > + items: > + - description: GPIO specifier for GRST# pin. > + > + vdd-supply: There is currently a rework of the onboard_usb_hub driver ongoing to support the actual names of the supplies, instead of the generic 'vdd-supply': https://lore.kernel.org/linux-usb/20240220-onboard_xvf3500-v4-0-dc1617cc5dd4@wolfvision.net/ I think for new bindings we should wait until this rework is done and the binding should have the hub specific supply name.
diff --git a/Documentation/devicetree/bindings/usb/ti,usb8020b.yaml b/Documentation/devicetree/bindings/usb/ti,usb8020b.yaml new file mode 100644 index 000000000000..8ef117793e11 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/ti,usb8020b.yaml @@ -0,0 +1,69 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/ti,usb8020b.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: TI USB8020B USB 3.0 hub controller + +maintainers: + - Macpaul Lin <macpaul.lin@mediatek.com> + +allOf: + - $ref: usb-device.yaml# + +properties: + compatible: + enum: + - usb451,8025 + - usb451,8027 + + 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,8027"; + reg = <1>; + peer-hub = <&hub_3_0>; + reset-gpios = <&pio 7 GPIO_ACTIVE_HIGH>; + vdd-supply = <&usb_hub_fixed_3v3>; + }; + + /* 3.0 hub on port 2 */ + hub_3_0: hub@2 { + compatible = "usb451,8025"; + reg = <2>; + peer-hub = <&hub_2_0>; + reset-gpios = <&pio 7 GPIO_ACTIVE_HIGH>; + vdd-supply = <&usb_hub_fixed_3v3>; + }; + };
The TI USB8020B is a USB 3.0 hub controller with 2 ports. This initial version of the binding only describes USB related aspects of the USB8020B, it does not cover the option of connecting the controller as an i2c slave. Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com> --- .../devicetree/bindings/usb/ti,usb8020b.yaml | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/ti,usb8020b.yaml