1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/ata/brcm,sata-brcm.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom SATA3 AHCI Controller
8
9description:
10  SATA nodes are defined to describe on-chip Serial ATA controllers.
11  Each SATA controller should have its own node.
12
13maintainers:
14  - Florian Fainelli <f.fainelli@gmail.com>
15
16allOf:
17  - $ref: ahci-common.yaml#
18
19properties:
20  compatible:
21    oneOf:
22      - items:
23          - enum:
24              - brcm,bcm7216-ahci
25              - brcm,bcm7445-ahci
26              - brcm,bcm7425-ahci
27              - brcm,bcm63138-ahci
28          - const: brcm,sata3-ahci
29      - items:
30          - const: brcm,bcm-nsp-ahci
31
32  reg:
33    maxItems: 2
34
35  reg-names:
36    items:
37      - const: ahci
38      - const: top-ctrl
39
40  interrupts:
41    maxItems: 1
42
43if:
44  properties:
45    compatible:
46      contains:
47        enum:
48          - brcm,bcm7216-ahci
49          - brcm,bcm63138-ahci
50then:
51  properties:
52    resets:
53      maxItems: 1
54    reset-names:
55      enum:
56        - rescal
57        - ahci
58
59required:
60  - compatible
61  - reg
62  - interrupts
63  - "#address-cells"
64  - "#size-cells"
65
66unevaluatedProperties: false
67
68examples:
69  - |
70    sata@f045a000 {
71        compatible = "brcm,bcm7445-ahci", "brcm,sata3-ahci";
72        reg = <0xf045a000 0xa9c>, <0xf0458040 0x24>;
73        reg-names = "ahci", "top-ctrl";
74        interrupts = <0 30 0>;
75        #address-cells = <1>;
76        #size-cells = <0>;
77
78        sata0: sata-port@0 {
79            reg = <0>;
80            phys = <&sata_phy 0>;
81        };
82
83        sata1: sata-port@1 {
84            reg = <1>;
85            phys = <&sata_phy 1>;
86        };
87    };
88