1 Xilinx ZynqMP PHY binding
3 This binding describes a ZynqMP PHY device that is used to control ZynqMP
4 High Speed Gigabit Transceiver(GT). ZynqMP PS GTR provides four lanes
5 and are used by USB, SATA, PCIE, Display port and Ethernet SGMMI controllers.
7 Required properties (controller (parent) node):
8 - compatible : Can be "xlnx,zynqmp-psgtr-v1.1" or "xlnx,zynqmp-psgtr"
9 "xlnx,zynqmp-psgtr-v1.1" has the lpd address mapping removed
11 - reg : Address and length of register sets for each device in
13 - reg-names : The names of the register addresses corresponding to the
14 registers filled in "reg":
15 - serdes: SERDES block register set
16 - siou: SIOU block register set
17 - lpd: Low power domain peripherals reset control
19 Required nodes : A sub-node is required for each lane the controller
22 Required properties (port (child) nodes):
24 - #phy-cells : Should be 4
25 Cell after port phandle is device type from:
26 - <PHY_TYPE_PCIE 0 LANE_NUM FREQUENCY>
27 - <PHY_TYPE_SATA 0 LANE_NUM FREQUENCY>
28 - <PHY_TYPE_USB3 0 LANE_NUM FREQUENCY>
29 - <PHY_TYPE_DP 1 LANE_NUM FREQUENCY>
30 - <PHY_TYPE_SGMII 0 LANE_NUM FREQUENCY>
32 - #phy-cells : Should be 4
33 Cell after port phandle is device type from:
34 - <PHY_TYPE_PCIE 1 LANE_NUM FREQUENCY>
35 - <PHY_TYPE_SATA 1 LANE_NUM FREQUENCY>
36 - <PHY_TYPE_USB3 0 LANE_NUM FREQUENCY>
37 - <PHY_TYPE_DP 0 LANE_NUM FREQUENCY>
38 - <PHY_TYPE_SGMII 1 LANE_NUM FREQUENCY>
40 - #phy-cells : Should be 4
41 Cell after port phandle is device type from:
42 - <PHY_TYPE_PCIE 2 LANE_NUM FREQUENCY>
43 - <PHY_TYPE_SATA 0 LANE_NUM FREQUENCY>
44 - <PHY_TYPE_USB3 0 LANE_NUM FREQUENCY>
45 - <PHY_TYPE_DP 1 LANE_NUM FREQUENC>
46 - <PHY_TYPE_SGMII 2 LANE_NUM FREQUENCY>
48 - #phy-cells : Should be 4
49 Cell after port phandle is device type from:
50 - <PHY_TYPE_PCIE 3 LANE_NUM FREQUENCY>
51 - <PHY_TYPE_SATA 1 LANE_NUM FREQUENCY>
52 - <PHY_TYPE_USB3 1 LANE_NUM FREQUENCY >
53 - <PHY_TYPE_DP 0 LANE_NUM FREQUENCY>
54 - <PHY_TYPE_SGMII 3 LANE_NUM FREQUENCY>
56 Note: LANE_NUM : This determines which lane's reference clock is shared by controller.
57 FREQUENCY: This the clock frequency at which controller wants to operate.
61 serdes: zynqmp_phy@fd400000 {
62 compatible = "xlnx,zynqmp-psgtr";
64 reg = <0x0 0xfd400000 0x0 0x40000>, <0x0 0xfd3d0000 0x0 0x1000>,
65 <0x0 0xff5e0000 0x0 0x1000>;
66 reg-names = "serdes", "siou", "lpd";
82 Specifying phy control of devices
83 =================================
85 Device nodes should specify the configuration required in their "phys"
86 property, containing a phandle to the phy port node and a device type.
88 phys = <PHANDLE CONTROLLER_TYPE CONTROLLER_INSTANCE LANE_NUM LANE_FREQ>;
90 PHANDLE = &lane0 or &lane1 or &lane2 or &lane3
91 CONTROLLER_TYPE = PHY_TYPE_PCIE or PHY_TYPE_SATA or PHY_TYPE_USB
92 or PHY_TYPE_DP or PHY_TYPE_SGMII
93 CONTROLLER_INSTANCE = Depends on controller type used, can be any of
94 PHY_TYPE_PCIE : 0 or 1 or 2 or 3
95 PHY_TYPE_SATA : 0 or 1
98 PHY_TYPE_SGMII: 0 or 1 or 2 or 3
99 LANE_NUM = Depends on which lane clock is used as ref clk, can be
101 LANE_FREQ = Frequency that controller can operate, can be any of
102 19.2Mhz,20Mhz,24Mhz,26Mhz,27Mhz,28.4Mhz,40Mhz,52Mhz,
103 100Mhz,108Mhz,125Mhz,135Mhz,150Mhz
107 #include <dt-bindings/phy/phy.h>
111 phys = <&lane2 PHY_TYPE_USB3 0 2 2600000>;
117 phys = <&lane3 PHY_TYPE_SATA 1 1 125000000>;