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