mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
0519359784
Pull libata updates from Tejun Heo: "Nothing too interesting. Mostly ahci and ahci_platform changes, many around power management" * 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (22 commits) ata: ahci_platform: enable to get and control reset ata: libahci_platform: add reset control support ata: add an extra argument to ahci_platform_get_resources() ata: sata_rcar: Add r8a77965 support ata: sata_rcar: exclude setting of PHY registers in Gen3 ata: sata_rcar: really mask all interrupts on Gen2 and later Revert "ata: ahci_platform: allow disabling of hotplug to save power" ata: libahci: Allow reconfigure of DEVSLP register ata: libahci: Correct setting of DEVSLP register ata: ahci: Enable DEVSLP by default on x86 with SLP_S0 ata: ahci: Support state with min power but Partial low power state Revert "ata: ahci_platform: convert kcalloc to devm_kcalloc" ata: sata_rcar: Add rudimentary Runtime PM support ata: sata_rcar: Provide a short-hand for &pdev->dev ata: Only output sg element mapped number in verbose debug ata: Guard ata_scsi_dump_cdb() by ATA_VERBOSE_DEBUG ata: ahci_platform: convert kcalloc to devm_kcalloc ata: ahci_platform: convert kzallloc to kcalloc ata: ahci_platform: correct parameter documentation for ahci_platform_shutdown libata: remove ata_sff_data_xfer_noirq() ...
88 lines
2.5 KiB
Plaintext
88 lines
2.5 KiB
Plaintext
* AHCI SATA Controller
|
|
|
|
SATA nodes are defined to describe on-chip Serial ATA controllers.
|
|
Each SATA controller should have its own node.
|
|
|
|
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.
|
|
|
|
Required properties:
|
|
- compatible : compatible string, one of:
|
|
- "allwinner,sun4i-a10-ahci"
|
|
- "brcm,iproc-ahci"
|
|
- "hisilicon,hisi-ahci"
|
|
- "cavium,octeon-7130-ahci"
|
|
- "ibm,476gtr-ahci"
|
|
- "marvell,armada-380-ahci"
|
|
- "marvell,armada-3700-ahci"
|
|
- "snps,dwc-ahci"
|
|
- "snps,spear-ahci"
|
|
- "generic-ahci"
|
|
- interrupts : <interrupt mapping for SATA IRQ>
|
|
- reg : <registers mapping>
|
|
|
|
Please note that when using "generic-ahci" you must also specify a SoC specific
|
|
compatible:
|
|
compatible = "manufacturer,soc-model-ahci", "generic-ahci";
|
|
|
|
Optional properties:
|
|
- dma-coherent : Present if dma operations are coherent
|
|
- clocks : a list of phandle + clock specifier pairs
|
|
- resets : a list of phandle + reset specifier pairs
|
|
- target-supply : regulator for SATA target power
|
|
- phys : reference to the SATA PHY node
|
|
- phy-names : must be "sata-phy"
|
|
- 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.
|
|
|
|
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:
|
|
- 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
|
|
|
|
Examples:
|
|
sata@ffe08000 {
|
|
compatible = "snps,spear-ahci";
|
|
reg = <0xffe08000 0x1000>;
|
|
interrupts = <115>;
|
|
};
|
|
|
|
ahci: sata@1c18000 {
|
|
compatible = "allwinner,sun4i-a10-ahci";
|
|
reg = <0x01c18000 0x1000>;
|
|
interrupts = <56>;
|
|
clocks = <&pll6 0>, <&ahb_gates 25>;
|
|
target-supply = <®_ahci_5v>;
|
|
};
|
|
|
|
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>;
|
|
target-supply = <®_sata0>;
|
|
};
|
|
|
|
sata1: sata-port@1 {
|
|
reg = <1>;
|
|
phys = <&sata_phy 1>;
|
|
target-supply = <®_sata1>;;
|
|
};
|
|
};
|