.. | .. |
---|
1 | | -mvebu comphy driver |
---|
2 | | -------------------- |
---|
| 1 | +MVEBU comphy drivers |
---|
| 2 | +-------------------- |
---|
3 | 3 | |
---|
4 | | -A comphy controller can be found on Marvell Armada 7k/8k on the CP110. It |
---|
5 | | -provides a number of shared PHYs used by various interfaces (network, sata, |
---|
6 | | -usb, PCIe...). |
---|
| 4 | +COMPHY controllers can be found on the following Marvell MVEBU SoCs: |
---|
| 5 | +* Armada 7k/8k (on the CP110) |
---|
| 6 | +* Armada 3700 |
---|
| 7 | +It provides a number of shared PHYs used by various interfaces (network, SATA, |
---|
| 8 | +USB, PCIe...). |
---|
7 | 9 | |
---|
8 | 10 | Required properties: |
---|
9 | 11 | |
---|
10 | | -- compatible: should be "marvell,comphy-cp110" |
---|
11 | | -- reg: should contain the comphy register location and length. |
---|
12 | | -- marvell,system-controller: should contain a phandle to the |
---|
13 | | - system controller node. |
---|
| 12 | +- compatible: should be one of: |
---|
| 13 | + * "marvell,comphy-cp110" for Armada 7k/8k |
---|
| 14 | + * "marvell,comphy-a3700" for Armada 3700 |
---|
| 15 | +- reg: should contain the COMPHY register(s) location(s) and length(s). |
---|
| 16 | + * 1 entry for Armada 7k/8k |
---|
| 17 | + * 4 entries for Armada 3700 along with the corresponding reg-names |
---|
| 18 | + properties, memory areas are: |
---|
| 19 | + * Generic COMPHY registers |
---|
| 20 | + * Lane 1 (PCIe/GbE) |
---|
| 21 | + * Lane 0 (USB3/GbE) |
---|
| 22 | + * Lane 2 (SATA/USB3) |
---|
| 23 | +- marvell,system-controller: should contain a phandle to the system |
---|
| 24 | + controller node (only for Armada 7k/8k) |
---|
14 | 25 | - #address-cells: should be 1. |
---|
15 | 26 | - #size-cells: should be 0. |
---|
| 27 | + |
---|
| 28 | +Optional properlties: |
---|
| 29 | + |
---|
| 30 | +- clocks: pointers to the reference clocks for this device (CP110 only), |
---|
| 31 | + consequently: MG clock, MG Core clock, AXI clock. |
---|
| 32 | +- clock-names: names of used clocks for CP110 only, must be : |
---|
| 33 | + "mg_clk", "mg_core_clk" and "axi_clk". |
---|
16 | 34 | |
---|
17 | 35 | A sub-node is required for each comphy lane provided by the comphy. |
---|
18 | 36 | |
---|
19 | 37 | Required properties (child nodes): |
---|
20 | 38 | |
---|
21 | | -- reg: comphy lane number. |
---|
22 | | -- #phy-cells : from the generic phy bindings, must be 1. Defines the |
---|
| 39 | +- reg: COMPHY lane number. |
---|
| 40 | +- #phy-cells : from the generic PHY bindings, must be 1. Defines the |
---|
23 | 41 | input port to use for a given comphy lane. |
---|
24 | 42 | |
---|
25 | | -Example: |
---|
| 43 | +Examples: |
---|
26 | 44 | |
---|
27 | 45 | cpm_comphy: phy@120000 { |
---|
28 | 46 | compatible = "marvell,comphy-cp110"; |
---|
29 | 47 | reg = <0x120000 0x6000>; |
---|
30 | 48 | marvell,system-controller = <&cpm_syscon0>; |
---|
| 49 | + clocks = <&CP110_LABEL(clk) 1 5>, <&CP110_LABEL(clk) 1 6>, |
---|
| 50 | + <&CP110_LABEL(clk) 1 18>; |
---|
| 51 | + clock-names = "mg_clk", "mg_core_clk", "axi_clk"; |
---|
31 | 52 | #address-cells = <1>; |
---|
32 | 53 | #size-cells = <0>; |
---|
33 | 54 | |
---|
.. | .. |
---|
41 | 62 | #phy-cells = <1>; |
---|
42 | 63 | }; |
---|
43 | 64 | }; |
---|
| 65 | + |
---|
| 66 | + comphy: phy@18300 { |
---|
| 67 | + compatible = "marvell,comphy-a3700"; |
---|
| 68 | + reg = <0x18300 0x300>, |
---|
| 69 | + <0x1F000 0x400>, |
---|
| 70 | + <0x5C000 0x400>, |
---|
| 71 | + <0xe0178 0x8>; |
---|
| 72 | + reg-names = "comphy", |
---|
| 73 | + "lane1_pcie_gbe", |
---|
| 74 | + "lane0_usb3_gbe", |
---|
| 75 | + "lane2_sata_usb3"; |
---|
| 76 | + #address-cells = <1>; |
---|
| 77 | + #size-cells = <0>; |
---|
| 78 | + |
---|
| 79 | + |
---|
| 80 | + comphy0: phy@0 { |
---|
| 81 | + reg = <0>; |
---|
| 82 | + #phy-cells = <1>; |
---|
| 83 | + }; |
---|
| 84 | + |
---|
| 85 | + comphy1: phy@1 { |
---|
| 86 | + reg = <1>; |
---|
| 87 | + #phy-cells = <1>; |
---|
| 88 | + }; |
---|
| 89 | + |
---|
| 90 | + comphy2: phy@2 { |
---|
| 91 | + reg = <2>; |
---|
| 92 | + #phy-cells = <1>; |
---|
| 93 | + }; |
---|
| 94 | + }; |
---|