Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 724f24ee authored by Antoine Tenart's avatar Antoine Tenart Committed by Tejun Heo
Browse files

Documentation: bindings: document the sub-nodes AHCI bindings



The libahci now allows to use multiple PHYs and to represent each port
as a sub-node. Add these bindings to the documentation.

Signed-off-by: default avatarAntoine Ténart <antoine.tenart@free-electrons.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 30f3c73c
Loading
Loading
Loading
Loading
+41 −0
Original line number Original line Diff line number Diff line
@@ -3,6 +3,10 @@
SATA nodes are defined to describe on-chip Serial ATA controllers.
SATA nodes are defined to describe on-chip Serial ATA controllers.
Each SATA controller should have its own node.
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:
Required properties:
- compatible        : compatible string, one of:
- compatible        : compatible string, one of:
  - "allwinner,sun4i-a10-ahci"
  - "allwinner,sun4i-a10-ahci"
@@ -12,13 +16,30 @@ Required properties:
  - "snps,dwc-ahci"
  - "snps,dwc-ahci"
  - "snps,exynos5440-ahci"
  - "snps,exynos5440-ahci"
  - "snps,spear-ahci"
  - "snps,spear-ahci"
  - "generic-ahci"
- interrupts        : <interrupt mapping for SATA IRQ>
- interrupts        : <interrupt mapping for SATA IRQ>
- reg               : <registers mapping>
- 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:
Optional properties:
- dma-coherent      : Present if dma operations are coherent
- dma-coherent      : Present if dma operations are coherent
- clocks            : a list of phandle + clock specifier pairs
- clocks            : a list of phandle + clock specifier pairs
- target-supply     : regulator for SATA target power
- target-supply     : regulator for SATA target power
- phys              : reference to the SATA PHY node
- phy-names         : must be "sata-phy"

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
- phys              : reference to the SATA PHY node



Examples:
Examples:
        sata@ffe08000 {
        sata@ffe08000 {
@@ -34,3 +55,23 @@ Examples:
		clocks = <&pll6 0>, <&ahb_gates 25>;
		clocks = <&pll6 0>, <&ahb_gates 25>;
		target-supply = <&reg_ahci_5v>;
		target-supply = <&reg_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>;
		};

		sata1: sata-port@1 {
			reg = <1>;
			phys = <&sata_phy 1>;
		};
	};