devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Add usb gadget support for RZ/V2M
@ 2022-07-22 12:31 Phil Edworthy
  2022-07-22 12:31 ` [PATCH v2 1/2] dt-bindings: usb: renesas, usb3-peri: Document RZ/V2M r9a09g011 support Phil Edworthy
  0 siblings, 1 reply; 3+ messages in thread
From: Phil Edworthy @ 2022-07-22 12:31 UTC (permalink / raw)
  To: Felipe Balbi, Philipp Zabel, Rob Herring, Krzysztof Kozlowski
  Cc: Phil Edworthy, Greg Kroah-Hartman, Geert Uytterhoeven,
	Yoshihiro Shimoda, Biju Das, Adam Ford, linux-usb, devicetree,
	linux-renesas-soc

Hi,

The RZ/V2M SoC is very similar to the R-Car implementation.
The differences are that 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.

Thanks
Phil

v2:
bindings:
 - SoCs other than rz/v2m must limit the number of clock/interrupt names
 - Add "Battery Charging" and "Global Purpose Input" interrupts
driver:
 - Rename r9a09g011 feature to is_rzv2m; use rzv2m compat string
 - Pass pointer into macros that access is_rzv2m member

Phil Edworthy (2):
  dt-bindings: usb: renesas, usb3-peri: Document RZ/V2M r9a09g011
    support
  usb: gadget: udc: renesas_usb3: Add support for RZ/V2M

 .../bindings/usb/renesas,usb3-peri.yaml       |  91 +++++++++++--
 drivers/usb/gadget/udc/renesas_usb3.c         | 128 ++++++++++++++----
 2 files changed, 177 insertions(+), 42 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2 1/2] dt-bindings: usb: renesas, usb3-peri: Document RZ/V2M r9a09g011 support
  2022-07-22 12:31 [PATCH v2 0/2] Add usb gadget support for RZ/V2M Phil Edworthy
@ 2022-07-22 12:31 ` Phil Edworthy
  2022-07-25 22:59   ` Rob Herring
  0 siblings, 1 reply; 3+ messages in thread
From: Phil Edworthy @ 2022-07-22 12:31 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski
  Cc: Phil Edworthy, Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb,
	devicetree, Geert Uytterhoeven, linux-renesas-soc, Biju Das

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@renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
---
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
+
 additionalProperties: false
 
 examples:
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: usb: renesas, usb3-peri: Document RZ/V2M r9a09g011 support
  2022-07-22 12:31 ` [PATCH v2 1/2] dt-bindings: usb: renesas, usb3-peri: Document RZ/V2M r9a09g011 support Phil Edworthy
@ 2022-07-25 22:59   ` Rob Herring
  0 siblings, 0 replies; 3+ messages in thread
From: Rob Herring @ 2022-07-25 22:59 UTC (permalink / raw)
  To: Phil Edworthy
  Cc: Krzysztof Kozlowski, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linux-usb, devicetree, Geert Uytterhoeven, linux-renesas-soc,
	Biju Das

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@renesas.com>
> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-07-25 22:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-22 12:31 [PATCH v2 0/2] Add usb gadget support for RZ/V2M Phil Edworthy
2022-07-22 12:31 ` [PATCH v2 1/2] dt-bindings: usb: renesas, usb3-peri: Document RZ/V2M r9a09g011 support Phil Edworthy
2022-07-25 22:59   ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).