GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / ata / brcm,sata-brcm.yaml
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
7 title: Broadcom SATA3 AHCI Controller
8
9 description:
10   SATA nodes are defined to describe on-chip Serial ATA controllers.
11   Each SATA controller should have its own node.
12
13 maintainers:
14   - Florian Fainelli <f.fainelli@gmail.com>
15
16 allOf:
17   - $ref: ahci-common.yaml#
18
19 properties:
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
43 if:
44   properties:
45     compatible:
46       contains:
47         enum:
48           - brcm,bcm7216-ahci
49           - brcm,bcm63138-ahci
50 then:
51   properties:
52     resets:
53       maxItems: 1
54     reset-names:
55       enum:
56         - rescal
57         - ahci
58
59 required:
60   - compatible
61   - reg
62   - interrupts
63   - "#address-cells"
64   - "#size-cells"
65
66 unevaluatedProperties: false
67
68 examples:
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     };