On Thu, Feb 27, 2020 at 06:07:57PM -0800, rentao.bupt@xxxxxxxxx wrote: > From: Tao Ren <rentao.bupt@xxxxxxxxx> > > Add device tree binding documentation for the Aspeed USB 2.0 Virtual HUb > Controller. > > Signed-off-by: Tao Ren <rentao.bupt@xxxxxxxxx> > Reviewed-by: Joel Stanley <joel@xxxxxxxxx> > --- > Changes in v6: > - added 2 required properties into example and passed "make > dt_binding_check". > Changes in v5: > - updated maintainer to Ben. > - refined patch description per Joel's suggestion. > No change in v2/v3/v4: > - the patch is added to the patch series since v4. > > .../bindings/usb/aspeed,usb-vhub.yaml | 73 +++++++++++++++++++ > 1 file changed, 73 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/aspeed,usb-vhub.yaml > > diff --git a/Documentation/devicetree/bindings/usb/aspeed,usb-vhub.yaml b/Documentation/devicetree/bindings/usb/aspeed,usb-vhub.yaml > new file mode 100644 > index 000000000000..b9f33310e9a2 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/aspeed,usb-vhub.yaml > @@ -0,0 +1,73 @@ > +# SPDX-License-Identifier: GPL-2.0-or-later Dual license new bindings please. (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (c) 2020 Facebook Inc. > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/usb/aspeed,usb-vhub.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: ASPEED USB 2.0 Virtual Hub Controller > + > +maintainers: > + - Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> > + > +description: |+ > + The ASPEED USB 2.0 Virtual Hub Controller implements 1 set of USB Hub > + register and several sets of Device and Endpoint registers to support > + the Virtual Hub's downstream USB devices. > + > + Supported number of devices and endpoints vary depending on hardware > + revisions. AST2400 and AST2500 Virtual Hub supports 5 downstream devices > + and 15 generic endpoints, while AST2600 Virtual Hub supports 7 downstream > + devices and 21 generic endpoints. > + > +properties: > + compatible: > + enum: > + - aspeed,ast2400-usb-vhub > + - aspeed,ast2500-usb-vhub > + - aspeed,ast2600-usb-vhub > + > + reg: > + maxItems: 1 > + description: Common configuration registers If 'Common' means something specific to this block, then keep. Otherwise, you can drop ti. > + > + clocks: > + maxItems: 1 > + description: The Virtual Hub Controller clock gate Drop this. > + > + interrupts: > + maxItems: 1 > + > + aspeed,vhub-downstream-ports: > + description: Number of downstream ports supported by the Virtual Hub > + allOf: > + - $ref: /schemas/types.yaml#/definitions/uint32 Constraints? 'maximum: 5' ? default? > + > + aspeed,vhub-generic-endpoints: > + description: Number of generic endpoints supported by the Virtual Hub > + allOf: > + - $ref: /schemas/types.yaml#/definitions/uint32 Constraints? > + > +required: > + - compatible > + - reg > + - clocks > + - interrupts > + - aspeed,vhub-downstream-ports > + - aspeed,vhub-generic-endpoints > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/aspeed-clock.h> > + vhub: usb-vhub@1e6a0000 { > + compatible = "aspeed,ast2500-usb-vhub"; > + reg = <0x1e6a0000 0x300>; > + interrupts = <5>; > + clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>; > + aspeed,vhub-downstream-ports = <5>; > + aspeed,vhub-generic-endpoints = <15>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_usb2ad_default>; > + }; > -- > 2.17.1 >