dt-bindings: phy: samsung,dp-video-phy: convert to dtschema
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / phy / samsung-phy.txt
1 Samsung S5P/Exynos SoC series USB PHY
2 -------------------------------------------------
3
4 Required properties:
5 - compatible : should be one of the listed compatibles:
6         - "samsung,exynos3250-usb2-phy"
7         - "samsung,exynos4210-usb2-phy"
8         - "samsung,exynos4x12-usb2-phy"
9         - "samsung,exynos5250-usb2-phy"
10         - "samsung,exynos5420-usb2-phy"
11         - "samsung,s5pv210-usb2-phy"
12 - reg : a list of registers used by phy driver
13         - first and obligatory is the location of phy modules registers
14 - samsung,sysreg-phandle - handle to syscon used to control the system registers
15 - samsung,pmureg-phandle - handle to syscon used to control PMU registers
16 - #phy-cells : from the generic phy bindings, must be 1;
17 - clocks and clock-names:
18         - the "phy" clock is required by the phy module, used as a gate
19         - the "ref" clock is used to get the rate of the clock provided to the
20           PHY module
21
22 Optional properties:
23 - vbus-supply: power-supply phandle for vbus power source
24
25 The first phandle argument in the PHY specifier identifies the PHY, its
26 meaning is compatible dependent. For the currently supported SoCs (Exynos 4210
27 and Exynos 4212) it is as follows:
28   0 - USB device ("device"),
29   1 - USB host ("host"),
30   2 - HSIC0 ("hsic0"),
31   3 - HSIC1 ("hsic1"),
32 Exynos3250 has only USB device phy available as phy 0.
33
34 Exynos 4210 and Exynos 4212 use mode switching and require that mode switch
35 register is supplied.
36
37 Example:
38
39 For Exynos 4412 (compatible with Exynos 4212):
40
41 usbphy: phy@125b0000 {
42         compatible = "samsung,exynos4x12-usb2-phy";
43         reg = <0x125b0000 0x100>;
44         clocks = <&clock 305>, <&clock 2>;
45         clock-names = "phy", "ref";
46         #phy-cells = <1>;
47         samsung,sysreg-phandle = <&sys_reg>;
48         samsung,pmureg-phandle = <&pmu_reg>;
49 };
50
51 Then the PHY can be used in other nodes such as:
52
53 phy-consumer@12340000 {
54         phys = <&usbphy 2>;
55         phy-names = "phy";
56 };
57
58 Refer to DT bindings documentation of particular PHY consumer devices for more
59 information about required PHYs and the way of specification.
60
61 Samsung SATA PHY Controller
62 ---------------------------
63
64 SATA PHY nodes are defined to describe on-chip SATA Physical layer controllers.
65 Each SATA PHY controller should have its own node.
66
67 Required properties:
68 - compatible        : compatible list, contains "samsung,exynos5250-sata-phy"
69 - reg : offset and length of the SATA PHY register set;
70 - #phy-cells : must be zero
71 - clocks : must be exactly one entry
72 - clock-names : must be "sata_phyctrl"
73 - samsung,exynos-sataphy-i2c-phandle : a phandle to the I2C device, no arguments
74 - samsung,syscon-phandle : a phandle to the PMU system controller, no arguments
75
76 Example:
77         sata_phy: sata-phy@12170000 {
78                 compatible = "samsung,exynos5250-sata-phy";
79                 reg = <0x12170000 0x1ff>;
80                 clocks = <&clock 287>;
81                 clock-names = "sata_phyctrl";
82                 #phy-cells = <0>;
83                 samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
84                 samsung,syscon-phandle = <&pmu_syscon>;
85         };
86
87 Device-Tree bindings for sataphy i2c client driver
88 --------------------------------------------------
89
90 Required properties:
91 compatible: Should be "samsung,exynos-sataphy-i2c"
92 - reg: I2C address of the sataphy i2c device.
93
94 Example:
95
96         sata_phy_i2c:sata-phy@38 {
97                 compatible = "samsung,exynos-sataphy-i2c";
98                 reg = <0x38>;
99         };
100
101 Samsung Exynos5 SoC series USB DRD PHY controller
102 --------------------------------------------------
103
104 Required properties:
105 - compatible : Should be set to one of the following supported values:
106         - "samsung,exynos5250-usbdrd-phy" - for exynos5250 SoC,
107         - "samsung,exynos5420-usbdrd-phy" - for exynos5420 SoC.
108         - "samsung,exynos5433-usbdrd-phy" - for exynos5433 SoC.
109         - "samsung,exynos7-usbdrd-phy" - for exynos7 SoC.
110 - reg : Register offset and length of USB DRD PHY register set;
111 - clocks: Clock IDs array as required by the controller
112 - clock-names: names of clocks correseponding to IDs in the clock property;
113                Required clocks:
114         - phy: main PHY clock (same as USB DRD controller i.e. DWC3 IP clock),
115                used for register access.
116         - ref: PHY's reference clock (usually crystal clock), used for
117                PHY operations, associated by phy name. It is used to
118                determine bit values for clock settings register.
119                For Exynos5420 this is given as 'sclk_usbphy30' in CMU.
120         - optional clocks: Exynos5433 & Exynos7 SoC has now following additional
121                            gate clocks available:
122                            - phy_pipe: for PIPE3 phy
123                            - phy_utmi: for UTMI+ phy
124                            - itp: for ITP generation
125 - samsung,pmu-syscon: phandle for PMU system controller interface, used to
126                       control pmu registers for power isolation.
127 - #phy-cells : from the generic PHY bindings, must be 1;
128
129 For "samsung,exynos5250-usbdrd-phy" and "samsung,exynos5420-usbdrd-phy"
130 compatible PHYs, the second cell in the PHY specifier identifies the
131 PHY id, which is interpreted as follows:
132   0 - UTMI+ type phy,
133   1 - PIPE3 type phy,
134
135 Example:
136         usbdrd_phy: usbphy@12100000 {
137                 compatible = "samsung,exynos5250-usbdrd-phy";
138                 reg = <0x12100000 0x100>;
139                 clocks = <&clock 286>, <&clock 1>;
140                 clock-names = "phy", "ref";
141                 samsung,pmu-syscon = <&pmu_system_controller>;
142                 #phy-cells = <1>;
143         };
144
145 - aliases: For SoCs like Exynos5420 having multiple USB 3.0 DRD PHY controllers,
146            'usbdrd_phy' nodes should have numbered alias in the aliases node,
147            in the form of usbdrdphyN, N = 0, 1... (depending on number of
148            controllers).
149 Example:
150         aliases {
151                 usbdrdphy0 = &usb3_phy0;
152                 usbdrdphy1 = &usb3_phy1;
153         };