xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/phy/phy-cadence-sierra.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunCadence Sierra PHY
2*4882a593Smuzhiyun-----------------------
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunRequired properties:
5*4882a593Smuzhiyun- compatible:	Must be "cdns,sierra-phy-t0" for Sierra in Cadence platform
6*4882a593Smuzhiyun		Must be "ti,sierra-phy-t0" for Sierra in TI's J721E SoC.
7*4882a593Smuzhiyun- resets:	Must contain an entry for each in reset-names.
8*4882a593Smuzhiyun		See ../reset/reset.txt for details.
9*4882a593Smuzhiyun- reset-names:	Must include "sierra_reset" and "sierra_apb".
10*4882a593Smuzhiyun		"sierra_reset" must control the reset line to the PHY.
11*4882a593Smuzhiyun		"sierra_apb" must control the reset line to the APB PHY
12*4882a593Smuzhiyun		interface ("sierra_apb" is optional).
13*4882a593Smuzhiyun- reg:		register range for the PHY.
14*4882a593Smuzhiyun- #address-cells: Must be 1
15*4882a593Smuzhiyun- #size-cells:	Must be 0
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunOptional properties:
18*4882a593Smuzhiyun- clocks:		Must contain an entry in clock-names.
19*4882a593Smuzhiyun			See ../clocks/clock-bindings.txt for details.
20*4882a593Smuzhiyun- clock-names:		Must contain "cmn_refclk_dig_div" and
21*4882a593Smuzhiyun			"cmn_refclk1_dig_div" for configuring the frequency of
22*4882a593Smuzhiyun			the clock to the lanes. "phy_clk" is deprecated.
23*4882a593Smuzhiyun- cdns,autoconf:	A boolean property whose presence indicates that the
24*4882a593Smuzhiyun			PHY registers will be configured by hardware. If not
25*4882a593Smuzhiyun			present, all sub-node optional properties must be
26*4882a593Smuzhiyun			provided.
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunSub-nodes:
29*4882a593Smuzhiyun  Each group of PHY lanes with a single master lane should be represented as
30*4882a593Smuzhiyun  a sub-node. Note that the actual configuration of each lane is determined by
31*4882a593Smuzhiyun  hardware strapping, and must match the configuration specified here.
32*4882a593Smuzhiyun
33*4882a593SmuzhiyunSub-node required properties:
34*4882a593Smuzhiyun- #phy-cells:	Generic PHY binding; must be 0.
35*4882a593Smuzhiyun- reg:		The master lane number.  This is the lowest numbered lane
36*4882a593Smuzhiyun		in the lane group.
37*4882a593Smuzhiyun- resets:	Must contain one entry which controls the reset line for the
38*4882a593Smuzhiyun		master lane of the sub-node.
39*4882a593Smuzhiyun		See ../reset/reset.txt for details.
40*4882a593Smuzhiyun
41*4882a593SmuzhiyunSub-node optional properties:
42*4882a593Smuzhiyun- cdns,num-lanes:	Number of lanes in this group.  From 1 to 4.  The
43*4882a593Smuzhiyun			group is made up of consecutive lanes.
44*4882a593Smuzhiyun- cdns,phy-type:	Can be PHY_TYPE_PCIE or PHY_TYPE_USB3, depending on
45*4882a593Smuzhiyun			configuration of lanes.
46*4882a593Smuzhiyun
47*4882a593SmuzhiyunExample:
48*4882a593Smuzhiyun	pcie_phy4: pcie-phy@fd240000 {
49*4882a593Smuzhiyun		compatible = "cdns,sierra-phy-t0";
50*4882a593Smuzhiyun		reg = <0x0 0xfd240000 0x0 0x40000>;
51*4882a593Smuzhiyun		resets = <&phyrst 0>, <&phyrst 1>;
52*4882a593Smuzhiyun		reset-names = "sierra_reset", "sierra_apb";
53*4882a593Smuzhiyun		clocks = <&phyclock>;
54*4882a593Smuzhiyun		clock-names = "phy_clk";
55*4882a593Smuzhiyun		#address-cells = <1>;
56*4882a593Smuzhiyun		#size-cells = <0>;
57*4882a593Smuzhiyun		pcie0_phy0: pcie-phy@0 {
58*4882a593Smuzhiyun				reg = <0>;
59*4882a593Smuzhiyun				resets = <&phyrst 2>;
60*4882a593Smuzhiyun				cdns,num-lanes = <2>;
61*4882a593Smuzhiyun				#phy-cells = <0>;
62*4882a593Smuzhiyun				cdns,phy-type = <PHY_TYPE_PCIE>;
63*4882a593Smuzhiyun		};
64*4882a593Smuzhiyun		pcie0_phy1: pcie-phy@2 {
65*4882a593Smuzhiyun				reg = <2>;
66*4882a593Smuzhiyun				resets = <&phyrst 4>;
67*4882a593Smuzhiyun				cdns,num-lanes = <1>;
68*4882a593Smuzhiyun				#phy-cells = <0>;
69*4882a593Smuzhiyun				cdns,phy-type = <PHY_TYPE_PCIE>;
70*4882a593Smuzhiyun		};
71