xref: /linux/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
160c24dbfSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
260c24dbfSKrzysztof Kozlowski%YAML 1.2
360c24dbfSKrzysztof Kozlowski---
460c24dbfSKrzysztof Kozlowski$id: http://devicetree.org/schemas/phy/samsung,usb3-drd-phy.yaml#
560c24dbfSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
660c24dbfSKrzysztof Kozlowski
760c24dbfSKrzysztof Kozlowskititle: Samsung Exynos SoC USB 3.0 DRD PHY USB 2.0 PHY
860c24dbfSKrzysztof Kozlowski
960c24dbfSKrzysztof Kozlowskimaintainers:
108a1e6bb3SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
1160c24dbfSKrzysztof Kozlowski  - Marek Szyprowski <m.szyprowski@samsung.com>
1260c24dbfSKrzysztof Kozlowski  - Sylwester Nawrocki <s.nawrocki@samsung.com>
1360c24dbfSKrzysztof Kozlowski
1460c24dbfSKrzysztof Kozlowskidescription: |
1560c24dbfSKrzysztof Kozlowski  For samsung,exynos5250-usbdrd-phy and samsung,exynos5420-usbdrd-phy
1660c24dbfSKrzysztof Kozlowski  compatible PHYs, the second cell in the PHY specifier identifies the
1760c24dbfSKrzysztof Kozlowski  PHY id, which is interpreted as follows::
1860c24dbfSKrzysztof Kozlowski    0 - UTMI+ type phy,
1960c24dbfSKrzysztof Kozlowski    1 - PIPE3 type phy.
2060c24dbfSKrzysztof Kozlowski
2160c24dbfSKrzysztof Kozlowski  For SoCs like Exynos5420 having multiple USB 3.0 DRD PHY controllers,
2260c24dbfSKrzysztof Kozlowski  'usbdrd_phy' nodes should have numbered alias in the aliases node, in the
2360c24dbfSKrzysztof Kozlowski  form of usbdrdphyN, N = 0, 1... (depending on number of controllers).
2460c24dbfSKrzysztof Kozlowski
2560c24dbfSKrzysztof Kozlowskiproperties:
2660c24dbfSKrzysztof Kozlowski  compatible:
2760c24dbfSKrzysztof Kozlowski    enum:
28e340c041SAndré Draszik      - google,gs101-usb31drd-phy
29*e4c9a7b4SIvaylo Ivanov      - samsung,exynos2200-usb32drd-phy
3060c24dbfSKrzysztof Kozlowski      - samsung,exynos5250-usbdrd-phy
3160c24dbfSKrzysztof Kozlowski      - samsung,exynos5420-usbdrd-phy
3260c24dbfSKrzysztof Kozlowski      - samsung,exynos5433-usbdrd-phy
3360c24dbfSKrzysztof Kozlowski      - samsung,exynos7-usbdrd-phy
3423f79385SKaustabh Chakraborty      - samsung,exynos7870-usbdrd-phy
350b76bdceSSam Protsenko      - samsung,exynos850-usbdrd-phy
3660c24dbfSKrzysztof Kozlowski      - samsung,exynos990-usbdrd-phy
3760c24dbfSKrzysztof Kozlowski
38*e4c9a7b4SIvaylo Ivanov  clocks:
3960c24dbfSKrzysztof Kozlowski    minItems: 1
4060c24dbfSKrzysztof Kozlowski    maxItems: 5
4160c24dbfSKrzysztof Kozlowski
42*e4c9a7b4SIvaylo Ivanov  clock-names:
4360c24dbfSKrzysztof Kozlowski    minItems: 1
4460c24dbfSKrzysztof Kozlowski    maxItems: 5
45*e4c9a7b4SIvaylo Ivanov    description: |
4660c24dbfSKrzysztof Kozlowski      Typically two clocks:
4760c24dbfSKrzysztof Kozlowski        - Main PHY clock (same as USB DRD controller i.e. DWC3 IP clock), used
4860c24dbfSKrzysztof Kozlowski          for register access.
4960c24dbfSKrzysztof Kozlowski        - PHY reference clock (usually crystal clock), used for PHY operations,
5060c24dbfSKrzysztof Kozlowski          associated by phy name. It is used to determine bit values for clock
51*e4c9a7b4SIvaylo Ivanov          settings register.  For Exynos5420 this is given as 'sclk_usbphy30'
5260c24dbfSKrzysztof Kozlowski          in the CMU. It's not needed for Exynos2200.
5360c24dbfSKrzysztof Kozlowski
5460c24dbfSKrzysztof Kozlowski  "#phy-cells":
5560c24dbfSKrzysztof Kozlowski    const: 1
56*e4c9a7b4SIvaylo Ivanov
57*e4c9a7b4SIvaylo Ivanov  phys:
58*e4c9a7b4SIvaylo Ivanov    maxItems: 1
59*e4c9a7b4SIvaylo Ivanov    description:
60*e4c9a7b4SIvaylo Ivanov      USBDRD-underlying high-speed PHY
61*e4c9a7b4SIvaylo Ivanov
62*e4c9a7b4SIvaylo Ivanov  phy-names:
63*e4c9a7b4SIvaylo Ivanov    const: hs
6460c24dbfSKrzysztof Kozlowski
6560c24dbfSKrzysztof Kozlowski  port:
6660c24dbfSKrzysztof Kozlowski    $ref: /schemas/graph.yaml#/properties/port
6760c24dbfSKrzysztof Kozlowski    description:
6860c24dbfSKrzysztof Kozlowski      Any connector to the data bus of this controller should be modelled using
6960c24dbfSKrzysztof Kozlowski      the OF graph bindings specified.
7060c24dbfSKrzysztof Kozlowski
71e340c041SAndré Draszik  reg:
72e340c041SAndré Draszik    minItems: 1
73e340c041SAndré Draszik    maxItems: 3
74e340c041SAndré Draszik
75e340c041SAndré Draszik  reg-names:
76e340c041SAndré Draszik    minItems: 1
77e340c041SAndré Draszik    items:
78e340c041SAndré Draszik      - const: phy
79e340c041SAndré Draszik      - const: pcs
8060c24dbfSKrzysztof Kozlowski      - const: pma
8160c24dbfSKrzysztof Kozlowski
8260c24dbfSKrzysztof Kozlowski  samsung,pmu-syscon:
8360c24dbfSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
8460c24dbfSKrzysztof Kozlowski    description:
8560c24dbfSKrzysztof Kozlowski      Phandle to PMU system controller interface.
8660c24dbfSKrzysztof Kozlowski
8760c24dbfSKrzysztof Kozlowski  vbus-supply:
8860c24dbfSKrzysztof Kozlowski    description:
8960c24dbfSKrzysztof Kozlowski      VBUS power source.
9060c24dbfSKrzysztof Kozlowski
9160c24dbfSKrzysztof Kozlowski  vbus-boost-supply:
9260c24dbfSKrzysztof Kozlowski    description:
9360c24dbfSKrzysztof Kozlowski      VBUS Boost 5V power source.
94e340c041SAndré Draszik
95e340c041SAndré Draszik  pll-supply:
96642b1ed4SAndré Draszik    description: Power supply for the USB PLL.
97e340c041SAndré Draszik
98e340c041SAndré Draszik  dvdd-usb20-supply:
99642b1ed4SAndré Draszik    description: DVDD power supply for the USB 2.0 phy.
100e340c041SAndré Draszik
101e340c041SAndré Draszik  vddh-usb20-supply:
102642b1ed4SAndré Draszik    description: VDDh power supply for the USB 2.0 phy.
103e340c041SAndré Draszik
104e340c041SAndré Draszik  vdd33-usb20-supply:
105642b1ed4SAndré Draszik    description: 3.3V power supply for the USB 2.0 phy.
106e340c041SAndré Draszik
107e340c041SAndré Draszik  vdda-usbdp-supply:
108642b1ed4SAndré Draszik    description: VDDa power supply for the USB DP phy.
109e340c041SAndré Draszik
110e340c041SAndré Draszik  vddh-usbdp-supply:
111e340c041SAndré Draszik    description: VDDh power supply for the USB DP phy.
11260c24dbfSKrzysztof Kozlowski
11360c24dbfSKrzysztof Kozlowskirequired:
11460c24dbfSKrzysztof Kozlowski  - compatible
11560c24dbfSKrzysztof Kozlowski  - clocks
11660c24dbfSKrzysztof Kozlowski  - clock-names
11760c24dbfSKrzysztof Kozlowski  - "#phy-cells"
11860c24dbfSKrzysztof Kozlowski  - reg
11960c24dbfSKrzysztof Kozlowski  - samsung,pmu-syscon
12060c24dbfSKrzysztof Kozlowski
12160c24dbfSKrzysztof KozlowskiallOf:
12260c24dbfSKrzysztof Kozlowski  - if:
12360c24dbfSKrzysztof Kozlowski      properties:
12460c24dbfSKrzysztof Kozlowski        compatible:
125e340c041SAndré Draszik          contains:
126e340c041SAndré Draszik            const: google,gs101-usb31drd-phy
127c3852881SAndré Draszik    then:
128c3852881SAndré Draszik      $ref: /schemas/usb/usb-switch.yaml#
129e340c041SAndré Draszik
130e340c041SAndré Draszik      properties:
131e340c041SAndré Draszik        clocks:
132e340c041SAndré Draszik          items:
133e340c041SAndré Draszik            - description: Gate of main PHY clock
134e340c041SAndré Draszik            - description: Gate of PHY reference clock
135e340c041SAndré Draszik            - description: Gate of control interface AXI clock
136e340c041SAndré Draszik            - description: Gate of control interface APB clock
137642b1ed4SAndré Draszik            - description: Gate of SCL APB clock
138e340c041SAndré Draszik
139e340c041SAndré Draszik        clock-names:
140e340c041SAndré Draszik          items:
141e340c041SAndré Draszik            - const: phy
142e340c041SAndré Draszik            - const: ref
143e340c041SAndré Draszik            - const: ctrl_aclk
144e340c041SAndré Draszik            - const: ctrl_pclk
145642b1ed4SAndré Draszik            - const: scl_pclk
146e340c041SAndré Draszik
147e340c041SAndré Draszik        reg:
148642b1ed4SAndré Draszik          minItems: 3
149e340c041SAndré Draszik
150e340c041SAndré Draszik        reg-names:
151642b1ed4SAndré Draszik          minItems: 3
152e340c041SAndré Draszik
153e340c041SAndré Draszik      required:
154c3852881SAndré Draszik        - reg-names
155c3852881SAndré Draszik        - orientation-switch
156e340c041SAndré Draszik        - port
157e340c041SAndré Draszik        - pll-supply
158e340c041SAndré Draszik        - dvdd-usb20-supply
159e340c041SAndré Draszik        - vddh-usb20-supply
160e340c041SAndré Draszik        - vdd33-usb20-supply
161e340c041SAndré Draszik        - vdda-usbdp-supply
162e340c041SAndré Draszik        - vddh-usbdp-supply
163e340c041SAndré Draszik
164e340c041SAndré Draszik  - if:
165e340c041SAndré Draszik      properties:
166e340c041SAndré Draszik        compatible:
16760c24dbfSKrzysztof Kozlowski          contains:
168*e4c9a7b4SIvaylo Ivanov            enum:
169*e4c9a7b4SIvaylo Ivanov              - samsung,exynos2200-usb32drd-phy
170*e4c9a7b4SIvaylo Ivanov    then:
171*e4c9a7b4SIvaylo Ivanov      properties:
172*e4c9a7b4SIvaylo Ivanov        clocks:
173*e4c9a7b4SIvaylo Ivanov          maxItems: 1
174*e4c9a7b4SIvaylo Ivanov        clock-names:
175*e4c9a7b4SIvaylo Ivanov          items:
176*e4c9a7b4SIvaylo Ivanov            - const: phy
177*e4c9a7b4SIvaylo Ivanov        reg:
178*e4c9a7b4SIvaylo Ivanov          maxItems: 1
179*e4c9a7b4SIvaylo Ivanov        reg-names:
180*e4c9a7b4SIvaylo Ivanov          maxItems: 1
181*e4c9a7b4SIvaylo Ivanov      required:
182*e4c9a7b4SIvaylo Ivanov        - phys
183*e4c9a7b4SIvaylo Ivanov        - phy-names
184*e4c9a7b4SIvaylo Ivanov
185*e4c9a7b4SIvaylo Ivanov  - if:
186*e4c9a7b4SIvaylo Ivanov      properties:
187*e4c9a7b4SIvaylo Ivanov        compatible:
188*e4c9a7b4SIvaylo Ivanov          contains:
18960c24dbfSKrzysztof Kozlowski            enum:
19060c24dbfSKrzysztof Kozlowski              - samsung,exynos5433-usbdrd-phy
19160c24dbfSKrzysztof Kozlowski              - samsung,exynos7-usbdrd-phy
19260c24dbfSKrzysztof Kozlowski    then:
19360c24dbfSKrzysztof Kozlowski      properties:
19460c24dbfSKrzysztof Kozlowski        clocks:
19560c24dbfSKrzysztof Kozlowski          minItems: 5
196642b1ed4SAndré Draszik          maxItems: 5
19760c24dbfSKrzysztof Kozlowski
19860c24dbfSKrzysztof Kozlowski        clock-names:
19960c24dbfSKrzysztof Kozlowski          items:
20060c24dbfSKrzysztof Kozlowski            - const: phy
20160c24dbfSKrzysztof Kozlowski            - const: ref
20260c24dbfSKrzysztof Kozlowski            - const: phy_utmi
20360c24dbfSKrzysztof Kozlowski            - const: phy_pipe
204642b1ed4SAndré Draszik            - const: itp
205e340c041SAndré Draszik
206e340c041SAndré Draszik        reg:
207642b1ed4SAndré Draszik          maxItems: 1
208e340c041SAndré Draszik
209e340c041SAndré Draszik        reg-names:
210e340c041SAndré Draszik          maxItems: 1
211e340c041SAndré Draszik
212e340c041SAndré Draszik  - if:
213e340c041SAndré Draszik      properties:
214e340c041SAndré Draszik        compatible:
215e340c041SAndré Draszik          contains:
216e340c041SAndré Draszik            enum:
217e340c041SAndré Draszik              - samsung,exynos5250-usbdrd-phy
21823f79385SKaustabh Chakraborty              - samsung,exynos5420-usbdrd-phy
219e340c041SAndré Draszik              - samsung,exynos7870-usbdrd-phy
220e340c041SAndré Draszik              - samsung,exynos850-usbdrd-phy
22160c24dbfSKrzysztof Kozlowski              - samsung,exynos990-usbdrd-phy
22260c24dbfSKrzysztof Kozlowski    then:
22360c24dbfSKrzysztof Kozlowski      properties:
22460c24dbfSKrzysztof Kozlowski        clocks:
225642b1ed4SAndré Draszik          minItems: 2
22660c24dbfSKrzysztof Kozlowski          maxItems: 2
22760c24dbfSKrzysztof Kozlowski
22860c24dbfSKrzysztof Kozlowski        clock-names:
22960c24dbfSKrzysztof Kozlowski          items:
230642b1ed4SAndré Draszik            - const: phy
231e340c041SAndré Draszik            - const: ref
232e340c041SAndré Draszik
233642b1ed4SAndré Draszik        reg:
234e340c041SAndré Draszik          maxItems: 1
235e340c041SAndré Draszik
23660c24dbfSKrzysztof Kozlowski        reg-names:
237c3852881SAndré Draszik          maxItems: 1
23860c24dbfSKrzysztof Kozlowski
23960c24dbfSKrzysztof KozlowskiunevaluatedProperties: false
24060c24dbfSKrzysztof Kozlowski
24160c24dbfSKrzysztof Kozlowskiexamples:
24260c24dbfSKrzysztof Kozlowski  - |
24360c24dbfSKrzysztof Kozlowski    #include <dt-bindings/clock/exynos5420.h>
24460c24dbfSKrzysztof Kozlowski
24560c24dbfSKrzysztof Kozlowski    phy@12100000 {
24660c24dbfSKrzysztof Kozlowski        compatible = "samsung,exynos5420-usbdrd-phy";
24760c24dbfSKrzysztof Kozlowski        reg = <0x12100000 0x100>;
24860c24dbfSKrzysztof Kozlowski        #phy-cells = <1>;
24960c24dbfSKrzysztof Kozlowski        clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>;
25060c24dbfSKrzysztof Kozlowski        clock-names = "phy", "ref";
25160c24dbfSKrzysztof Kozlowski        samsung,pmu-syscon = <&pmu_system_controller>;
252        vbus-supply = <&usb300_vbus_reg>;
253    };
254