1*4bbb2b22SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*4bbb2b22SKrzysztof Kozlowski%YAML 1.2
3*4bbb2b22SKrzysztof Kozlowski---
4*4bbb2b22SKrzysztof Kozlowski$id: http://devicetree.org/schemas/phy/samsung,usb2-phy.yaml#
5*4bbb2b22SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4bbb2b22SKrzysztof Kozlowski
7*4bbb2b22SKrzysztof Kozlowskititle: Samsung S5P/Exynos SoC USB 2.0 PHY
8*4bbb2b22SKrzysztof Kozlowski
9*4bbb2b22SKrzysztof Kozlowskimaintainers:
10*4bbb2b22SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
11*4bbb2b22SKrzysztof Kozlowski  - Marek Szyprowski <m.szyprowski@samsung.com>
12*4bbb2b22SKrzysztof Kozlowski  - Sylwester Nawrocki <s.nawrocki@samsung.com>
13*4bbb2b22SKrzysztof Kozlowski
14*4bbb2b22SKrzysztof Kozlowskidescription: |
15*4bbb2b22SKrzysztof Kozlowski  The first phandle argument in the PHY specifier identifies the PHY, its
16*4bbb2b22SKrzysztof Kozlowski  meaning is compatible dependent. For the currently supported SoCs (Exynos4210
17*4bbb2b22SKrzysztof Kozlowski  and Exynos4212) it is as follows::
18*4bbb2b22SKrzysztof Kozlowski    0 - USB device ("device"),
19*4bbb2b22SKrzysztof Kozlowski    1 - USB host ("host"),
20*4bbb2b22SKrzysztof Kozlowski    2 - HSIC0 ("hsic0"),
21*4bbb2b22SKrzysztof Kozlowski    3 - HSIC1 ("hsic1"),
22*4bbb2b22SKrzysztof Kozlowski  Exynos3250 has only USB device phy available as phy 0.
23*4bbb2b22SKrzysztof Kozlowski
24*4bbb2b22SKrzysztof Kozlowski  Exynos4210 and Exynos4212 use mode switching and require that mode switch
25*4bbb2b22SKrzysztof Kozlowski  register is supplied.
26*4bbb2b22SKrzysztof Kozlowski
27*4bbb2b22SKrzysztof Kozlowskiproperties:
28*4bbb2b22SKrzysztof Kozlowski  compatible:
29*4bbb2b22SKrzysztof Kozlowski    enum:
30*4bbb2b22SKrzysztof Kozlowski      - samsung,exynos3250-usb2-phy
31*4bbb2b22SKrzysztof Kozlowski      - samsung,exynos4210-usb2-phy
32*4bbb2b22SKrzysztof Kozlowski      - samsung,exynos4x12-usb2-phy
33*4bbb2b22SKrzysztof Kozlowski      - samsung,exynos5250-usb2-phy
34*4bbb2b22SKrzysztof Kozlowski      - samsung,exynos5420-usb2-phy
35*4bbb2b22SKrzysztof Kozlowski      - samsung,s5pv210-usb2-phy
36*4bbb2b22SKrzysztof Kozlowski
37*4bbb2b22SKrzysztof Kozlowski  clocks:
38*4bbb2b22SKrzysztof Kozlowski    items:
39*4bbb2b22SKrzysztof Kozlowski      - description: PHY module gate clock.
40*4bbb2b22SKrzysztof Kozlowski      - description: Reference rate clock of PHY module.
41*4bbb2b22SKrzysztof Kozlowski
42*4bbb2b22SKrzysztof Kozlowski  clock-names:
43*4bbb2b22SKrzysztof Kozlowski    items:
44*4bbb2b22SKrzysztof Kozlowski      - const: phy
45*4bbb2b22SKrzysztof Kozlowski      - const: ref
46*4bbb2b22SKrzysztof Kozlowski
47*4bbb2b22SKrzysztof Kozlowski  "#phy-cells":
48*4bbb2b22SKrzysztof Kozlowski    const: 1
49*4bbb2b22SKrzysztof Kozlowski
50*4bbb2b22SKrzysztof Kozlowski  reg:
51*4bbb2b22SKrzysztof Kozlowski    maxItems: 1
52*4bbb2b22SKrzysztof Kozlowski
53*4bbb2b22SKrzysztof Kozlowski  samsung,pmureg-phandle:
54*4bbb2b22SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
55*4bbb2b22SKrzysztof Kozlowski    description:
56*4bbb2b22SKrzysztof Kozlowski      Phandle to PMU system controller interface.
57*4bbb2b22SKrzysztof Kozlowski
58*4bbb2b22SKrzysztof Kozlowski  samsung,sysreg-phandle:
59*4bbb2b22SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
60*4bbb2b22SKrzysztof Kozlowski    description:
61*4bbb2b22SKrzysztof Kozlowski      Phandle to system registers interface.
62*4bbb2b22SKrzysztof Kozlowski
63*4bbb2b22SKrzysztof Kozlowski  vbus-supply:
64*4bbb2b22SKrzysztof Kozlowski    description:
65*4bbb2b22SKrzysztof Kozlowski      VBUS power source.
66*4bbb2b22SKrzysztof Kozlowski
67*4bbb2b22SKrzysztof Kozlowskirequired:
68*4bbb2b22SKrzysztof Kozlowski  - compatible
69*4bbb2b22SKrzysztof Kozlowski  - clocks
70*4bbb2b22SKrzysztof Kozlowski  - clock-names
71*4bbb2b22SKrzysztof Kozlowski  - "#phy-cells"
72*4bbb2b22SKrzysztof Kozlowski  - reg
73*4bbb2b22SKrzysztof Kozlowski  - samsung,pmureg-phandle
74*4bbb2b22SKrzysztof Kozlowski
75*4bbb2b22SKrzysztof KozlowskiallOf:
76*4bbb2b22SKrzysztof Kozlowski  - if:
77*4bbb2b22SKrzysztof Kozlowski      properties:
78*4bbb2b22SKrzysztof Kozlowski        compatible:
79*4bbb2b22SKrzysztof Kozlowski          contains:
80*4bbb2b22SKrzysztof Kozlowski            enum:
81*4bbb2b22SKrzysztof Kozlowski              - samsung,exynos4x12-usb2-phy
82*4bbb2b22SKrzysztof Kozlowski              - samsung,exynos5250-usb2-phy
83*4bbb2b22SKrzysztof Kozlowski              - samsung,exynos5420-usb2-phy
84*4bbb2b22SKrzysztof Kozlowski    then:
85*4bbb2b22SKrzysztof Kozlowski      required:
86*4bbb2b22SKrzysztof Kozlowski        - samsung,sysreg-phandle
87*4bbb2b22SKrzysztof Kozlowski
88*4bbb2b22SKrzysztof KozlowskiadditionalProperties: false
89*4bbb2b22SKrzysztof Kozlowski
90*4bbb2b22SKrzysztof Kozlowskiexamples:
91*4bbb2b22SKrzysztof Kozlowski  - |
92*4bbb2b22SKrzysztof Kozlowski    #include <dt-bindings/clock/exynos5420.h>
93*4bbb2b22SKrzysztof Kozlowski
94*4bbb2b22SKrzysztof Kozlowski    phy@12130000 {
95*4bbb2b22SKrzysztof Kozlowski        compatible = "samsung,exynos5420-usb2-phy";
96*4bbb2b22SKrzysztof Kozlowski        reg = <0x12130000 0x100>;
97*4bbb2b22SKrzysztof Kozlowski        #phy-cells = <1>;
98*4bbb2b22SKrzysztof Kozlowski        clocks = <&clock CLK_USBH20>, <&clock CLK_SCLK_USBPHY300>;
99*4bbb2b22SKrzysztof Kozlowski        clock-names = "phy", "ref";
100*4bbb2b22SKrzysztof Kozlowski        samsung,sysreg-phandle = <&sysreg_system_controller>;
101*4bbb2b22SKrzysztof Kozlowski        samsung,pmureg-phandle = <&pmu_system_controller>;
102*4bbb2b22SKrzysztof Kozlowski    };
103