162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/ata/ahci-common.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Common Properties for Serial ATA AHCI controllers 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Hans de Goede <hdegoede@redhat.com> 1162306a36Sopenharmony_ci - Damien Le Moal <dlemoal@kernel.org> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cidescription: 1462306a36Sopenharmony_ci This document defines device tree properties for a common AHCI SATA 1562306a36Sopenharmony_ci controller implementation. It's hardware interface is supposed to 1662306a36Sopenharmony_ci conform to the technical standard defined by Intel (see Serial ATA 1762306a36Sopenharmony_ci Advanced Host Controller Interface specification for details). The 1862306a36Sopenharmony_ci document doesn't constitute a DT-node binding by itself but merely 1962306a36Sopenharmony_ci defines a set of common properties for the AHCI-compatible devices. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciselect: false 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ciallOf: 2462306a36Sopenharmony_ci - $ref: sata-common.yaml# 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciproperties: 2762306a36Sopenharmony_ci reg: 2862306a36Sopenharmony_ci description: 2962306a36Sopenharmony_ci Generic AHCI registers space conforming to the Serial ATA AHCI 3062306a36Sopenharmony_ci specification. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci reg-names: 3362306a36Sopenharmony_ci description: CSR space IDs 3462306a36Sopenharmony_ci contains: 3562306a36Sopenharmony_ci const: ahci 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci interrupts: 3862306a36Sopenharmony_ci description: 3962306a36Sopenharmony_ci Generic AHCI state change interrupt. Can be implemented either as a 4062306a36Sopenharmony_ci single line attached to the controller or as a set of the signals 4162306a36Sopenharmony_ci indicating the particular port events. 4262306a36Sopenharmony_ci minItems: 1 4362306a36Sopenharmony_ci maxItems: 32 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci ahci-supply: 4662306a36Sopenharmony_ci description: Power regulator for AHCI controller 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci target-supply: 4962306a36Sopenharmony_ci description: Power regulator for SATA target device 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci phy-supply: 5262306a36Sopenharmony_ci description: Power regulator for SATA PHY 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci phys: 5562306a36Sopenharmony_ci description: Reference to the SATA PHY node 5662306a36Sopenharmony_ci maxItems: 1 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci phy-names: 5962306a36Sopenharmony_ci const: sata-phy 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci hba-cap: 6262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6362306a36Sopenharmony_ci description: 6462306a36Sopenharmony_ci Bitfield of the HBA generic platform capabilities like Staggered 6562306a36Sopenharmony_ci Spin-up or Mechanical Presence Switch support. It can be used to 6662306a36Sopenharmony_ci appropriately initialize the HWinit fields of the HBA CAP register 6762306a36Sopenharmony_ci in case if the system firmware hasn't done it. 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci ports-implemented: 7062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7162306a36Sopenharmony_ci description: 7262306a36Sopenharmony_ci Mask that indicates which ports the HBA supports. Useful if PI is not 7362306a36Sopenharmony_ci programmed by the BIOS, which is true for some embedded SoC's. 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_cipatternProperties: 7662306a36Sopenharmony_ci "^sata-port@[0-9a-f]+$": 7762306a36Sopenharmony_ci $ref: '#/$defs/ahci-port' 7862306a36Sopenharmony_ci description: 7962306a36Sopenharmony_ci It is optionally possible to describe the ports as sub-nodes so 8062306a36Sopenharmony_ci to enable each port independently when dealing with multiple PHYs. 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_cirequired: 8362306a36Sopenharmony_ci - reg 8462306a36Sopenharmony_ci - interrupts 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ciadditionalProperties: true 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci$defs: 8962306a36Sopenharmony_ci ahci-port: 9062306a36Sopenharmony_ci $ref: /schemas/ata/sata-common.yaml#/$defs/sata-port 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci properties: 9362306a36Sopenharmony_ci reg: 9462306a36Sopenharmony_ci description: 9562306a36Sopenharmony_ci AHCI SATA port identifier. By design AHCI controller can't have 9662306a36Sopenharmony_ci more than 32 ports due to the CAP.NP fields and PI register size 9762306a36Sopenharmony_ci constraints. 9862306a36Sopenharmony_ci minimum: 0 9962306a36Sopenharmony_ci maximum: 31 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci phys: 10262306a36Sopenharmony_ci description: Individual AHCI SATA port PHY 10362306a36Sopenharmony_ci maxItems: 1 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci phy-names: 10662306a36Sopenharmony_ci description: AHCI SATA port PHY ID 10762306a36Sopenharmony_ci const: sata-phy 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci target-supply: 11062306a36Sopenharmony_ci description: Power regulator for SATA port target device 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci hba-port-cap: 11362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 11462306a36Sopenharmony_ci description: 11562306a36Sopenharmony_ci Bitfield of the HBA port-specific platform capabilities like Hot 11662306a36Sopenharmony_ci plugging, eSATA, FIS-based Switching, etc (see AHCI specification 11762306a36Sopenharmony_ci for details). It can be used to initialize the HWinit fields of 11862306a36Sopenharmony_ci the PxCMD register in case if the system firmware hasn't done it. 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci required: 12162306a36Sopenharmony_ci - reg 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci... 124