1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/ata/renesas,rcar-sata.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Renesas R-Car Serial-ATA Interface
8
9maintainers:
10  - Geert Uytterhoeven <geert+renesas@glider.be>
11
12properties:
13  compatible:
14    oneOf:
15      - items:
16          - enum:
17              - renesas,sata-r8a7779      # R-Car H1
18      - items:
19          - enum:
20              - renesas,sata-r8a7742      # RZ/G1H
21              - renesas,sata-r8a7790-es1  # R-Car H2 ES1
22              - renesas,sata-r8a7790      # R-Car H2 other than ES1
23              - renesas,sata-r8a7791      # R-Car M2-W
24              - renesas,sata-r8a7793      # R-Car M2-N
25          - const: renesas,rcar-gen2-sata # generic R-Car Gen2
26      - items:
27          - enum:
28              - renesas,sata-r8a774b1     # RZ/G2N
29              - renesas,sata-r8a774e1     # RZ/G2H
30              - renesas,sata-r8a7795      # R-Car H3
31              - renesas,sata-r8a77965     # R-Car M3-N
32          - const: renesas,rcar-gen3-sata # generic R-Car Gen3 or RZ/G2
33
34  reg:
35    maxItems: 1
36
37  interrupts:
38    maxItems: 1
39
40  clocks:
41    maxItems: 1
42
43  iommus:
44    maxItems: 1
45
46  power-domains:
47    maxItems: 1
48
49  resets:
50    maxItems: 1
51
52required:
53  - compatible
54  - reg
55  - interrupts
56  - clocks
57  - power-domains
58
59if:
60  not:
61    properties:
62      compatible:
63        contains:
64          const: renesas,sata-r8a7779
65then:
66  required:
67    - resets
68
69additionalProperties: false
70
71examples:
72  - |
73    #include <dt-bindings/clock/r8a7791-cpg-mssr.h>
74    #include <dt-bindings/interrupt-controller/arm-gic.h>
75    #include <dt-bindings/power/r8a7791-sysc.h>
76
77    sata@ee300000 {
78            compatible = "renesas,sata-r8a7791", "renesas,rcar-gen2-sata";
79            reg = <0xee300000 0x200000>;
80            interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
81            clocks = <&cpg CPG_MOD 815>;
82            power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
83            resets = <&cpg 815>;
84    };
85