xref: /linux/Documentation/devicetree/bindings/phy/renesas,usb2-phy.yaml (revision 1d1ba4d390141d602dbce8f5f0ac19a384d10a64)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/phy/renesas,usb2-phy.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Renesas R-Car generation 3 USB 2.0 PHY
8
9maintainers:
10  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
11
12properties:
13  compatible:
14    oneOf:
15      - items:
16          - enum:
17              - renesas,usb2-phy-r8a77470  # RZ/G1C
18              - renesas,usb2-phy-r9a08g045 # RZ/G3S
19              - renesas,usb2-phy-r9a09g057 # RZ/V2H(P)
20
21      - items:
22          - enum:
23              - renesas,usb2-phy-r7s9210  # RZ/A2
24              - renesas,usb2-phy-r8a774a1 # RZ/G2M
25              - renesas,usb2-phy-r8a774b1 # RZ/G2N
26              - renesas,usb2-phy-r8a774c0 # RZ/G2E
27              - renesas,usb2-phy-r8a774e1 # RZ/G2H
28              - renesas,usb2-phy-r8a7795  # R-Car H3
29              - renesas,usb2-phy-r8a7796  # R-Car M3-W
30              - renesas,usb2-phy-r8a77961 # R-Car M3-W+
31              - renesas,usb2-phy-r8a77965 # R-Car M3-N
32              - renesas,usb2-phy-r8a77990 # R-Car E3
33              - renesas,usb2-phy-r8a77995 # R-Car D3
34          - const: renesas,rcar-gen3-usb2-phy
35
36      - items:
37          - enum:
38              - renesas,usb2-phy-r9a07g043 # RZ/G2UL
39              - renesas,usb2-phy-r9a07g044 # RZ/G2{L,LC}
40              - renesas,usb2-phy-r9a07g054 # RZ/V2L
41          - const: renesas,rzg2l-usb2-phy
42
43      - items:
44          - const: renesas,usb2-phy-r9a09g056 # RZ/V2N
45          - const: renesas,usb2-phy-r9a09g057
46
47      - const: renesas,usb2-phy-r9a09g077 # RZ/T2H
48
49      - items:
50          - const: renesas,usb2-phy-r9a09g087 # RZ/N2H
51          - const: renesas,usb2-phy-r9a09g077
52
53  reg:
54    maxItems: 1
55
56  clocks:
57    minItems: 1
58    maxItems: 2
59
60  clock-names:
61    minItems: 1
62    items:
63      - const: fck
64      - const: usb_x1
65
66  '#phy-cells':
67    enum: [0, 1]  # and 0 is deprecated.
68    description: |
69      The phandle's argument in the PHY specifier is the INT_STATUS bit of
70      controller.
71      - 1 = USBH_INTA (OHCI)
72      - 2 = USBH_INTB (EHCI)
73      - 3 = UCOM_INT (OTG and BC)
74
75  interrupts:
76    maxItems: 1
77
78  power-domains:
79    maxItems: 1
80
81  resets:
82    minItems: 1
83    items:
84      - description: reset of USB 2.0 host side
85      - description: reset of USB 2.0 peripheral side
86
87  vbus-supply:
88    description: |
89      Phandle to a regulator that provides power to the VBUS. This regulator
90      will be managed during the PHY power on/off sequence.
91
92  renesas,no-otg-pins:
93    $ref: /schemas/types.yaml#/definitions/flag
94    description: |
95      specify when a board does not provide proper otg pins.
96
97  dr_mode: true
98
99if:
100  properties:
101    compatible:
102      contains:
103        const: renesas,usb2-phy-r7s9210
104then:
105  required:
106    - clock-names
107
108required:
109  - compatible
110  - reg
111  - clocks
112  - '#phy-cells'
113
114allOf:
115  - if:
116      properties:
117        compatible:
118          contains:
119            enum:
120              - renesas,usb2-phy-r9a09g057
121              - renesas,rzg2l-usb2-phy
122    then:
123      properties:
124        clocks:
125          minItems: 2
126      required:
127        - resets
128
129  - if:
130      properties:
131        compatible:
132          contains:
133            const: renesas,usb2-phy-r9a09g077
134    then:
135      properties:
136        clocks:
137          minItems: 2
138        resets: false
139
140additionalProperties: false
141
142examples:
143  - |
144    #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
145    #include <dt-bindings/interrupt-controller/arm-gic.h>
146    #include <dt-bindings/power/r8a7795-sysc.h>
147
148    usb-phy@ee080200 {
149        compatible = "renesas,usb2-phy-r8a7795", "renesas,rcar-gen3-usb2-phy";
150        reg = <0xee080200 0x700>;
151        interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
152        clocks = <&cpg CPG_MOD 703>;
153        #phy-cells = <1>;
154    };
155
156    usb-phy@ee0a0200 {
157        compatible = "renesas,usb2-phy-r8a7795", "renesas,rcar-gen3-usb2-phy";
158        reg = <0xee0a0200 0x700>;
159        clocks = <&cpg CPG_MOD 702>;
160        #phy-cells = <1>;
161    };
162