Path: blob/master/Documentation/devicetree/bindings/ata/ahci-common.yaml
26308 views
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)1%YAML 1.22---3$id: http://devicetree.org/schemas/ata/ahci-common.yaml#4$schema: http://devicetree.org/meta-schemas/core.yaml#56title: Common Properties for Serial ATA AHCI controllers78maintainers:9- Hans de Goede <hdegoede@redhat.com>10- Damien Le Moal <dlemoal@kernel.org>1112description:13This document defines device tree properties for a common AHCI SATA14controller implementation. It's hardware interface is supposed to15conform to the technical standard defined by Intel (see Serial ATA16Advanced Host Controller Interface specification for details). The17document doesn't constitute a DT-node binding by itself but merely18defines a set of common properties for the AHCI-compatible devices.1920select: false2122allOf:23- $ref: sata-common.yaml#2425properties:26reg:27description:28Generic AHCI registers space conforming to the Serial ATA AHCI29specification.3031reg-names:32description: CSR space IDs33contains:34const: ahci3536interrupts:37description:38Generic AHCI state change interrupt. Can be implemented either as a39single line attached to the controller or as a set of the signals40indicating the particular port events.41minItems: 142maxItems: 324344ahci-supply:45description: Power regulator for AHCI controller4647target-supply:48description: Power regulator for SATA target device4950phy-supply:51description: Power regulator for SATA PHY5253phys:54description: Reference to the SATA PHY node55maxItems: 15657phy-names:58const: sata-phy5960hba-cap:61$ref: /schemas/types.yaml#/definitions/uint3262description:63Bitfield of the HBA generic platform capabilities like Staggered64Spin-up or Mechanical Presence Switch support. It can be used to65appropriately initialize the HWinit fields of the HBA CAP register66in case if the system firmware hasn't done it.6768ports-implemented:69$ref: /schemas/types.yaml#/definitions/uint3270description:71Mask that indicates which ports the HBA supports. Useful if PI is not72programmed by the BIOS, which is true for some embedded SoC's.7374patternProperties:75"^sata-port@[0-9a-f]+$":76$ref: '#/$defs/ahci-port'77description:78It is optionally possible to describe the ports as sub-nodes so79to enable each port independently when dealing with multiple PHYs.8081required:82- reg83- interrupts8485additionalProperties: true8687$defs:88ahci-port:89$ref: /schemas/ata/sata-common.yaml#/$defs/sata-port9091properties:92reg:93description:94AHCI SATA port identifier. By design AHCI controller can't have95more than 32 ports due to the CAP.NP fields and PI register size96constraints.97minimum: 098maximum: 3199100phys:101description: Individual AHCI SATA port PHY102maxItems: 1103104phy-names:105description: AHCI SATA port PHY ID106const: sata-phy107108target-supply:109description: Power regulator for SATA port target device110111hba-port-cap:112$ref: /schemas/types.yaml#/definitions/uint32113description:114Bitfield of the HBA port-specific platform capabilities like Hot115plugging, eSATA, FIS-based Switching, etc (see AHCI specification116for details). It can be used to initialize the HWinit fields of117the PxCMD register in case if the system firmware hasn't done it.118119required:120- reg121122...123124125