blob: 65b83848596b76a171504442fe48c0da10499b7e [file] [log] [blame]
Igal Liberman75ae51c2017-04-26 18:05:29 +03001Marvell COMPHY SerDes lane bindings
2=====================================
3
4The COMPHY node includes a description of the COMPHY SerDes lane configuration.
5The COMPHY driver initializes the MUX of the SerDes lanes, and powers up the SerDes
6by dependencies on the FDT blob configurations
7
8Mandatory properties:
9SoC specific:
10 - compatible:
11 The compatible should include "marvell,mvebu-comphy"
12 and the COMPHY per chip compatible:
13 "marvell,comphy-cp110" for CP110 available in Aramda70x0/80x0.
14 The COMPHY per chip used to set which MUX configuration to use, and COMPHY power-up revision.
15 - reg: Base address and size of the COMPHY and hpipe units.
16 - max-lanes: Maximum number of comphy lanes.
17 - mux-bitcount: Number of bits that are allocated for every MUX in the COMPHY-selector register.
18Board specific:
19 - PHY: Entry that include the configuration of the PHY.
20 Every PHY should have the below parameters:
21 - phy-type: the mode of the PHY
22 Possible modes located in include/dt-bindings/comphy/comphy_data.h
23 Optional properties:
24 - phy-speed: the speed of the PHY
25 Possible speeds values located in include/dt-bindings/comphy/comphy_data.h
26 - phy-invert: Polarity invert (COMPHY_POLARITY_TXD_INVERT/COMPHY_POLARITY_RXD_INVERT)
27 the possible bits under include/dt-bindings/comphy/comphy_data.h
28 - clk-src: Set the clock source of PCIe, if configured to PCIe clock output
29 This relevant for SerDes lane 5 only (by default, lane 4 is the clock source)
30 for Armada-7040 boards.
31 - endpoint: Optional boolean specifying this SerDes should be configured as PCIe endpoint.
32
33Example:
34 cpm_comphy: comphy@441000 {
35 compatible = "marvell,mvebu-comphy", "marvell,comphy-cp110";
36 reg = <0x441000 0x8>, <0x120000 0x8>;
37 mux-bitcount = <4>;
38 max-lanes = <6>;
39
40 /*
41 * CP110 Serdes Configuration:
42 * Lane 0: SGMII1
43 * Lane 1: SATA 0
44 * Lane 2: USB HOST 0
45 * Lane 3: SATA1
46 * Lane 4: SFI (10G)
47 * Lane 5: SGMII2
48 */
49 phy0 {
50 phy-type = <COMPHY_TYPE_SGMII1>;
51 phy-speed = <COMPHY_SPEED_1_25G>;
52 };
53 phy1 {
54 phy-type = <COMPHY_TYPE_SATA0>;
55 };
56 phy2 {
57 phy-type = <COMPHY_TYPE_USB3_HOST0>;
58 };
59 phy3 {
60 phy-type = <COMPHY_TYPE_SATA1>;
61 };
62 phy4 {
63 phy-type = <COMPHY_TYPE_SFI>;
64 };
65 phy5 {
66 phy-type = <COMPHY_TYPE_SGMII2>;
67 };
68 };