File Index
Files and directories
Sign in
FILE

samsung,exynos-dwc3.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.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/samsung,exynos-dwc3.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Samsung Exynos SoC USB 3.0 DWC3 Controller
  8
  9maintainers:
 10  - Krzysztof Kozlowski <krzk@kernel.org>
 11
 12properties:
 13  compatible:
 14    oneOf:
 15      - enum:
 16          - google,gs101-dwusb3
 17          - samsung,exynos2200-dwusb3
 18          - samsung,exynos5250-dwusb3
 19          - samsung,exynos5433-dwusb3
 20          - samsung,exynos7-dwusb3
 21          - samsung,exynos7870-dwusb3
 22          - samsung,exynos850-dwusb3
 23          - samsung,exynosautov920-dwusb3
 24      - items:
 25          - const: samsung,exynos8890-dwusb3
 26          - const: samsung,exynos7-dwusb3
 27      - items:
 28          - const: samsung,exynos990-dwusb3
 29          - const: samsung,exynos850-dwusb3
 30
 31  '#address-cells':
 32    const: 1
 33
 34  clocks:
 35    minItems: 1
 36    maxItems: 4
 37
 38  clock-names:
 39    minItems: 1
 40    maxItems: 4
 41
 42  power-domains:
 43    maxItems: 1
 44
 45  ranges: true
 46
 47  '#size-cells':
 48    const: 1
 49
 50  vdd10-supply:
 51    description: 1.0V power supply
 52
 53  vdd33-supply:
 54    description: 3.0V/3.3V power supply
 55
 56patternProperties:
 57  "^usb@[0-9a-f]+$":
 58    $ref: snps,dwc3.yaml#
 59    description: Required child node
 60
 61required:
 62  - compatible
 63  - '#address-cells'
 64  - clocks
 65  - clock-names
 66  - ranges
 67  - '#size-cells'
 68  - vdd33-supply
 69
 70allOf:
 71  - if:
 72      properties:
 73        compatible:
 74          contains:
 75            const: google,gs101-dwusb3
 76    then:
 77      properties:
 78        clocks:
 79          minItems: 4
 80          maxItems: 4
 81        clock-names:
 82          items:
 83            - const: bus_early
 84            - const: susp_clk
 85            - const: link_aclk
 86            - const: link_pclk
 87      required:
 88        - vdd10-supply
 89
 90  - if:
 91      properties:
 92        compatible:
 93          contains:
 94            const: samsung,exynos2200-dwusb3
 95    then:
 96      properties:
 97        clocks:
 98          maxItems: 1
 99        clock-names:
100          items:
101            - const: link_aclk
102
103  - if:
104      properties:
105        compatible:
106          contains:
107            const: samsung,exynos5250-dwusb3
108    then:
109      properties:
110        clocks:
111          minItems: 1
112          maxItems: 1
113        clock-names:
114          items:
115            - const: usbdrd30
116      required:
117        - vdd10-supply
118
119  - if:
120      properties:
121        compatible:
122          contains:
123            const: samsung,exynos5433-dwusb3
124    then:
125      properties:
126        clocks:
127          minItems: 4
128          maxItems: 4
129        clock-names:
130          items:
131            - const: aclk
132            - const: susp_clk
133            - const: phyclk
134            - const: pipe_pclk
135      required:
136        - vdd10-supply
137
138  - if:
139      properties:
140        compatible:
141          contains:
142            const: samsung,exynos7-dwusb3
143    then:
144      properties:
145        clocks:
146          minItems: 3
147          maxItems: 3
148        clock-names:
149          items:
150            - const: usbdrd30
151            - const: usbdrd30_susp_clk
152            - const: usbdrd30_axius_clk
153      required:
154        - vdd10-supply
155
156  - if:
157      properties:
158        compatible:
159          contains:
160            const: samsung,exynos7870-dwusb3
161    then:
162      properties:
163        clocks:
164          minItems: 3
165          maxItems: 3
166        clock-names:
167          items:
168            - const: bus_early
169            - const: ref
170            - const: ctrl
171
172  - if:
173      properties:
174        compatible:
175          contains:
176            const: samsung,exynos850-dwusb3
177    then:
178      properties:
179        clocks:
180          minItems: 2
181          maxItems: 2
182        clock-names:
183          items:
184            - const: bus_early
185            - const: ref
186      required:
187        - vdd10-supply
188
189  - if:
190      properties:
191        compatible:
192          contains:
193            const: samsung,exynosautov920-dwusb3
194    then:
195      properties:
196        clocks:
197          minItems: 2
198          maxItems: 2
199        clock-names:
200          items:
201            - const: ref
202            - const: susp_clk
203
204additionalProperties: false
205
206examples:
207  - |
208    #include <dt-bindings/clock/exynos5420.h>
209    #include <dt-bindings/interrupt-controller/arm-gic.h>
210
211    usb@12000000 {
212        compatible = "samsung,exynos5250-dwusb3";
213        #address-cells = <1>;
214        #size-cells = <1>;
215        ranges = <0x0 0x12000000 0x10000>;
216        clocks = <&clock CLK_USBD300>;
217        clock-names = "usbdrd30";
218        vdd33-supply = <&ldo9_reg>;
219        vdd10-supply = <&ldo11_reg>;
220
221        usb@0 {
222            compatible = "snps,dwc3";
223            reg = <0x0 0x10000>;
224            interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
225            phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>;
226            phy-names = "usb2-phy", "usb3-phy";
227            snps,dis_u3_susphy_quirk;
228        };
229    };
~/ Read-only file preview.