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