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