| .. | .. |
|---|
| 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 | + }; |
|---|