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