On Sun, Jan 15, 2023 at 05:11:42PM +0530, Krishna Kurapati wrote: > Add bindings to indicate properties required to support multiport > on Snps Dwc3 controller. > > Signed-off-by: Krishna Kurapati <quic_kriskura@xxxxxxxxxxx> > --- > .../devicetree/bindings/usb/snps,dwc3.yaml | 53 ++++++++++++++++--- > 1 file changed, 47 insertions(+), 6 deletions(-) > > diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml > index 6d78048c4613..3ea051beb2f8 100644 > --- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml > +++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml > @@ -81,15 +81,26 @@ properties: > > phys: > minItems: 1 > - maxItems: 2 > + maxItems: 8 > > phy-names: > minItems: 1 > - maxItems: 2 > - items: > - enum: > - - usb2-phy > - - usb3-phy > + maxItems: 8 > + oneOf: > + - items: > + enum: > + - usb2-phy > + - usb3-phy > + - items: > + enum: > + - usb2-phy_port0 > + - usb2-phy_port1 > + - usb2-phy_port2 > + - usb2-phy_port3 > + - usb3-phy_port0 > + - usb3-phy_port1 > + - usb3-phy_port2 > + - usb3-phy_port3 usbN-portM > > resets: > minItems: 1 > @@ -360,6 +371,22 @@ properties: > description: > Enable USB remote wakeup. > > + num-ports: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + This property indicates the number of ports present on the target that > + are to be serviced by the DWC3 controller. > + minimum: 1 > + maximum: 4 > + > + num-ss-ports: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + This property indicates the number of SS capable ports present on the > + target that are to be serviced by the DWC3 controller. > + minimum: 1 > + maximum: 4 This information is redundant. 'phy-names' tells you how many ports of each. > + > unevaluatedProperties: false > > required: > @@ -388,4 +415,18 @@ examples: > snps,dis_u2_susphy_quirk; > snps,dis_enblslpm_quirk; > }; > + - | > + usb@4a000000 { > + compatible = "snps,dwc3"; > + reg = <0x4a000000 0xcfff>; > + interrupts = <0 92 4>; > + clocks = <&clk 1>, <&clk 2>, <&clk 3>; > + clock-names = "bus_early", "ref", "suspend"; > + num-ports = <2>; > + num-ss-ports = <1>; > + phys = <&usb2_phy0>, <&usb3_phy0>, <&usb2_phy1>; > + phy-names = "usb2-phy_port0", "usb3-phy_port0", "usb2-phy_port1"; > + snps,dis_u2_susphy_quirk; > + snps,dis_enblslpm_quirk; > + }; Does a different number of phys really need its own example? Rob