xref: /linux/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml (revision e340c041b7a4c0321bfe2cb54817837c9040c739)
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:
28*e340c041SAndré Draszik      - google,gs101-usb31drd-phy
2960c24dbfSKrzysztof Kozlowski      - samsung,exynos5250-usbdrd-phy
3060c24dbfSKrzysztof Kozlowski      - samsung,exynos5420-usbdrd-phy
3160c24dbfSKrzysztof Kozlowski      - samsung,exynos5433-usbdrd-phy
3260c24dbfSKrzysztof Kozlowski      - samsung,exynos7-usbdrd-phy
330b76bdceSSam Protsenko      - samsung,exynos850-usbdrd-phy
3460c24dbfSKrzysztof Kozlowski
3560c24dbfSKrzysztof Kozlowski  clocks:
3660c24dbfSKrzysztof Kozlowski    minItems: 2
3760c24dbfSKrzysztof Kozlowski    maxItems: 5
3860c24dbfSKrzysztof Kozlowski
3960c24dbfSKrzysztof Kozlowski  clock-names:
4060c24dbfSKrzysztof Kozlowski    minItems: 2
4160c24dbfSKrzysztof Kozlowski    maxItems: 5
4260c24dbfSKrzysztof Kozlowski    description: |
4360c24dbfSKrzysztof Kozlowski      At least two clocks::
4460c24dbfSKrzysztof Kozlowski        - Main PHY clock (same as USB DRD controller i.e. DWC3 IP clock), used
4560c24dbfSKrzysztof Kozlowski          for register access.
4660c24dbfSKrzysztof Kozlowski        - PHY reference clock (usually crystal clock), used for PHY operations,
4760c24dbfSKrzysztof Kozlowski          associated by phy name. It is used to determine bit values for clock
4860c24dbfSKrzysztof Kozlowski          settings register.  For Exynos5420 this is given as 'sclk_usbphy30'
4960c24dbfSKrzysztof Kozlowski          in the CMU.
5060c24dbfSKrzysztof Kozlowski
5160c24dbfSKrzysztof Kozlowski  "#phy-cells":
5260c24dbfSKrzysztof Kozlowski    const: 1
5360c24dbfSKrzysztof Kozlowski
5460c24dbfSKrzysztof Kozlowski  port:
5560c24dbfSKrzysztof Kozlowski    $ref: /schemas/graph.yaml#/properties/port
5660c24dbfSKrzysztof Kozlowski    description:
5760c24dbfSKrzysztof Kozlowski      Any connector to the data bus of this controller should be modelled using
5860c24dbfSKrzysztof Kozlowski      the OF graph bindings specified.
5960c24dbfSKrzysztof Kozlowski
6060c24dbfSKrzysztof Kozlowski  reg:
61*e340c041SAndré Draszik    minItems: 1
62*e340c041SAndré Draszik    maxItems: 3
63*e340c041SAndré Draszik
64*e340c041SAndré Draszik  reg-names:
65*e340c041SAndré Draszik    minItems: 1
66*e340c041SAndré Draszik    items:
67*e340c041SAndré Draszik      - const: phy
68*e340c041SAndré Draszik      - const: pcs
69*e340c041SAndré Draszik      - const: pma
7060c24dbfSKrzysztof Kozlowski
7160c24dbfSKrzysztof Kozlowski  samsung,pmu-syscon:
7260c24dbfSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
7360c24dbfSKrzysztof Kozlowski    description:
7460c24dbfSKrzysztof Kozlowski      Phandle to PMU system controller interface.
7560c24dbfSKrzysztof Kozlowski
7660c24dbfSKrzysztof Kozlowski  vbus-supply:
7760c24dbfSKrzysztof Kozlowski    description:
7860c24dbfSKrzysztof Kozlowski      VBUS power source.
7960c24dbfSKrzysztof Kozlowski
8060c24dbfSKrzysztof Kozlowski  vbus-boost-supply:
8160c24dbfSKrzysztof Kozlowski    description:
8260c24dbfSKrzysztof Kozlowski      VBUS Boost 5V power source.
8360c24dbfSKrzysztof Kozlowski
84*e340c041SAndré Draszik  pll-supply:
85*e340c041SAndré Draszik    description: Power supply for the USB PLL.
86*e340c041SAndré Draszik  dvdd-usb20-supply:
87*e340c041SAndré Draszik    description: DVDD power supply for the USB 2.0 phy.
88*e340c041SAndré Draszik  vddh-usb20-supply:
89*e340c041SAndré Draszik    description: VDDh power supply for the USB 2.0 phy.
90*e340c041SAndré Draszik  vdd33-usb20-supply:
91*e340c041SAndré Draszik    description: 3.3V power supply for the USB 2.0 phy.
92*e340c041SAndré Draszik  vdda-usbdp-supply:
93*e340c041SAndré Draszik    description: VDDa power supply for the USB DP phy.
94*e340c041SAndré Draszik  vddh-usbdp-supply:
95*e340c041SAndré Draszik    description: VDDh power supply for the USB DP phy.
96*e340c041SAndré Draszik
9760c24dbfSKrzysztof Kozlowskirequired:
9860c24dbfSKrzysztof Kozlowski  - compatible
9960c24dbfSKrzysztof Kozlowski  - clocks
10060c24dbfSKrzysztof Kozlowski  - clock-names
10160c24dbfSKrzysztof Kozlowski  - "#phy-cells"
10260c24dbfSKrzysztof Kozlowski  - reg
10360c24dbfSKrzysztof Kozlowski  - samsung,pmu-syscon
10460c24dbfSKrzysztof Kozlowski
10560c24dbfSKrzysztof KozlowskiallOf:
10660c24dbfSKrzysztof Kozlowski  - if:
10760c24dbfSKrzysztof Kozlowski      properties:
10860c24dbfSKrzysztof Kozlowski        compatible:
10960c24dbfSKrzysztof Kozlowski          contains:
110*e340c041SAndré Draszik            const: google,gs101-usb31drd-phy
111*e340c041SAndré Draszik    then:
112*e340c041SAndré Draszik      properties:
113*e340c041SAndré Draszik        clocks:
114*e340c041SAndré Draszik          items:
115*e340c041SAndré Draszik            - description: Gate of main PHY clock
116*e340c041SAndré Draszik            - description: Gate of PHY reference clock
117*e340c041SAndré Draszik            - description: Gate of control interface AXI clock
118*e340c041SAndré Draszik            - description: Gate of control interface APB clock
119*e340c041SAndré Draszik            - description: Gate of SCL APB clock
120*e340c041SAndré Draszik        clock-names:
121*e340c041SAndré Draszik          items:
122*e340c041SAndré Draszik            - const: phy
123*e340c041SAndré Draszik            - const: ref
124*e340c041SAndré Draszik            - const: ctrl_aclk
125*e340c041SAndré Draszik            - const: ctrl_pclk
126*e340c041SAndré Draszik            - const: scl_pclk
127*e340c041SAndré Draszik        reg:
128*e340c041SAndré Draszik          minItems: 3
129*e340c041SAndré Draszik        reg-names:
130*e340c041SAndré Draszik          minItems: 3
131*e340c041SAndré Draszik      required:
132*e340c041SAndré Draszik        - reg-names
133*e340c041SAndré Draszik        - pll-supply
134*e340c041SAndré Draszik        - dvdd-usb20-supply
135*e340c041SAndré Draszik        - vddh-usb20-supply
136*e340c041SAndré Draszik        - vdd33-usb20-supply
137*e340c041SAndré Draszik        - vdda-usbdp-supply
138*e340c041SAndré Draszik        - vddh-usbdp-supply
139*e340c041SAndré Draszik
140*e340c041SAndré Draszik  - if:
141*e340c041SAndré Draszik      properties:
142*e340c041SAndré Draszik        compatible:
143*e340c041SAndré Draszik          contains:
14460c24dbfSKrzysztof Kozlowski            enum:
14560c24dbfSKrzysztof Kozlowski              - samsung,exynos5433-usbdrd-phy
14660c24dbfSKrzysztof Kozlowski              - samsung,exynos7-usbdrd-phy
14760c24dbfSKrzysztof Kozlowski    then:
14860c24dbfSKrzysztof Kozlowski      properties:
14960c24dbfSKrzysztof Kozlowski        clocks:
15060c24dbfSKrzysztof Kozlowski          minItems: 5
15160c24dbfSKrzysztof Kozlowski          maxItems: 5
15260c24dbfSKrzysztof Kozlowski        clock-names:
15360c24dbfSKrzysztof Kozlowski          items:
15460c24dbfSKrzysztof Kozlowski            - const: phy
15560c24dbfSKrzysztof Kozlowski            - const: ref
15660c24dbfSKrzysztof Kozlowski            - const: phy_utmi
15760c24dbfSKrzysztof Kozlowski            - const: phy_pipe
15860c24dbfSKrzysztof Kozlowski            - const: itp
159*e340c041SAndré Draszik        reg:
160*e340c041SAndré Draszik          maxItems: 1
161*e340c041SAndré Draszik        reg-names:
162*e340c041SAndré Draszik          maxItems: 1
163*e340c041SAndré Draszik
164*e340c041SAndré Draszik  - if:
165*e340c041SAndré Draszik      properties:
166*e340c041SAndré Draszik        compatible:
167*e340c041SAndré Draszik          contains:
168*e340c041SAndré Draszik            enum:
169*e340c041SAndré Draszik              - samsung,exynos5250-usbdrd-phy
170*e340c041SAndré Draszik              - samsung,exynos5420-usbdrd-phy
171*e340c041SAndré Draszik              - samsung,exynos850-usbdrd-phy
172*e340c041SAndré Draszik    then:
17360c24dbfSKrzysztof Kozlowski      properties:
17460c24dbfSKrzysztof Kozlowski        clocks:
17560c24dbfSKrzysztof Kozlowski          minItems: 2
17660c24dbfSKrzysztof Kozlowski          maxItems: 2
17760c24dbfSKrzysztof Kozlowski        clock-names:
17860c24dbfSKrzysztof Kozlowski          items:
17960c24dbfSKrzysztof Kozlowski            - const: phy
18060c24dbfSKrzysztof Kozlowski            - const: ref
181*e340c041SAndré Draszik        reg:
182*e340c041SAndré Draszik          maxItems: 1
183*e340c041SAndré Draszik        reg-names:
184*e340c041SAndré Draszik          maxItems: 1
18560c24dbfSKrzysztof Kozlowski
18660c24dbfSKrzysztof KozlowskiadditionalProperties: false
18760c24dbfSKrzysztof Kozlowski
18860c24dbfSKrzysztof Kozlowskiexamples:
18960c24dbfSKrzysztof Kozlowski  - |
19060c24dbfSKrzysztof Kozlowski    #include <dt-bindings/clock/exynos5420.h>
19160c24dbfSKrzysztof Kozlowski
19260c24dbfSKrzysztof Kozlowski    phy@12100000 {
19360c24dbfSKrzysztof Kozlowski        compatible = "samsung,exynos5420-usbdrd-phy";
19460c24dbfSKrzysztof Kozlowski        reg = <0x12100000 0x100>;
19560c24dbfSKrzysztof Kozlowski        #phy-cells = <1>;
19660c24dbfSKrzysztof Kozlowski        clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>;
19760c24dbfSKrzysztof Kozlowski        clock-names = "phy", "ref";
19860c24dbfSKrzysztof Kozlowski        samsung,pmu-syscon = <&pmu_system_controller>;
19960c24dbfSKrzysztof Kozlowski        vbus-supply = <&usb300_vbus_reg>;
20060c24dbfSKrzysztof Kozlowski    };
201