15c640becSSerge Semin# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25c640becSSerge Semin%YAML 1.2
35c640becSSerge Semin---
45c640becSSerge Semin$id: http://devicetree.org/schemas/ata/snps,dwc-ahci.yaml#
55c640becSSerge Semin$schema: http://devicetree.org/meta-schemas/core.yaml#
65c640becSSerge Semin
75c640becSSerge Semintitle: Synopsys DWC AHCI SATA controller
85c640becSSerge Semin
95c640becSSerge Seminmaintainers:
105c640becSSerge Semin  - Serge Semin <fancer.lancer@gmail.com>
115c640becSSerge Semin
125c640becSSerge Semindescription:
135c640becSSerge Semin  This document defines device tree bindings for the generic Synopsys DWC
145c640becSSerge Semin  implementation of the AHCI SATA controller.
155c640becSSerge Semin
16*85b0e13bSSebastian Reichelselect:
17*85b0e13bSSebastian Reichel  properties:
18*85b0e13bSSebastian Reichel    compatible:
19*85b0e13bSSebastian Reichel      enum:
20*85b0e13bSSebastian Reichel        - snps,dwc-ahci
21*85b0e13bSSebastian Reichel        - snps,spear-ahci
22*85b0e13bSSebastian Reichel  required:
23*85b0e13bSSebastian Reichel    - compatible
24*85b0e13bSSebastian Reichel
255c640becSSerge SeminallOf:
265c640becSSerge Semin  - $ref: snps,dwc-ahci-common.yaml#
275c640becSSerge Semin
285c640becSSerge Seminproperties:
295c640becSSerge Semin  compatible:
305c640becSSerge Semin    oneOf:
315c640becSSerge Semin      - description: Synopsys AHCI SATA-compatible devices
325c640becSSerge Semin        const: snps,dwc-ahci
335c640becSSerge Semin      - description: SPEAr1340 AHCI SATA device
345c640becSSerge Semin        const: snps,spear-ahci
355c640becSSerge Semin
365c640becSSerge SeminpatternProperties:
375c640becSSerge Semin  "^sata-port@[0-9a-e]$":
385c640becSSerge Semin    $ref: /schemas/ata/snps,dwc-ahci-common.yaml#/$defs/dwc-ahci-port
395c640becSSerge Semin
405c640becSSerge Semin    unevaluatedProperties: false
415c640becSSerge Semin
425c640becSSerge Seminrequired:
435c640becSSerge Semin  - compatible
445c640becSSerge Semin  - reg
455c640becSSerge Semin  - interrupts
465c640becSSerge Semin
475c640becSSerge SeminunevaluatedProperties: false
485c640becSSerge Semin
495c640becSSerge Seminexamples:
505c640becSSerge Semin  - |
515c640becSSerge Semin    #include <dt-bindings/interrupt-controller/arm-gic.h>
525c640becSSerge Semin    #include <dt-bindings/ata/ahci.h>
535c640becSSerge Semin
545c640becSSerge Semin    sata@122f0000 {
555c640becSSerge Semin      compatible = "snps,dwc-ahci";
565c640becSSerge Semin      reg = <0x122F0000 0x1ff>;
575c640becSSerge Semin      #address-cells = <1>;
585c640becSSerge Semin      #size-cells = <0>;
595c640becSSerge Semin
605c640becSSerge Semin      interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
615c640becSSerge Semin
625c640becSSerge Semin      clocks = <&clock1>, <&clock2>;
635c640becSSerge Semin      clock-names = "aclk", "ref";
645c640becSSerge Semin
655c640becSSerge Semin      phys = <&sata_phy>;
665c640becSSerge Semin      phy-names = "sata-phy";
675c640becSSerge Semin
685c640becSSerge Semin      ports-implemented = <0x1>;
695c640becSSerge Semin
705c640becSSerge Semin      sata-port@0 {
715c640becSSerge Semin        reg = <0>;
725c640becSSerge Semin
735c640becSSerge Semin        hba-port-cap = <HBA_PORT_FBSCP>;
745c640becSSerge Semin
755c640becSSerge Semin        snps,tx-ts-max = <512>;
765c640becSSerge Semin        snps,rx-ts-max = <512>;
775c640becSSerge Semin      };
785c640becSSerge Semin    };
795c640becSSerge Semin
805c640becSSerge Semin...
81