Viresh Kumar | 5f098a3 | 2012-04-21 17:40:12 +0530 | [diff] [blame] | 1 | * AHCI SATA Controller |
Rob Herring | 02aac31 | 2010-11-03 21:04:59 -0500 | [diff] [blame] | 2 | |
| 3 | SATA nodes are defined to describe on-chip Serial ATA controllers. |
| 4 | Each SATA controller should have its own node. |
| 5 | |
Antoine Ténart | 724f24e | 2014-07-30 20:13:59 +0200 | [diff] [blame] | 6 | It is possible, but not required, to represent each port as a sub-node. |
| 7 | It allows to enable each port independently when dealing with multiple |
| 8 | PHYs. |
| 9 | |
Rob Herring | 02aac31 | 2010-11-03 21:04:59 -0500 | [diff] [blame] | 10 | Required properties: |
Thomas Petazzoni | 5799d6d | 2014-04-15 17:00:02 +0200 | [diff] [blame] | 11 | - compatible : compatible string, one of: |
| 12 | - "allwinner,sun4i-a10-ahci" |
Kefeng Wang | a1a205d | 2014-05-14 14:13:42 +0800 | [diff] [blame] | 13 | - "hisilicon,hisi-ahci" |
Thomas Petazzoni | 5799d6d | 2014-04-15 17:00:02 +0200 | [diff] [blame] | 14 | - "ibm,476gtr-ahci" |
Thomas Petazzoni | a3464ed | 2014-04-15 17:00:03 +0200 | [diff] [blame] | 15 | - "marvell,armada-380-ahci" |
Thomas Petazzoni | 5799d6d | 2014-04-15 17:00:02 +0200 | [diff] [blame] | 16 | - "snps,dwc-ahci" |
| 17 | - "snps,exynos5440-ahci" |
| 18 | - "snps,spear-ahci" |
Tang Yuantian | 5163fb6 | 2015-06-04 15:10:04 +0800 | [diff] [blame] | 19 | - "fsl,qoriq-ahci" : for qoriq series socs which include ls1021, ls2085, etc. |
| 20 | - "fsl,<chip>-ahci" : chip could be ls1021, ls2085 etc. |
Antoine Ténart | 724f24e | 2014-07-30 20:13:59 +0200 | [diff] [blame] | 21 | - "generic-ahci" |
Rob Herring | 02aac31 | 2010-11-03 21:04:59 -0500 | [diff] [blame] | 22 | - interrupts : <interrupt mapping for SATA IRQ> |
| 23 | - reg : <registers mapping> |
| 24 | |
Antoine Ténart | 724f24e | 2014-07-30 20:13:59 +0200 | [diff] [blame] | 25 | Please note that when using "generic-ahci" you must also specify a SoC specific |
| 26 | compatible: |
| 27 | compatible = "manufacturer,soc-model-ahci", "generic-ahci"; |
| 28 | |
Mark Langsdorf | 8996b89 | 2012-09-06 16:03:30 -0500 | [diff] [blame] | 29 | Optional properties: |
Rob Herring | 1dc737c | 2012-08-21 12:31:06 +0200 | [diff] [blame] | 30 | - dma-coherent : Present if dma operations are coherent |
Hans de Goede | 156c588 | 2014-02-22 16:53:31 +0100 | [diff] [blame] | 31 | - clocks : a list of phandle + clock specifier pairs |
Hans de Goede | 4b3e603 | 2014-02-22 16:53:32 +0100 | [diff] [blame] | 32 | - target-supply : regulator for SATA target power |
Antoine Ténart | 724f24e | 2014-07-30 20:13:59 +0200 | [diff] [blame] | 33 | - phys : reference to the SATA PHY node |
| 34 | - phy-names : must be "sata-phy" |
| 35 | |
| 36 | Required properties when using sub-nodes: |
| 37 | - #address-cells : number of cells to encode an address |
| 38 | - #size-cells : number of cells representing the size of an address |
| 39 | |
| 40 | |
| 41 | Sub-nodes required properties: |
Gregory CLEMENT | 6bd1599 | 2015-01-15 15:09:36 +0100 | [diff] [blame] | 42 | - reg : the port number |
| 43 | And at least one of the following properties: |
| 44 | - phys : reference to the SATA PHY node |
| 45 | - target-supply : regulator for SATA target power |
Mark Langsdorf | 8996b89 | 2012-09-06 16:03:30 -0500 | [diff] [blame] | 46 | |
Olliver Schinagl | c5754b5 | 2014-02-22 16:53:36 +0100 | [diff] [blame] | 47 | Examples: |
Rob Herring | 02aac31 | 2010-11-03 21:04:59 -0500 | [diff] [blame] | 48 | sata@ffe08000 { |
Mark Langsdorf | 91c2095 | 2013-08-14 15:40:11 -0500 | [diff] [blame] | 49 | compatible = "snps,spear-ahci"; |
| 50 | reg = <0xffe08000 0x1000>; |
| 51 | interrupts = <115>; |
Rob Herring | 02aac31 | 2010-11-03 21:04:59 -0500 | [diff] [blame] | 52 | }; |
Olliver Schinagl | c5754b5 | 2014-02-22 16:53:36 +0100 | [diff] [blame] | 53 | |
| 54 | ahci: sata@01c18000 { |
| 55 | compatible = "allwinner,sun4i-a10-ahci"; |
| 56 | reg = <0x01c18000 0x1000>; |
| 57 | interrupts = <56>; |
| 58 | clocks = <&pll6 0>, <&ahb_gates 25>; |
| 59 | target-supply = <®_ahci_5v>; |
| 60 | }; |
Antoine Ténart | 724f24e | 2014-07-30 20:13:59 +0200 | [diff] [blame] | 61 | |
| 62 | With sub-nodes: |
| 63 | sata@f7e90000 { |
| 64 | compatible = "marvell,berlin2q-achi", "generic-ahci"; |
| 65 | reg = <0xe90000 0x1000>; |
| 66 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; |
| 67 | clocks = <&chip CLKID_SATA>; |
| 68 | #address-cells = <1>; |
| 69 | #size-cells = <0>; |
| 70 | |
| 71 | sata0: sata-port@0 { |
| 72 | reg = <0>; |
| 73 | phys = <&sata_phy 0>; |
Gregory CLEMENT | 6bd1599 | 2015-01-15 15:09:36 +0100 | [diff] [blame] | 74 | target-supply = <®_sata0>; |
Antoine Ténart | 724f24e | 2014-07-30 20:13:59 +0200 | [diff] [blame] | 75 | }; |
| 76 | |
| 77 | sata1: sata-port@1 { |
| 78 | reg = <1>; |
| 79 | phys = <&sata_phy 1>; |
Gregory CLEMENT | 6bd1599 | 2015-01-15 15:09:36 +0100 | [diff] [blame] | 80 | target-supply = <®_sata1>;; |
Antoine Ténart | 724f24e | 2014-07-30 20:13:59 +0200 | [diff] [blame] | 81 | }; |
| 82 | }; |