2012-04-21 20:10:12 +08:00
|
|
|
* AHCI SATA Controller
|
2010-11-04 10:04:59 +08:00
|
|
|
|
|
|
|
SATA nodes are defined to describe on-chip Serial ATA controllers.
|
|
|
|
Each SATA controller should have its own node.
|
|
|
|
|
2014-07-31 02:13:59 +08:00
|
|
|
It is possible, but not required, to represent each port as a sub-node.
|
|
|
|
It allows to enable each port independently when dealing with multiple
|
|
|
|
PHYs.
|
|
|
|
|
2010-11-04 10:04:59 +08:00
|
|
|
Required properties:
|
2014-04-15 23:00:02 +08:00
|
|
|
- compatible : compatible string, one of:
|
|
|
|
- "allwinner,sun4i-a10-ahci"
|
2016-03-28 12:48:29 +08:00
|
|
|
- "brcm,iproc-ahci"
|
2014-05-14 14:13:42 +08:00
|
|
|
- "hisilicon,hisi-ahci"
|
2016-02-11 21:53:08 +08:00
|
|
|
- "cavium,octeon-7130-ahci"
|
2014-04-15 23:00:02 +08:00
|
|
|
- "ibm,476gtr-ahci"
|
2014-04-15 23:00:03 +08:00
|
|
|
- "marvell,armada-380-ahci"
|
2016-02-03 01:13:27 +08:00
|
|
|
- "marvell,armada-3700-ahci"
|
2014-04-15 23:00:02 +08:00
|
|
|
- "snps,dwc-ahci"
|
|
|
|
- "snps,exynos5440-ahci"
|
|
|
|
- "snps,spear-ahci"
|
2014-07-31 02:13:59 +08:00
|
|
|
- "generic-ahci"
|
2010-11-04 10:04:59 +08:00
|
|
|
- interrupts : <interrupt mapping for SATA IRQ>
|
|
|
|
- reg : <registers mapping>
|
|
|
|
|
2014-07-31 02:13:59 +08:00
|
|
|
Please note that when using "generic-ahci" you must also specify a SoC specific
|
|
|
|
compatible:
|
|
|
|
compatible = "manufacturer,soc-model-ahci", "generic-ahci";
|
|
|
|
|
2012-09-07 05:03:30 +08:00
|
|
|
Optional properties:
|
2012-08-21 18:31:06 +08:00
|
|
|
- dma-coherent : Present if dma operations are coherent
|
2014-02-22 23:53:31 +08:00
|
|
|
- clocks : a list of phandle + clock specifier pairs
|
2014-02-22 23:53:32 +08:00
|
|
|
- target-supply : regulator for SATA target power
|
2014-07-31 02:13:59 +08:00
|
|
|
- phys : reference to the SATA PHY node
|
|
|
|
- phy-names : must be "sata-phy"
|
2016-04-01 15:52:57 +08:00
|
|
|
- ports-implemented : Mask that indicates which ports that the HBA supports
|
|
|
|
are available for software to use. Useful if PORTS_IMPL
|
|
|
|
is not programmed by the BIOS, which is true with
|
|
|
|
some embedded SOC's.
|
2014-07-31 02:13:59 +08:00
|
|
|
|
|
|
|
Required properties when using sub-nodes:
|
|
|
|
- #address-cells : number of cells to encode an address
|
|
|
|
- #size-cells : number of cells representing the size of an address
|
|
|
|
|
|
|
|
|
|
|
|
Sub-nodes required properties:
|
2015-01-15 22:09:36 +08:00
|
|
|
- reg : the port number
|
|
|
|
And at least one of the following properties:
|
|
|
|
- phys : reference to the SATA PHY node
|
|
|
|
- target-supply : regulator for SATA target power
|
2012-09-07 05:03:30 +08:00
|
|
|
|
2014-02-22 23:53:36 +08:00
|
|
|
Examples:
|
2010-11-04 10:04:59 +08:00
|
|
|
sata@ffe08000 {
|
2013-08-15 04:40:11 +08:00
|
|
|
compatible = "snps,spear-ahci";
|
|
|
|
reg = <0xffe08000 0x1000>;
|
|
|
|
interrupts = <115>;
|
2010-11-04 10:04:59 +08:00
|
|
|
};
|
2014-02-22 23:53:36 +08:00
|
|
|
|
2017-11-09 00:27:48 +08:00
|
|
|
ahci: sata@1c18000 {
|
2014-02-22 23:53:36 +08:00
|
|
|
compatible = "allwinner,sun4i-a10-ahci";
|
|
|
|
reg = <0x01c18000 0x1000>;
|
|
|
|
interrupts = <56>;
|
|
|
|
clocks = <&pll6 0>, <&ahb_gates 25>;
|
|
|
|
target-supply = <®_ahci_5v>;
|
|
|
|
};
|
2014-07-31 02:13:59 +08:00
|
|
|
|
|
|
|
With sub-nodes:
|
|
|
|
sata@f7e90000 {
|
|
|
|
compatible = "marvell,berlin2q-achi", "generic-ahci";
|
|
|
|
reg = <0xe90000 0x1000>;
|
|
|
|
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
clocks = <&chip CLKID_SATA>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
|
|
|
|
sata0: sata-port@0 {
|
|
|
|
reg = <0>;
|
|
|
|
phys = <&sata_phy 0>;
|
2015-01-15 22:09:36 +08:00
|
|
|
target-supply = <®_sata0>;
|
2014-07-31 02:13:59 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
sata1: sata-port@1 {
|
|
|
|
reg = <1>;
|
|
|
|
phys = <&sata_phy 1>;
|
2015-01-15 22:09:36 +08:00
|
|
|
target-supply = <®_sata1>;;
|
2014-07-31 02:13:59 +08:00
|
|
|
};
|
|
|
|
};
|