On Fri, Jul 22, 2022 at 01:31:06PM +0100, Phil Edworthy wrote: > Document the RZ/V2M SoC bindings. > The RZ/V2M SoC is a little different to the R-Car implementations. > A few DRD related registers and bits have moved, there is a separate > interrupt for DRD, an additional clock for register access and reset > lines for DRD and USBP. > > Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> > Reviewed-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > --- > v2: > - SoCs other than rz/v2m must limit the number of clock/interrupt names > - Add "Battery Charging" and "Global Purpose Input" interrupts > --- > .../bindings/usb/renesas,usb3-peri.yaml | 91 ++++++++++++++++--- > 1 file changed, 76 insertions(+), 15 deletions(-) > > diff --git a/Documentation/devicetree/bindings/usb/renesas,usb3-peri.yaml b/Documentation/devicetree/bindings/usb/renesas,usb3-peri.yaml > index 9fcf54b10b07..b1a3b32139c5 100644 > --- a/Documentation/devicetree/bindings/usb/renesas,usb3-peri.yaml > +++ b/Documentation/devicetree/bindings/usb/renesas,usb3-peri.yaml > @@ -11,27 +11,55 @@ maintainers: > > properties: > compatible: > - items: > - - enum: > - - renesas,r8a774a1-usb3-peri # RZ/G2M > - - renesas,r8a774b1-usb3-peri # RZ/G2N > - - renesas,r8a774c0-usb3-peri # RZ/G2E > - - renesas,r8a774e1-usb3-peri # RZ/G2H > - - renesas,r8a7795-usb3-peri # R-Car H3 > - - renesas,r8a7796-usb3-peri # R-Car M3-W > - - renesas,r8a77961-usb3-peri # R-Car M3-W+ > - - renesas,r8a77965-usb3-peri # R-Car M3-N > - - renesas,r8a77990-usb3-peri # R-Car E3 > - - const: renesas,rcar-gen3-usb3-peri > + oneOf: > + - items: > + - enum: > + - renesas,r8a774a1-usb3-peri # RZ/G2M > + - renesas,r8a774b1-usb3-peri # RZ/G2N > + - renesas,r8a774c0-usb3-peri # RZ/G2E > + - renesas,r8a774e1-usb3-peri # RZ/G2H > + - renesas,r8a7795-usb3-peri # R-Car H3 > + - renesas,r8a7796-usb3-peri # R-Car M3-W > + - renesas,r8a77961-usb3-peri # R-Car M3-W+ > + - renesas,r8a77965-usb3-peri # R-Car M3-N > + - renesas,r8a77990-usb3-peri # R-Car E3 > + - const: renesas,rcar-gen3-usb3-peri > + > + - items: > + - enum: > + - renesas,r9a09g011-usb3-peri # RZ/V2M > + - const: renesas,rzv2m-usb3-peri > > reg: > maxItems: 1 > > interrupts: > - maxItems: 1 > + minItems: 1 > + items: > + - description: Combined interrupt for DMA, SYS and ERR > + - description: Dual Role Device (DRD) > + - description: Battery Charging > + - description: Global Purpose Input > + > + interrupt-names: > + minItems: 1 > + items: > + - const: all_p > + - const: drd > + - const: bc > + - const: gpi > > clocks: > - maxItems: 1 > + minItems: 1 > + items: > + - description: Main clock > + - description: Register access clock > + > + clock-names: > + minItems: 1 > + items: > + - const: aclk > + - const: reg > > phys: > maxItems: 1 > @@ -43,7 +71,15 @@ properties: > maxItems: 1 > > resets: > - maxItems: 1 > + minItems: 1 > + items: > + - description: Peripheral reset > + - description: DRD reset > + > + reset-names: > + items: > + - const: aresetn_p > + - const: drd_reset > > usb-role-switch: > $ref: /schemas/types.yaml#/definitions/flag > @@ -78,6 +114,31 @@ required: > - interrupts > - clocks > > +allOf: > + - if: > + properties: > + compatible: > + contains: > + enum: > + - renesas,rzv2m-usb3-peri > + then: > + properties: > + clocks: > + minItems: 2 > + clock-names: > + minItems: 2 > + interrupts: > + minItems: 4 > + interrupt-names: > + minItems: 4 > + resets: > + minItems: 2 > + required: > + - clock-names > + - interrupt-names > + - resets > + - reset-names > + Needs an 'else' clause with 'maxItems: 1' on various properties to keep the existing constraints. Rob