1* AHCI SATA Controller 2 3SATA nodes are defined to describe on-chip Serial ATA controllers. 4Each SATA controller should have its own node. 5 6It is possible, but not required, to represent each port as a sub-node. 7It allows to enable each port independently when dealing with multiple 8PHYs. 9 10Required properties: 11- compatible : compatible string, one of: 12 - "allwinner,sun4i-a10-ahci" 13 - "brcm,iproc-ahci" 14 - "hisilicon,hisi-ahci" 15 - "cavium,octeon-7130-ahci" 16 - "ibm,476gtr-ahci" 17 - "marvell,armada-380-ahci" 18 - "marvell,armada-3700-ahci" 19 - "snps,dwc-ahci" 20 - "snps,spear-ahci" 21 - "generic-ahci" 22- interrupts : <interrupt mapping for SATA IRQ> 23- reg : <registers mapping> 24 25Please note that when using "generic-ahci" you must also specify a SoC specific 26compatible: 27 compatible = "manufacturer,soc-model-ahci", "generic-ahci"; 28 29Optional properties: 30- dma-coherent : Present if dma operations are coherent 31- clocks : a list of phandle + clock specifier pairs 32- resets : a list of phandle + reset specifier pairs 33- target-supply : regulator for SATA target power 34- phys : reference to the SATA PHY node 35- phy-names : must be "sata-phy" 36- ports-implemented : Mask that indicates which ports that the HBA supports 37 are available for software to use. Useful if PORTS_IMPL 38 is not programmed by the BIOS, which is true with 39 some embedded SOC's. 40 41Required properties when using sub-nodes: 42- #address-cells : number of cells to encode an address 43- #size-cells : number of cells representing the size of an address 44 45 46Sub-nodes required properties: 47- reg : the port number 48And at least one of the following properties: 49- phys : reference to the SATA PHY node 50- target-supply : regulator for SATA target power 51 52Examples: 53 sata@ffe08000 { 54 compatible = "snps,spear-ahci"; 55 reg = <0xffe08000 0x1000>; 56 interrupts = <115>; 57 }; 58 59 ahci: sata@1c18000 { 60 compatible = "allwinner,sun4i-a10-ahci"; 61 reg = <0x01c18000 0x1000>; 62 interrupts = <56>; 63 clocks = <&pll6 0>, <&ahb_gates 25>; 64 target-supply = <®_ahci_5v>; 65 }; 66 67With sub-nodes: 68 sata@f7e90000 { 69 compatible = "marvell,berlin2q-achi", "generic-ahci"; 70 reg = <0xe90000 0x1000>; 71 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 72 clocks = <&chip CLKID_SATA>; 73 #address-cells = <1>; 74 #size-cells = <0>; 75 76 sata0: sata-port@0 { 77 reg = <0>; 78 phys = <&sata_phy 0>; 79 target-supply = <®_sata0>; 80 }; 81 82 sata1: sata-port@1 { 83 reg = <1>; 84 phys = <&sata_phy 1>; 85 target-supply = <®_sata1>;; 86 }; 87 }; 88