arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / devicetree / bindings / usb / renesas,rzv2m-usb3drd.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
7 title: Renesas RZ/V2M USB 3.1 DRD controller
8
9 maintainers:
10   - Biju Das <biju.das.jz@bp.renesas.com>
11
12 description: |
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
17 properties:
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
64 patternProperties:
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
73 required:
74   - compatible
75   - reg
76   - interrupts
77   - interrupt-names
78   - clocks
79   - clock-names
80   - power-domains
81   - resets
82
83 additionalProperties: false
84
85 examples:
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     };