Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 dvdd-usb20-supply:
87 description: DVDD power supply for the USB 2.0 phy.
88 vddh-usb20-supply:
89 description: VDDh power supply for the USB 2.0 phy.
90 vdd33-usb20-supply:
91 description: 3.3V power supply for the USB 2.0 phy.
92 vdda-usbdp-supply:
93 description: VDDa power supply for the USB DP phy.
94 vddh-usbdp-supply:
95 description: VDDh power supply for the USB DP phy.
96
97required:
98 - compatible
99 - clocks
100 - clock-names
101 - "#phy-cells"
102 - reg
103 - samsung,pmu-syscon
104
105allOf:
106 - if:
107 properties:
108 compatible:
109 contains:
110 const: google,gs101-usb31drd-phy
111 then:
112 properties:
113 clocks:
114 items:
115 - description: Gate of main PHY clock
116 - description: Gate of PHY reference clock
117 - description: Gate of control interface AXI clock
118 - description: Gate of control interface APB clock
119 - description: Gate of SCL APB clock
120 clock-names:
121 items:
122 - const: phy
123 - const: ref
124 - const: ctrl_aclk
125 - const: ctrl_pclk
126 - const: scl_pclk
127 reg:
128 minItems: 3
129 reg-names:
130 minItems: 3
131 required:
132 - reg-names
133 - pll-supply
134 - dvdd-usb20-supply
135 - vddh-usb20-supply
136 - vdd33-usb20-supply
137 - vdda-usbdp-supply
138 - vddh-usbdp-supply
139
140 - if:
141 properties:
142 compatible:
143 contains:
144 enum:
145 - samsung,exynos5433-usbdrd-phy
146 - samsung,exynos7-usbdrd-phy
147 then:
148 properties:
149 clocks:
150 minItems: 5
151 maxItems: 5
152 clock-names:
153 items:
154 - const: phy
155 - const: ref
156 - const: phy_utmi
157 - const: phy_pipe
158 - const: itp
159 reg:
160 maxItems: 1
161 reg-names:
162 maxItems: 1
163
164 - if:
165 properties:
166 compatible:
167 contains:
168 enum:
169 - samsung,exynos5250-usbdrd-phy
170 - samsung,exynos5420-usbdrd-phy
171 - samsung,exynos850-usbdrd-phy
172 then:
173 properties:
174 clocks:
175 minItems: 2
176 maxItems: 2
177 clock-names:
178 items:
179 - const: phy
180 - const: ref
181 reg:
182 maxItems: 1
183 reg-names:
184 maxItems: 1
185
186additionalProperties: false
187
188examples:
189 - |
190 #include <dt-bindings/clock/exynos5420.h>
191
192 phy@12100000 {
193 compatible = "samsung,exynos5420-usbdrd-phy";
194 reg = <0x12100000 0x100>;
195 #phy-cells = <1>;
196 clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>;
197 clock-names = "phy", "ref";
198 samsung,pmu-syscon = <&pmu_system_controller>;
199 vbus-supply = <&usb300_vbus_reg>;
200 };