mirror of
				https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable.git
				synced 2025-10-26 17:04:24 +10:00 
			
		
		
		
	The Allwinner SoCs have a AHCI controllers that is supported in Linux, with a matching Device Tree binding. Now that we have the DT validation in place, let's convert the device tree bindings for that controller over to a YAML schemas. Signed-off-by: Maxime Ripard <maxime@cerno.tech> [robh: 'maxItems: 1' for resets] Signed-off-by: Rob Herring <robh@kernel.org>
		
			
				
	
	
		
			80 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.4 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:
 | |
|   - "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
 | |
| - phy-supply        : regulator for PHY power
 | |
| - phys              : reference to the SATA PHY node
 | |
| - phy-names         : must be "sata-phy"
 | |
| - ahci-supply       : regulator for AHCI controller
 | |
| - 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>;
 | |
|         };
 | |
| 
 | |
| 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>;;
 | |
| 		};
 | |
| 	};
 |