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