File Index
Files and directories
Sign in
FILE

renesas,rzv2m-usb3drd.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/usb/renesas,rzv2m-usb3drd.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/usb/renesas,rzv2m-usb3drd.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Renesas RZ/V2M USB 3.1 DRD controller
  8
  9maintainers:
 10  - Biju Das <biju.das.jz@bp.renesas.com>
 11
 12description: |
 13  The RZ/V2{M, MA} USB3.1 DRD module supports the following functions
 14  * Role swapping function by the ID pin of the Micro-AB receptacle
 15  * Battery Charging Specification Revision 1.2
 16
 17properties:
 18  compatible:
 19    items:
 20      - enum:
 21          - renesas,r9a09g011-usb3drd  # RZ/V2M
 22          - renesas,r9a09g055-usb3drd  # RZ/V2MA
 23      - const: renesas,rzv2m-usb3drd
 24
 25  reg:
 26    maxItems: 1
 27
 28  interrupts:
 29    items:
 30      - description: Dual Role Device (DRD)
 31      - description: Battery Charging
 32      - description: Global Purpose Input
 33
 34  interrupt-names:
 35    items:
 36      - const: drd
 37      - const: bc
 38      - const: gpi
 39
 40  clocks:
 41    items:
 42      - description: Peripheral AXI clock
 43      - description: APB clock
 44
 45  clock-names:
 46    items:
 47      - const: axi
 48      - const: reg
 49
 50  power-domains:
 51    maxItems: 1
 52
 53  resets:
 54    maxItems: 1
 55
 56  ranges: true
 57
 58  '#address-cells':
 59    enum: [ 1, 2 ]
 60
 61  '#size-cells':
 62    enum: [ 1, 2 ]
 63
 64patternProperties:
 65  "^usb3peri@[0-9a-f]+$":
 66    type: object
 67    $ref: /schemas/usb/renesas,usb3-peri.yaml
 68
 69  "^usb@[0-9a-f]+$":
 70    type: object
 71    $ref: renesas,usb-xhci.yaml#
 72
 73required:
 74  - compatible
 75  - reg
 76  - interrupts
 77  - interrupt-names
 78  - clocks
 79  - clock-names
 80  - power-domains
 81  - resets
 82
 83additionalProperties: false
 84
 85examples:
 86  - |
 87    #include <dt-bindings/clock/r9a09g011-cpg.h>
 88    #include <dt-bindings/interrupt-controller/arm-gic.h>
 89
 90    usb3drd: usb@85070400 {
 91        compatible = "renesas,r9a09g011-usb3drd", "renesas,rzv2m-usb3drd";
 92        reg = <0x85070400 0x100>;
 93        interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>,
 94                     <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>,
 95                     <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>;
 96        interrupt-names = "drd", "bc", "gpi";
 97        clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_P>,
 98                 <&cpg CPG_MOD R9A09G011_USB_PCLK>;
 99        clock-names = "axi", "reg";
100        power-domains = <&cpg>;
101        resets = <&cpg R9A09G011_USB_DRD_RESET>;
102        ranges;
103        #address-cells = <1>;
104        #size-cells = <1>;
105
106        usb3host: usb@85060000 {
107            compatible = "renesas,r9a09g011-xhci",
108                         "renesas,rzv2m-xhci";
109            reg = <0x85060000 0x2000>;
110            interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
111            clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_H>,
112                     <&cpg CPG_MOD R9A09G011_USB_PCLK>;
113            clock-names = "axi", "reg";
114            power-domains = <&cpg>;
115            resets = <&cpg R9A09G011_USB_ARESETN_H>;
116        };
117
118        usb3peri: usb3peri@85070000 {
119            compatible = "renesas,r9a09g011-usb3-peri",
120                         "renesas,rzv2m-usb3-peri";
121            reg = <0x85070000 0x400>;
122            interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
123            clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_P>,
124                     <&cpg CPG_MOD R9A09G011_USB_PCLK>;
125            clock-names = "axi", "reg";
126            power-domains = <&cpg>;
127            resets = <&cpg R9A09G011_USB_ARESETN_P>;
128        };
129    };
~/ Read-only file preview.