xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/phy/apm-xgene-phy.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun* APM X-Gene 15Gbps Multi-purpose PHY nodes
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunPHY nodes are defined to describe on-chip 15Gbps Multi-purpose PHY. Each
4*4882a593SmuzhiyunPHY (pair of lanes) has its own node.
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunRequired properties:
7*4882a593Smuzhiyun- compatible		: Shall be "apm,xgene-phy".
8*4882a593Smuzhiyun- reg			: PHY memory resource is the SDS PHY access resource.
9*4882a593Smuzhiyun- #phy-cells		: Shall be 1 as it expects one argument for setting
10*4882a593Smuzhiyun			  the mode of the PHY. Possible values are 0 (SATA),
11*4882a593Smuzhiyun			  1 (SGMII), 2 (PCIe), 3 (USB), and 4 (XFI).
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunOptional properties:
14*4882a593Smuzhiyun- status		: Shall be "ok" if enabled or "disabled" if disabled.
15*4882a593Smuzhiyun			  Default is "ok".
16*4882a593Smuzhiyun- clocks		: Reference to the clock entry.
17*4882a593Smuzhiyun- apm,tx-eye-tuning	: Manual control to fine tune the capture of the serial
18*4882a593Smuzhiyun			  bit lines from the automatic calibrated position.
19*4882a593Smuzhiyun			  Two set of 3-tuple setting for each (up to 3)
20*4882a593Smuzhiyun			  supported link speed on the host. Range from 0 to
21*4882a593Smuzhiyun			  127 in unit of one bit period. Default is 10.
22*4882a593Smuzhiyun- apm,tx-eye-direction	: Eye tuning manual control direction. 0 means sample
23*4882a593Smuzhiyun			  data earlier than the nominal sampling point. 1 means
24*4882a593Smuzhiyun			  sample data later than the nominal sampling point.
25*4882a593Smuzhiyun			  Two set of 3-tuple setting for each (up to 3)
26*4882a593Smuzhiyun			  supported link speed on the host. Default is 0.
27*4882a593Smuzhiyun- apm,tx-boost-gain	: Frequency boost AC (LSB 3-bit) and DC (2-bit)
28*4882a593Smuzhiyun			  gain control. Two set of 3-tuple setting for each
29*4882a593Smuzhiyun			  (up to 3) supported link speed on the host. Range is
30*4882a593Smuzhiyun			  between 0 to 31 in unit of dB. Default is 3.
31*4882a593Smuzhiyun- apm,tx-amplitude	: Amplitude control. Two set of 3-tuple setting for
32*4882a593Smuzhiyun			  each (up to 3) supported link speed on the host.
33*4882a593Smuzhiyun			  Range is between 0 to 199500 in unit of uV.
34*4882a593Smuzhiyun			  Default is 199500 uV.
35*4882a593Smuzhiyun- apm,tx-pre-cursor1	: 1st pre-cursor emphasis taps control. Two set of
36*4882a593Smuzhiyun			  3-tuple setting for each (up to 3) supported link
37*4882a593Smuzhiyun			  speed on the host. Range is 0 to 273000 in unit of
38*4882a593Smuzhiyun			  uV. Default is 0.
39*4882a593Smuzhiyun- apm,tx-pre-cursor2	: 2st pre-cursor emphasis taps control. Two set of
40*4882a593Smuzhiyun			  3-tuple setting for each (up to 3) supported link
41*4882a593Smuzhiyun			  speed on the host. Range is 0 to 127400 in unit uV.
42*4882a593Smuzhiyun			  Default is 0x0.
43*4882a593Smuzhiyun- apm,tx-post-cursor	: Post-cursor emphasis taps control. Two set of
44*4882a593Smuzhiyun			  3-tuple setting for Gen1, Gen2, and Gen3. Range is
45*4882a593Smuzhiyun			  between 0 to 0x1f in unit of 18.2mV. Default is 0xf.
46*4882a593Smuzhiyun- apm,tx-speed		: Tx operating speed. One set of 3-tuple for each
47*4882a593Smuzhiyun			  supported link speed on the host.
48*4882a593Smuzhiyun			   0 = 1-2Gbps
49*4882a593Smuzhiyun			   1 = 2-4Gbps (1st tuple default)
50*4882a593Smuzhiyun			   2 = 4-8Gbps
51*4882a593Smuzhiyun			   3 = 8-15Gbps (2nd tuple default)
52*4882a593Smuzhiyun			   4 = 2.5-4Gbps
53*4882a593Smuzhiyun			   5 = 4-5Gbps
54*4882a593Smuzhiyun			   6 = 5-6Gbps
55*4882a593Smuzhiyun			   7 = 6-16Gbps (3rd tuple default)
56*4882a593Smuzhiyun
57*4882a593SmuzhiyunNOTE: PHY override parameters are board specific setting.
58*4882a593Smuzhiyun
59*4882a593SmuzhiyunExample:
60*4882a593Smuzhiyun		phy1: phy@1f21a000 {
61*4882a593Smuzhiyun			compatible = "apm,xgene-phy";
62*4882a593Smuzhiyun			reg = <0x0 0x1f21a000 0x0 0x100>;
63*4882a593Smuzhiyun			#phy-cells = <1>;
64*4882a593Smuzhiyun		};
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun		phy2: phy@1f22a000 {
67*4882a593Smuzhiyun			compatible = "apm,xgene-phy";
68*4882a593Smuzhiyun			reg = <0x0 0x1f22a000 0x0 0x100>;
69*4882a593Smuzhiyun			#phy-cells = <1>;
70*4882a593Smuzhiyun		};
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun		phy3: phy@1f23a000 {
73*4882a593Smuzhiyun			compatible = "apm,xgene-phy";
74*4882a593Smuzhiyun			reg = <0x0 0x1f23a000 0x0 0x100>;
75*4882a593Smuzhiyun			#phy-cells = <1>;
76*4882a593Smuzhiyun		};
77