16362f0a6SMiquel RaynalMVEBU comphy drivers 26362f0a6SMiquel Raynal-------------------- 39c2cbd47SAntoine Tenart 46362f0a6SMiquel RaynalCOMPHY controllers can be found on the following Marvell MVEBU SoCs: 56362f0a6SMiquel Raynal* Armada 7k/8k (on the CP110) 66362f0a6SMiquel Raynal* Armada 3700 76362f0a6SMiquel RaynalIt provides a number of shared PHYs used by various interfaces (network, SATA, 86362f0a6SMiquel RaynalUSB, PCIe...). 99c2cbd47SAntoine Tenart 109c2cbd47SAntoine TenartRequired properties: 119c2cbd47SAntoine Tenart 126362f0a6SMiquel Raynal- compatible: should be one of: 136362f0a6SMiquel Raynal * "marvell,comphy-cp110" for Armada 7k/8k 146362f0a6SMiquel Raynal * "marvell,comphy-a3700" for Armada 3700 156362f0a6SMiquel Raynal- reg: should contain the COMPHY register(s) location(s) and length(s). 166362f0a6SMiquel Raynal * 1 entry for Armada 7k/8k 176362f0a6SMiquel Raynal * 4 entries for Armada 3700 along with the corresponding reg-names 186362f0a6SMiquel Raynal properties, memory areas are: 196362f0a6SMiquel Raynal * Generic COMPHY registers 206362f0a6SMiquel Raynal * Lane 1 (PCIe/GbE) 216362f0a6SMiquel Raynal * Lane 0 (USB3/GbE) 226362f0a6SMiquel Raynal * Lane 2 (SATA/USB3) 236362f0a6SMiquel Raynal- marvell,system-controller: should contain a phandle to the system 246362f0a6SMiquel Raynal controller node (only for Armada 7k/8k) 259c2cbd47SAntoine Tenart- #address-cells: should be 1. 269c2cbd47SAntoine Tenart- #size-cells: should be 0. 279c2cbd47SAntoine Tenart 2806a09dc3SMiquel RaynalOptional properlties: 2906a09dc3SMiquel Raynal 3006a09dc3SMiquel Raynal- clocks: pointers to the reference clocks for this device (CP110 only), 3106a09dc3SMiquel Raynal consequently: MG clock, MG Core clock, AXI clock. 3206a09dc3SMiquel Raynal- clock-names: names of used clocks for CP110 only, must be : 3306a09dc3SMiquel Raynal "mg_clk", "mg_core_clk" and "axi_clk". 3406a09dc3SMiquel Raynal 359c2cbd47SAntoine TenartA sub-node is required for each comphy lane provided by the comphy. 369c2cbd47SAntoine Tenart 379c2cbd47SAntoine TenartRequired properties (child nodes): 389c2cbd47SAntoine Tenart 396362f0a6SMiquel Raynal- reg: COMPHY lane number. 406362f0a6SMiquel Raynal- #phy-cells : from the generic PHY bindings, must be 1. Defines the 419c2cbd47SAntoine Tenart input port to use for a given comphy lane. 429c2cbd47SAntoine Tenart 436362f0a6SMiquel RaynalExamples: 449c2cbd47SAntoine Tenart 45*3a0dc9fbSGrzegorz Jaszczyk CP11X_LABEL(comphy): phy@120000 { 469c2cbd47SAntoine Tenart compatible = "marvell,comphy-cp110"; 479c2cbd47SAntoine Tenart reg = <0x120000 0x6000>; 48*3a0dc9fbSGrzegorz Jaszczyk marvell,system-controller = <&CP11X_LABEL(syscon0)>; 49*3a0dc9fbSGrzegorz Jaszczyk clocks = <&CP11X_LABEL(clk) 1 5>, <&CP11X_LABEL(clk) 1 6>, 50*3a0dc9fbSGrzegorz Jaszczyk <&CP11X_LABEL(clk) 1 18>; 5106a09dc3SMiquel Raynal clock-names = "mg_clk", "mg_core_clk", "axi_clk"; 529c2cbd47SAntoine Tenart #address-cells = <1>; 539c2cbd47SAntoine Tenart #size-cells = <0>; 549c2cbd47SAntoine Tenart 55*3a0dc9fbSGrzegorz Jaszczyk CP11X_LABEL(comphy0): phy@0 { 569c2cbd47SAntoine Tenart reg = <0>; 579c2cbd47SAntoine Tenart #phy-cells = <1>; 589c2cbd47SAntoine Tenart }; 599c2cbd47SAntoine Tenart 60*3a0dc9fbSGrzegorz Jaszczyk CP11X_LABEL(comphy1): phy@1 { 619c2cbd47SAntoine Tenart reg = <1>; 629c2cbd47SAntoine Tenart #phy-cells = <1>; 639c2cbd47SAntoine Tenart }; 649c2cbd47SAntoine Tenart }; 656362f0a6SMiquel Raynal 666362f0a6SMiquel Raynal comphy: phy@18300 { 676362f0a6SMiquel Raynal compatible = "marvell,comphy-a3700"; 686362f0a6SMiquel Raynal reg = <0x18300 0x300>, 696362f0a6SMiquel Raynal <0x1F000 0x400>, 706362f0a6SMiquel Raynal <0x5C000 0x400>, 716362f0a6SMiquel Raynal <0xe0178 0x8>; 726362f0a6SMiquel Raynal reg-names = "comphy", 736362f0a6SMiquel Raynal "lane1_pcie_gbe", 746362f0a6SMiquel Raynal "lane0_usb3_gbe", 756362f0a6SMiquel Raynal "lane2_sata_usb3"; 766362f0a6SMiquel Raynal #address-cells = <1>; 776362f0a6SMiquel Raynal #size-cells = <0>; 786362f0a6SMiquel Raynal 796362f0a6SMiquel Raynal 806362f0a6SMiquel Raynal comphy0: phy@0 { 816362f0a6SMiquel Raynal reg = <0>; 826362f0a6SMiquel Raynal #phy-cells = <1>; 836362f0a6SMiquel Raynal }; 846362f0a6SMiquel Raynal 856362f0a6SMiquel Raynal comphy1: phy@1 { 866362f0a6SMiquel Raynal reg = <1>; 876362f0a6SMiquel Raynal #phy-cells = <1>; 886362f0a6SMiquel Raynal }; 896362f0a6SMiquel Raynal 906362f0a6SMiquel Raynal comphy2: phy@2 { 916362f0a6SMiquel Raynal reg = <2>; 926362f0a6SMiquel Raynal #phy-cells = <1>; 936362f0a6SMiquel Raynal }; 946362f0a6SMiquel Raynal }; 95