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