1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/phy/samsung,usb3-drd-phy.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Samsung Exynos SoC USB 3.0 DRD PHY USB 2.0 PHY 8 9maintainers: 10 - Krzysztof Kozlowski <krzk@kernel.org> 11 - Marek Szyprowski <m.szyprowski@samsung.com> 12 - Sylwester Nawrocki <s.nawrocki@samsung.com> 13 14description: | 15 For samsung,exynos5250-usbdrd-phy and samsung,exynos5420-usbdrd-phy 16 compatible PHYs, the second cell in the PHY specifier identifies the 17 PHY id, which is interpreted as follows:: 18 0 - UTMI+ type phy, 19 1 - PIPE3 type phy. 20 21 For SoCs like Exynos5420 having multiple USB 3.0 DRD PHY controllers, 22 'usbdrd_phy' nodes should have numbered alias in the aliases node, in the 23 form of usbdrdphyN, N = 0, 1... (depending on number of controllers). 24 25properties: 26 compatible: 27 enum: 28 - google,gs101-usb31drd-phy 29 - samsung,exynos5250-usbdrd-phy 30 - samsung,exynos5420-usbdrd-phy 31 - samsung,exynos5433-usbdrd-phy 32 - samsung,exynos7-usbdrd-phy 33 - samsung,exynos850-usbdrd-phy 34 35 clocks: 36 minItems: 2 37 maxItems: 5 38 39 clock-names: 40 minItems: 2 41 maxItems: 5 42 description: | 43 At least two clocks:: 44 - Main PHY clock (same as USB DRD controller i.e. DWC3 IP clock), used 45 for register access. 46 - PHY reference clock (usually crystal clock), used for PHY operations, 47 associated by phy name. It is used to determine bit values for clock 48 settings register. For Exynos5420 this is given as 'sclk_usbphy30' 49 in the CMU. 50 51 "#phy-cells": 52 const: 1 53 54 port: 55 $ref: /schemas/graph.yaml#/properties/port 56 description: 57 Any connector to the data bus of this controller should be modelled using 58 the OF graph bindings specified. 59 60 reg: 61 minItems: 1 62 maxItems: 3 63 64 reg-names: 65 minItems: 1 66 items: 67 - const: phy 68 - const: pcs 69 - const: pma 70 71 samsung,pmu-syscon: 72 $ref: /schemas/types.yaml#/definitions/phandle 73 description: 74 Phandle to PMU system controller interface. 75 76 vbus-supply: 77 description: 78 VBUS power source. 79 80 vbus-boost-supply: 81 description: 82 VBUS Boost 5V power source. 83 84 pll-supply: 85 description: Power supply for the USB PLL. 86 87 dvdd-usb20-supply: 88 description: DVDD power supply for the USB 2.0 phy. 89 90 vddh-usb20-supply: 91 description: VDDh power supply for the USB 2.0 phy. 92 93 vdd33-usb20-supply: 94 description: 3.3V power supply for the USB 2.0 phy. 95 96 vdda-usbdp-supply: 97 description: VDDa power supply for the USB DP phy. 98 99 vddh-usbdp-supply: 100 description: VDDh power supply for the USB DP phy. 101 102required: 103 - compatible 104 - clocks 105 - clock-names 106 - "#phy-cells" 107 - reg 108 - samsung,pmu-syscon 109 110allOf: 111 - if: 112 properties: 113 compatible: 114 contains: 115 const: google,gs101-usb31drd-phy 116 then: 117 $ref: /schemas/usb/usb-switch.yaml# 118 119 properties: 120 clocks: 121 items: 122 - description: Gate of main PHY clock 123 - description: Gate of PHY reference clock 124 - description: Gate of control interface AXI clock 125 - description: Gate of control interface APB clock 126 - description: Gate of SCL APB clock 127 128 clock-names: 129 items: 130 - const: phy 131 - const: ref 132 - const: ctrl_aclk 133 - const: ctrl_pclk 134 - const: scl_pclk 135 136 reg: 137 minItems: 3 138 139 reg-names: 140 minItems: 3 141 142 required: 143 - reg-names 144 - orientation-switch 145 - port 146 - pll-supply 147 - dvdd-usb20-supply 148 - vddh-usb20-supply 149 - vdd33-usb20-supply 150 - vdda-usbdp-supply 151 - vddh-usbdp-supply 152 153 - if: 154 properties: 155 compatible: 156 contains: 157 enum: 158 - samsung,exynos5433-usbdrd-phy 159 - samsung,exynos7-usbdrd-phy 160 then: 161 properties: 162 clocks: 163 minItems: 5 164 maxItems: 5 165 166 clock-names: 167 items: 168 - const: phy 169 - const: ref 170 - const: phy_utmi 171 - const: phy_pipe 172 - const: itp 173 174 reg: 175 maxItems: 1 176 177 reg-names: 178 maxItems: 1 179 180 - if: 181 properties: 182 compatible: 183 contains: 184 enum: 185 - samsung,exynos5250-usbdrd-phy 186 - samsung,exynos5420-usbdrd-phy 187 - samsung,exynos850-usbdrd-phy 188 then: 189 properties: 190 clocks: 191 minItems: 2 192 maxItems: 2 193 194 clock-names: 195 items: 196 - const: phy 197 - const: ref 198 199 reg: 200 maxItems: 1 201 202 reg-names: 203 maxItems: 1 204 205unevaluatedProperties: false 206 207examples: 208 - | 209 #include <dt-bindings/clock/exynos5420.h> 210 211 phy@12100000 { 212 compatible = "samsung,exynos5420-usbdrd-phy"; 213 reg = <0x12100000 0x100>; 214 #phy-cells = <1>; 215 clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>; 216 clock-names = "phy", "ref"; 217 samsung,pmu-syscon = <&pmu_system_controller>; 218 vbus-supply = <&usb300_vbus_reg>; 219 }; 220