GNU Linux-libre 5.19-rc6-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: sata-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     minItems: 2
34     maxItems: 2
35
36   reg-names:
37     items:
38       - const: ahci
39       - const: top-ctrl
40
41   interrupts:
42     maxItems: 1
43
44   dma-coherent: true
45
46 if:
47   properties:
48     compatible:
49       contains:
50         enum:
51           - brcm,bcm7216-ahci
52           - brcm,bcm63138-ahci
53 then:
54   properties:
55     resets:
56       maxItems: 1
57     reset-names:
58       enum:
59         - rescal
60         - ahci
61
62 required:
63   - compatible
64   - reg
65   - interrupts
66   - "#address-cells"
67   - "#size-cells"
68
69 unevaluatedProperties: false
70
71 examples:
72   - |
73     sata@f045a000 {
74         compatible = "brcm,bcm7445-ahci", "brcm,sata3-ahci";
75         reg = <0xf045a000 0xa9c>, <0xf0458040 0x24>;
76         reg-names = "ahci", "top-ctrl";
77         interrupts = <0 30 0>;
78         #address-cells = <1>;
79         #size-cells = <0>;
80
81         sata0: sata-port@0 {
82             reg = <0>;
83             phys = <&sata_phy 0>;
84         };
85
86         sata1: sata-port@1 {
87             reg = <1>;
88             phys = <&sata_phy 1>;
89         };
90     };