18c2ecf20Sopenharmony_ciMVEBU comphy drivers 28c2ecf20Sopenharmony_ci-------------------- 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciCOMPHY controllers can be found on the following Marvell MVEBU SoCs: 58c2ecf20Sopenharmony_ci* Armada 7k/8k (on the CP110) 68c2ecf20Sopenharmony_ci* Armada 3700 78c2ecf20Sopenharmony_ciIt provides a number of shared PHYs used by various interfaces (network, SATA, 88c2ecf20Sopenharmony_ciUSB, PCIe...). 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciRequired properties: 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci- compatible: should be one of: 138c2ecf20Sopenharmony_ci * "marvell,comphy-cp110" for Armada 7k/8k 148c2ecf20Sopenharmony_ci * "marvell,comphy-a3700" for Armada 3700 158c2ecf20Sopenharmony_ci- reg: should contain the COMPHY register(s) location(s) and length(s). 168c2ecf20Sopenharmony_ci * 1 entry for Armada 7k/8k 178c2ecf20Sopenharmony_ci * 4 entries for Armada 3700 along with the corresponding reg-names 188c2ecf20Sopenharmony_ci properties, memory areas are: 198c2ecf20Sopenharmony_ci * Generic COMPHY registers 208c2ecf20Sopenharmony_ci * Lane 1 (PCIe/GbE) 218c2ecf20Sopenharmony_ci * Lane 0 (USB3/GbE) 228c2ecf20Sopenharmony_ci * Lane 2 (SATA/USB3) 238c2ecf20Sopenharmony_ci- marvell,system-controller: should contain a phandle to the system 248c2ecf20Sopenharmony_ci controller node (only for Armada 7k/8k) 258c2ecf20Sopenharmony_ci- #address-cells: should be 1. 268c2ecf20Sopenharmony_ci- #size-cells: should be 0. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciOptional properlties: 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci- clocks: pointers to the reference clocks for this device (CP110 only), 318c2ecf20Sopenharmony_ci consequently: MG clock, MG Core clock, AXI clock. 328c2ecf20Sopenharmony_ci- clock-names: names of used clocks for CP110 only, must be : 338c2ecf20Sopenharmony_ci "mg_clk", "mg_core_clk" and "axi_clk". 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciA sub-node is required for each comphy lane provided by the comphy. 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ciRequired properties (child nodes): 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci- reg: COMPHY lane number. 408c2ecf20Sopenharmony_ci- #phy-cells : from the generic PHY bindings, must be 1. Defines the 418c2ecf20Sopenharmony_ci input port to use for a given comphy lane. 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ciExamples: 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci cpm_comphy: phy@120000 { 468c2ecf20Sopenharmony_ci compatible = "marvell,comphy-cp110"; 478c2ecf20Sopenharmony_ci reg = <0x120000 0x6000>; 488c2ecf20Sopenharmony_ci marvell,system-controller = <&cpm_syscon0>; 498c2ecf20Sopenharmony_ci clocks = <&CP110_LABEL(clk) 1 5>, <&CP110_LABEL(clk) 1 6>, 508c2ecf20Sopenharmony_ci <&CP110_LABEL(clk) 1 18>; 518c2ecf20Sopenharmony_ci clock-names = "mg_clk", "mg_core_clk", "axi_clk"; 528c2ecf20Sopenharmony_ci #address-cells = <1>; 538c2ecf20Sopenharmony_ci #size-cells = <0>; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci cpm_comphy0: phy@0 { 568c2ecf20Sopenharmony_ci reg = <0>; 578c2ecf20Sopenharmony_ci #phy-cells = <1>; 588c2ecf20Sopenharmony_ci }; 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci cpm_comphy1: phy@1 { 618c2ecf20Sopenharmony_ci reg = <1>; 628c2ecf20Sopenharmony_ci #phy-cells = <1>; 638c2ecf20Sopenharmony_ci }; 648c2ecf20Sopenharmony_ci }; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci comphy: phy@18300 { 678c2ecf20Sopenharmony_ci compatible = "marvell,comphy-a3700"; 688c2ecf20Sopenharmony_ci reg = <0x18300 0x300>, 698c2ecf20Sopenharmony_ci <0x1F000 0x400>, 708c2ecf20Sopenharmony_ci <0x5C000 0x400>, 718c2ecf20Sopenharmony_ci <0xe0178 0x8>; 728c2ecf20Sopenharmony_ci reg-names = "comphy", 738c2ecf20Sopenharmony_ci "lane1_pcie_gbe", 748c2ecf20Sopenharmony_ci "lane0_usb3_gbe", 758c2ecf20Sopenharmony_ci "lane2_sata_usb3"; 768c2ecf20Sopenharmony_ci #address-cells = <1>; 778c2ecf20Sopenharmony_ci #size-cells = <0>; 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci comphy0: phy@0 { 818c2ecf20Sopenharmony_ci reg = <0>; 828c2ecf20Sopenharmony_ci #phy-cells = <1>; 838c2ecf20Sopenharmony_ci }; 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci comphy1: phy@1 { 868c2ecf20Sopenharmony_ci reg = <1>; 878c2ecf20Sopenharmony_ci #phy-cells = <1>; 888c2ecf20Sopenharmony_ci }; 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ci comphy2: phy@2 { 918c2ecf20Sopenharmony_ci reg = <2>; 928c2ecf20Sopenharmony_ci #phy-cells = <1>; 938c2ecf20Sopenharmony_ci }; 948c2ecf20Sopenharmony_ci }; 95