xref: /linux/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml (revision 60c24dbfc54f27027a9d72a968fcf7d20aeb8b1f)
1*60c24dbfSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*60c24dbfSKrzysztof Kozlowski%YAML 1.2
3*60c24dbfSKrzysztof Kozlowski---
4*60c24dbfSKrzysztof Kozlowski$id: http://devicetree.org/schemas/phy/samsung,usb3-drd-phy.yaml#
5*60c24dbfSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*60c24dbfSKrzysztof Kozlowski
7*60c24dbfSKrzysztof Kozlowskititle: Samsung Exynos SoC USB 3.0 DRD PHY USB 2.0 PHY
8*60c24dbfSKrzysztof Kozlowski
9*60c24dbfSKrzysztof Kozlowskimaintainers:
10*60c24dbfSKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
11*60c24dbfSKrzysztof Kozlowski  - Marek Szyprowski <m.szyprowski@samsung.com>
12*60c24dbfSKrzysztof Kozlowski  - Sylwester Nawrocki <s.nawrocki@samsung.com>
13*60c24dbfSKrzysztof Kozlowski
14*60c24dbfSKrzysztof Kozlowskidescription: |
15*60c24dbfSKrzysztof Kozlowski  For samsung,exynos5250-usbdrd-phy and samsung,exynos5420-usbdrd-phy
16*60c24dbfSKrzysztof Kozlowski  compatible PHYs, the second cell in the PHY specifier identifies the
17*60c24dbfSKrzysztof Kozlowski  PHY id, which is interpreted as follows::
18*60c24dbfSKrzysztof Kozlowski    0 - UTMI+ type phy,
19*60c24dbfSKrzysztof Kozlowski    1 - PIPE3 type phy.
20*60c24dbfSKrzysztof Kozlowski
21*60c24dbfSKrzysztof Kozlowski  For SoCs like Exynos5420 having multiple USB 3.0 DRD PHY controllers,
22*60c24dbfSKrzysztof Kozlowski  'usbdrd_phy' nodes should have numbered alias in the aliases node, in the
23*60c24dbfSKrzysztof Kozlowski  form of usbdrdphyN, N = 0, 1... (depending on number of controllers).
24*60c24dbfSKrzysztof Kozlowski
25*60c24dbfSKrzysztof Kozlowskiproperties:
26*60c24dbfSKrzysztof Kozlowski  compatible:
27*60c24dbfSKrzysztof Kozlowski    enum:
28*60c24dbfSKrzysztof Kozlowski      - samsung,exynos5250-usbdrd-phy
29*60c24dbfSKrzysztof Kozlowski      - samsung,exynos5420-usbdrd-phy
30*60c24dbfSKrzysztof Kozlowski      - samsung,exynos5433-usbdrd-phy
31*60c24dbfSKrzysztof Kozlowski      - samsung,exynos7-usbdrd-phy
32*60c24dbfSKrzysztof Kozlowski
33*60c24dbfSKrzysztof Kozlowski  clocks:
34*60c24dbfSKrzysztof Kozlowski    minItems: 2
35*60c24dbfSKrzysztof Kozlowski    maxItems: 5
36*60c24dbfSKrzysztof Kozlowski
37*60c24dbfSKrzysztof Kozlowski  clock-names:
38*60c24dbfSKrzysztof Kozlowski    minItems: 2
39*60c24dbfSKrzysztof Kozlowski    maxItems: 5
40*60c24dbfSKrzysztof Kozlowski    description: |
41*60c24dbfSKrzysztof Kozlowski      At least two clocks::
42*60c24dbfSKrzysztof Kozlowski        - Main PHY clock (same as USB DRD controller i.e. DWC3 IP clock), used
43*60c24dbfSKrzysztof Kozlowski          for register access.
44*60c24dbfSKrzysztof Kozlowski        - PHY reference clock (usually crystal clock), used for PHY operations,
45*60c24dbfSKrzysztof Kozlowski          associated by phy name. It is used to determine bit values for clock
46*60c24dbfSKrzysztof Kozlowski          settings register.  For Exynos5420 this is given as 'sclk_usbphy30'
47*60c24dbfSKrzysztof Kozlowski          in the CMU.
48*60c24dbfSKrzysztof Kozlowski
49*60c24dbfSKrzysztof Kozlowski  "#phy-cells":
50*60c24dbfSKrzysztof Kozlowski    const: 1
51*60c24dbfSKrzysztof Kozlowski
52*60c24dbfSKrzysztof Kozlowski  port:
53*60c24dbfSKrzysztof Kozlowski    $ref: /schemas/graph.yaml#/properties/port
54*60c24dbfSKrzysztof Kozlowski    description:
55*60c24dbfSKrzysztof Kozlowski      Any connector to the data bus of this controller should be modelled using
56*60c24dbfSKrzysztof Kozlowski      the OF graph bindings specified.
57*60c24dbfSKrzysztof Kozlowski
58*60c24dbfSKrzysztof Kozlowski  reg:
59*60c24dbfSKrzysztof Kozlowski    maxItems: 1
60*60c24dbfSKrzysztof Kozlowski
61*60c24dbfSKrzysztof Kozlowski  samsung,pmu-syscon:
62*60c24dbfSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
63*60c24dbfSKrzysztof Kozlowski    description:
64*60c24dbfSKrzysztof Kozlowski      Phandle to PMU system controller interface.
65*60c24dbfSKrzysztof Kozlowski
66*60c24dbfSKrzysztof Kozlowski  vbus-supply:
67*60c24dbfSKrzysztof Kozlowski    description:
68*60c24dbfSKrzysztof Kozlowski      VBUS power source.
69*60c24dbfSKrzysztof Kozlowski
70*60c24dbfSKrzysztof Kozlowski  vbus-boost-supply:
71*60c24dbfSKrzysztof Kozlowski    description:
72*60c24dbfSKrzysztof Kozlowski      VBUS Boost 5V power source.
73*60c24dbfSKrzysztof Kozlowski
74*60c24dbfSKrzysztof Kozlowskirequired:
75*60c24dbfSKrzysztof Kozlowski  - compatible
76*60c24dbfSKrzysztof Kozlowski  - clocks
77*60c24dbfSKrzysztof Kozlowski  - clock-names
78*60c24dbfSKrzysztof Kozlowski  - "#phy-cells"
79*60c24dbfSKrzysztof Kozlowski  - reg
80*60c24dbfSKrzysztof Kozlowski  - samsung,pmu-syscon
81*60c24dbfSKrzysztof Kozlowski
82*60c24dbfSKrzysztof KozlowskiallOf:
83*60c24dbfSKrzysztof Kozlowski  - if:
84*60c24dbfSKrzysztof Kozlowski      properties:
85*60c24dbfSKrzysztof Kozlowski        compatible:
86*60c24dbfSKrzysztof Kozlowski          contains:
87*60c24dbfSKrzysztof Kozlowski            enum:
88*60c24dbfSKrzysztof Kozlowski              - samsung,exynos5433-usbdrd-phy
89*60c24dbfSKrzysztof Kozlowski              - samsung,exynos7-usbdrd-phy
90*60c24dbfSKrzysztof Kozlowski    then:
91*60c24dbfSKrzysztof Kozlowski      properties:
92*60c24dbfSKrzysztof Kozlowski        clocks:
93*60c24dbfSKrzysztof Kozlowski          minItems: 5
94*60c24dbfSKrzysztof Kozlowski          maxItems: 5
95*60c24dbfSKrzysztof Kozlowski        clock-names:
96*60c24dbfSKrzysztof Kozlowski          items:
97*60c24dbfSKrzysztof Kozlowski            - const: phy
98*60c24dbfSKrzysztof Kozlowski            - const: ref
99*60c24dbfSKrzysztof Kozlowski            - const: phy_utmi
100*60c24dbfSKrzysztof Kozlowski            - const: phy_pipe
101*60c24dbfSKrzysztof Kozlowski            - const: itp
102*60c24dbfSKrzysztof Kozlowski    else:
103*60c24dbfSKrzysztof Kozlowski      properties:
104*60c24dbfSKrzysztof Kozlowski        clocks:
105*60c24dbfSKrzysztof Kozlowski          minItems: 2
106*60c24dbfSKrzysztof Kozlowski          maxItems: 2
107*60c24dbfSKrzysztof Kozlowski        clock-names:
108*60c24dbfSKrzysztof Kozlowski          items:
109*60c24dbfSKrzysztof Kozlowski            - const: phy
110*60c24dbfSKrzysztof Kozlowski            - const: ref
111*60c24dbfSKrzysztof Kozlowski
112*60c24dbfSKrzysztof KozlowskiadditionalProperties: false
113*60c24dbfSKrzysztof Kozlowski
114*60c24dbfSKrzysztof Kozlowskiexamples:
115*60c24dbfSKrzysztof Kozlowski  - |
116*60c24dbfSKrzysztof Kozlowski    #include <dt-bindings/clock/exynos5420.h>
117*60c24dbfSKrzysztof Kozlowski
118*60c24dbfSKrzysztof Kozlowski    phy@12100000 {
119*60c24dbfSKrzysztof Kozlowski        compatible = "samsung,exynos5420-usbdrd-phy";
120*60c24dbfSKrzysztof Kozlowski        reg = <0x12100000 0x100>;
121*60c24dbfSKrzysztof Kozlowski        #phy-cells = <1>;
122*60c24dbfSKrzysztof Kozlowski        clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>;
123*60c24dbfSKrzysztof Kozlowski        clock-names = "phy", "ref";
124*60c24dbfSKrzysztof Kozlowski        samsung,pmu-syscon = <&pmu_system_controller>;
125*60c24dbfSKrzysztof Kozlowski        vbus-supply = <&usb300_vbus_reg>;
126*60c24dbfSKrzysztof Kozlowski    };
127