aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/phy
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-03-09 14:16:38 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-03-09 14:16:38 -0400
commitea1990c3796e7550e6f240983f2d1b8e5ecf3891 (patch)
treec253cf0dc315cbc0716f422b41abea70053601be /Documentation/devicetree/bindings/phy
parent335053fe8c94f50c7f1cd7011b3088547480df3c (diff)
parent88e670fe9d240c751fd9735ae3ee2906ed68e63d (diff)
Merge tag 'for_3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next
Kishon writes: Add new PHY drivers for SATA and USB in exynos, for USB in sunxi, and a multi-purpose PHY in APM, all adapted to generic PHY framework. Adapted USB3 PHY driver in OMAP to generic PHY driver and also used the same driver for SATA in OMAP. It also includes miscellaneous cleanups and fixes.
Diffstat (limited to 'Documentation/devicetree/bindings/phy')
-rw-r--r--Documentation/devicetree/bindings/phy/apm-xgene-phy.txt79
-rw-r--r--Documentation/devicetree/bindings/phy/samsung-phy.txt54
-rw-r--r--Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt26
3 files changed, 159 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/phy/apm-xgene-phy.txt b/Documentation/devicetree/bindings/phy/apm-xgene-phy.txt
new file mode 100644
index 000000000000..5f3a65a9dd88
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/apm-xgene-phy.txt
@@ -0,0 +1,79 @@
1* APM X-Gene 15Gbps Multi-purpose PHY nodes
2
3PHY nodes are defined to describe on-chip 15Gbps Multi-purpose PHY. Each
4PHY (pair of lanes) has its own node.
5
6Required properties:
7- compatible : Shall be "apm,xgene-phy".
8- reg : PHY memory resource is the SDS PHY access resource.
9- #phy-cells : Shall be 1 as it expects one argument for setting
10 the mode of the PHY. Possible values are 0 (SATA),
11 1 (SGMII), 2 (PCIe), 3 (USB), and 4 (XFI).
12
13Optional properties:
14- status : Shall be "ok" if enabled or "disabled" if disabled.
15 Default is "ok".
16- clocks : Reference to the clock entry.
17- apm,tx-eye-tuning : Manual control to fine tune the capture of the serial
18 bit lines from the automatic calibrated position.
19 Two set of 3-tuple setting for each (up to 3)
20 supported link speed on the host. Range from 0 to
21 127 in unit of one bit period. Default is 10.
22- apm,tx-eye-direction : Eye tuning manual control direction. 0 means sample
23 data earlier than the nominal sampling point. 1 means
24 sample data later than the nominal sampling point.
25 Two set of 3-tuple setting for each (up to 3)
26 supported link speed on the host. Default is 0.
27- apm,tx-boost-gain : Frequency boost AC (LSB 3-bit) and DC (2-bit)
28 gain control. Two set of 3-tuple setting for each
29 (up to 3) supported link speed on the host. Range is
30 between 0 to 31 in unit of dB. Default is 3.
31- apm,tx-amplitude : Amplitude control. Two set of 3-tuple setting for
32 each (up to 3) supported link speed on the host.
33 Range is between 0 to 199500 in unit of uV.
34 Default is 199500 uV.
35- apm,tx-pre-cursor1 : 1st pre-cursor emphasis taps control. Two set of
36 3-tuple setting for each (up to 3) supported link
37 speed on the host. Range is 0 to 273000 in unit of
38 uV. Default is 0.
39- apm,tx-pre-cursor2 : 2st pre-cursor emphasis taps control. Two set of
40 3-tuple setting for each (up to 3) supported link
41 speed on the host. Range is 0 to 127400 in unit uV.
42 Default is 0x0.
43- apm,tx-post-cursor : Post-cursor emphasis taps control. Two set of
44 3-tuple setting for Gen1, Gen2, and Gen3. Range is
45 between 0 to 0x1f in unit of 18.2mV. Default is 0xf.
46- apm,tx-speed : Tx operating speed. One set of 3-tuple for each
47 supported link speed on the host.
48 0 = 1-2Gbps
49 1 = 2-4Gbps (1st tuple default)
50 2 = 4-8Gbps
51 3 = 8-15Gbps (2nd tuple default)
52 4 = 2.5-4Gbps
53 5 = 4-5Gbps
54 6 = 5-6Gbps
55 7 = 6-16Gbps (3rd tuple default)
56
57NOTE: PHY override parameters are board specific setting.
58
59Example:
60 phy1: phy@1f21a000 {
61 compatible = "apm,xgene-phy";
62 reg = <0x0 0x1f21a000 0x0 0x100>;
63 #phy-cells = <1>;
64 status = "disabled";
65 };
66
67 phy2: phy@1f22a000 {
68 compatible = "apm,xgene-phy";
69 reg = <0x0 0x1f22a000 0x0 0x100>;
70 #phy-cells = <1>;
71 status = "ok";
72 };
73
74 phy3: phy@1f23a000 {
75 compatible = "apm,xgene-phy";
76 reg = <0x0 0x1f23a000 0x0 0x100>;
77 #phy-cells = <1>;
78 status = "ok";
79 };
diff --git a/Documentation/devicetree/bindings/phy/samsung-phy.txt b/Documentation/devicetree/bindings/phy/samsung-phy.txt
index c0fccaa1671e..28f9edb8f19c 100644
--- a/Documentation/devicetree/bindings/phy/samsung-phy.txt
+++ b/Documentation/devicetree/bindings/phy/samsung-phy.txt
@@ -20,3 +20,57 @@ Required properties:
20- compatible : should be "samsung,exynos5250-dp-video-phy"; 20- compatible : should be "samsung,exynos5250-dp-video-phy";
21- reg : offset and length of the Display Port PHY register set; 21- reg : offset and length of the Display Port PHY register set;
22- #phy-cells : from the generic PHY bindings, must be 0; 22- #phy-cells : from the generic PHY bindings, must be 0;
23
24Samsung S5P/EXYNOS SoC series USB PHY
25-------------------------------------------------
26
27Required properties:
28- compatible : should be one of the listed compatibles:
29 - "samsung,exynos4210-usb2-phy"
30 - "samsung,exynos4x12-usb2-phy"
31 - "samsung,exynos5250-usb2-phy"
32- reg : a list of registers used by phy driver
33 - first and obligatory is the location of phy modules registers
34- samsung,sysreg-phandle - handle to syscon used to control the system registers
35- samsung,pmureg-phandle - handle to syscon used to control PMU registers
36- #phy-cells : from the generic phy bindings, must be 1;
37- clocks and clock-names:
38 - the "phy" clock is required by the phy module, used as a gate
39 - the "ref" clock is used to get the rate of the clock provided to the
40 PHY module
41
42The first phandle argument in the PHY specifier identifies the PHY, its
43meaning is compatible dependent. For the currently supported SoCs (Exynos 4210
44and Exynos 4212) it is as follows:
45 0 - USB device ("device"),
46 1 - USB host ("host"),
47 2 - HSIC0 ("hsic0"),
48 3 - HSIC1 ("hsic1"),
49
50Exynos 4210 and Exynos 4212 use mode switching and require that mode switch
51register is supplied.
52
53Example:
54
55For Exynos 4412 (compatible with Exynos 4212):
56
57usbphy: phy@125b0000 {
58 compatible = "samsung,exynos4x12-usb2-phy";
59 reg = <0x125b0000 0x100>;
60 clocks = <&clock 305>, <&clock 2>;
61 clock-names = "phy", "ref";
62 status = "okay";
63 #phy-cells = <1>;
64 samsung,sysreg-phandle = <&sys_reg>;
65 samsung,pmureg-phandle = <&pmu_reg>;
66};
67
68Then the PHY can be used in other nodes such as:
69
70phy-consumer@12340000 {
71 phys = <&usbphy 2>;
72 phy-names = "phy";
73};
74
75Refer to DT bindings documentation of particular PHY consumer devices for more
76information about required PHYs and the way of specification.
diff --git a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
new file mode 100644
index 000000000000..a82361b62015
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
@@ -0,0 +1,26 @@
1Allwinner sun4i USB PHY
2-----------------------
3
4Required properties:
5- compatible : should be one of "allwinner,sun4i-a10-usb-phy",
6 "allwinner,sun5i-a13-usb-phy" or "allwinner,sun7i-a20-usb-phy"
7- reg : a list of offset + length pairs
8- reg-names : "phy_ctrl", "pmu1" and for sun4i or sun7i "pmu2"
9- #phy-cells : from the generic phy bindings, must be 1
10- clocks : phandle + clock specifier for the phy clock
11- clock-names : "usb_phy"
12- resets : a list of phandle + reset specifier pairs
13- reset-names : "usb0_reset", "usb1_reset" and for sun4i or sun7i "usb2_reset"
14
15Example:
16 usbphy: phy@0x01c13400 {
17 #phy-cells = <1>;
18 compatible = "allwinner,sun4i-a10-usb-phy";
19 /* phy base regs, phy1 pmu reg, phy2 pmu reg */
20 reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>;
21 reg-names = "phy_ctrl", "pmu1", "pmu2";
22 clocks = <&usb_clk 8>;
23 clock-names = "usb_phy";
24 resets = <&usb_clk 1>, <&usb_clk 2>;
25 reset-names = "usb1_reset", "usb2_reset";
26 };