linux/Documentation/devicetree/bindings/ata/sata-common.yaml

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/ata/sata-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Common Properties for Serial AT attachment (SATA) controllers

maintainers:
  - Linus Walleij <[email protected]>

description: |
  This document defines device tree properties common to most Serial
  AT attachment (SATA) storage devices. It doesn't constitute a device tree
  binding specification by itself but is meant to be referenced by device
  tree bindings.

  The SATA controller-specific device tree bindings are responsible for
  defining whether each property is required or optional.

properties:
  $nodename:
    pattern: "^sata(@.*)?$"
    description:
      Specifies the host controller node. SATA host controller nodes are named
      "sata"

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  dma-coherent: true

patternProperties:
  "^sata-port@[0-9a-e]$":
    $ref: '#/$defs/sata-port'
    description: |
      DT nodes for ports connected on the SATA host. The SATA port
      nodes will be named "sata-port".

additionalProperties: true

$defs:
  sata-port:
    type: object

    properties:
      reg:
        minimum: 0
        description:
          The ID number of the SATA port. Aside with being directly used,
          each port can have a Port Multiplier attached thus allowing to
          access more than one drive by means of a single SATA port.

...