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/snps,dwc-ahci.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Synopsys DWC AHCI SATA controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Serge Semin <fancer.lancer@gmail.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  This document defines device tree bindings for the generic Synopsys DWC
1462306a36Sopenharmony_ci  implementation of the AHCI SATA controller.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciselect:
1762306a36Sopenharmony_ci  properties:
1862306a36Sopenharmony_ci    compatible:
1962306a36Sopenharmony_ci      enum:
2062306a36Sopenharmony_ci        - snps,dwc-ahci
2162306a36Sopenharmony_ci        - snps,spear-ahci
2262306a36Sopenharmony_ci  required:
2362306a36Sopenharmony_ci    - compatible
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciallOf:
2662306a36Sopenharmony_ci  - $ref: snps,dwc-ahci-common.yaml#
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciproperties:
2962306a36Sopenharmony_ci  compatible:
3062306a36Sopenharmony_ci    oneOf:
3162306a36Sopenharmony_ci      - description: Synopsys AHCI SATA-compatible devices
3262306a36Sopenharmony_ci        const: snps,dwc-ahci
3362306a36Sopenharmony_ci      - description: SPEAr1340 AHCI SATA device
3462306a36Sopenharmony_ci        const: snps,spear-ahci
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_cipatternProperties:
3762306a36Sopenharmony_ci  "^sata-port@[0-9a-e]$":
3862306a36Sopenharmony_ci    $ref: /schemas/ata/snps,dwc-ahci-common.yaml#/$defs/dwc-ahci-port
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci    unevaluatedProperties: false
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_cirequired:
4362306a36Sopenharmony_ci  - compatible
4462306a36Sopenharmony_ci  - reg
4562306a36Sopenharmony_ci  - interrupts
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciunevaluatedProperties: false
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciexamples:
5062306a36Sopenharmony_ci  - |
5162306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
5262306a36Sopenharmony_ci    #include <dt-bindings/ata/ahci.h>
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci    sata@122f0000 {
5562306a36Sopenharmony_ci      compatible = "snps,dwc-ahci";
5662306a36Sopenharmony_ci      reg = <0x122F0000 0x1ff>;
5762306a36Sopenharmony_ci      #address-cells = <1>;
5862306a36Sopenharmony_ci      #size-cells = <0>;
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci      interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci      clocks = <&clock1>, <&clock2>;
6362306a36Sopenharmony_ci      clock-names = "aclk", "ref";
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci      phys = <&sata_phy>;
6662306a36Sopenharmony_ci      phy-names = "sata-phy";
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci      ports-implemented = <0x1>;
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci      sata-port@0 {
7162306a36Sopenharmony_ci        reg = <0>;
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci        hba-port-cap = <HBA_PORT_FBSCP>;
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci        snps,tx-ts-max = <512>;
7662306a36Sopenharmony_ci        snps,rx-ts-max = <512>;
7762306a36Sopenharmony_ci      };
7862306a36Sopenharmony_ci    };
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci...
81