xref: /freebsd/sys/contrib/device-tree/Bindings/spi/renesas,rspi.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/spi/renesas,rspi.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Renesas (Quad) Serial Peripheral Interface (RSPI/QSPI)
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Geert Uytterhoeven <geert+renesas@glider.be>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotproperties:
13c66ec88fSEmmanuel Vadot  compatible:
14c66ec88fSEmmanuel Vadot    oneOf:
15c66ec88fSEmmanuel Vadot      - items:
16c66ec88fSEmmanuel Vadot          - enum:
17c66ec88fSEmmanuel Vadot              - renesas,rspi-sh7757    # SH7757
18c66ec88fSEmmanuel Vadot          - const: renesas,rspi        # Legacy SH
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadot      - items:
21c66ec88fSEmmanuel Vadot          - enum:
22c66ec88fSEmmanuel Vadot              - renesas,rspi-r7s72100  # RZ/A1H
23c66ec88fSEmmanuel Vadot              - renesas,rspi-r7s9210   # RZ/A2
24*8d13bc63SEmmanuel Vadot              - renesas,r9a07g043-rspi # RZ/G2UL and RZ/Five
25e67e8565SEmmanuel Vadot              - renesas,r9a07g044-rspi # RZ/G2{L,LC}
26c9ccf3a3SEmmanuel Vadot              - renesas,r9a07g054-rspi # RZ/V2L
27c9ccf3a3SEmmanuel Vadot          - const: renesas,rspi-rz
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel Vadot      - items:
30c66ec88fSEmmanuel Vadot          - enum:
316be33864SEmmanuel Vadot              - renesas,qspi-r8a7742   # RZ/G1H
32c66ec88fSEmmanuel Vadot              - renesas,qspi-r8a7743   # RZ/G1M
33c66ec88fSEmmanuel Vadot              - renesas,qspi-r8a7744   # RZ/G1N
34c66ec88fSEmmanuel Vadot              - renesas,qspi-r8a7745   # RZ/G1E
35c66ec88fSEmmanuel Vadot              - renesas,qspi-r8a77470  # RZ/G1C
36c66ec88fSEmmanuel Vadot              - renesas,qspi-r8a7790   # R-Car H2
37c66ec88fSEmmanuel Vadot              - renesas,qspi-r8a7791   # R-Car M2-W
38c66ec88fSEmmanuel Vadot              - renesas,qspi-r8a7792   # R-Car V2H
39c66ec88fSEmmanuel Vadot              - renesas,qspi-r8a7793   # R-Car M2-N
40c66ec88fSEmmanuel Vadot              - renesas,qspi-r8a7794   # R-Car E2
41c66ec88fSEmmanuel Vadot          - const: renesas,qspi        # R-Car Gen2 and RZ/G1
42c66ec88fSEmmanuel Vadot
43c66ec88fSEmmanuel Vadot  reg:
44c66ec88fSEmmanuel Vadot    maxItems: 1
45c66ec88fSEmmanuel Vadot
46c66ec88fSEmmanuel Vadot  interrupts:
47c66ec88fSEmmanuel Vadot    oneOf:
48c66ec88fSEmmanuel Vadot      - items:
49c66ec88fSEmmanuel Vadot          - description: A combined interrupt
50c66ec88fSEmmanuel Vadot      - items:
51c66ec88fSEmmanuel Vadot          - description: Error interrupt (SPEI)
52c66ec88fSEmmanuel Vadot          - description: Receive Interrupt (SPRI)
53c66ec88fSEmmanuel Vadot          - description: Transmit Interrupt (SPTI)
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot  interrupt-names:
56c66ec88fSEmmanuel Vadot    oneOf:
57c66ec88fSEmmanuel Vadot      - items:
58c66ec88fSEmmanuel Vadot          - const: mux
59c66ec88fSEmmanuel Vadot      - items:
60c66ec88fSEmmanuel Vadot          - const: error
61c66ec88fSEmmanuel Vadot          - const: rx
62c66ec88fSEmmanuel Vadot          - const: tx
63c66ec88fSEmmanuel Vadot
64c66ec88fSEmmanuel Vadot  clocks:
65c66ec88fSEmmanuel Vadot    maxItems: 1
66c66ec88fSEmmanuel Vadot
67c66ec88fSEmmanuel Vadot  power-domains:
68c66ec88fSEmmanuel Vadot    maxItems: 1
69c66ec88fSEmmanuel Vadot
70c66ec88fSEmmanuel Vadot  resets:
71c66ec88fSEmmanuel Vadot    maxItems: 1
72c66ec88fSEmmanuel Vadot
73c66ec88fSEmmanuel Vadot  dmas:
745def4c47SEmmanuel Vadot    minItems: 2
755def4c47SEmmanuel Vadot    maxItems: 4
76c66ec88fSEmmanuel Vadot    description:
77c66ec88fSEmmanuel Vadot      Must contain a list of pairs of references to DMA specifiers, one for
78c66ec88fSEmmanuel Vadot      transmission, and one for reception.
79c66ec88fSEmmanuel Vadot
80c66ec88fSEmmanuel Vadot  dma-names:
81c66ec88fSEmmanuel Vadot    minItems: 2
82c66ec88fSEmmanuel Vadot    maxItems: 4
83c66ec88fSEmmanuel Vadot    items:
84c66ec88fSEmmanuel Vadot      enum:
85c66ec88fSEmmanuel Vadot        - tx
86c66ec88fSEmmanuel Vadot        - rx
87c66ec88fSEmmanuel Vadot
88c66ec88fSEmmanuel Vadot  num-cs:
89c66ec88fSEmmanuel Vadot    description: |
90c66ec88fSEmmanuel Vadot      Total number of native chip selects.
91c66ec88fSEmmanuel Vadot      Hardware limitations related to chip selects:
92c66ec88fSEmmanuel Vadot        - When using GPIO chip selects, at least one native chip select must
93c66ec88fSEmmanuel Vadot          be left unused, as it will be driven anyway.
94c66ec88fSEmmanuel Vadot    minimum: 1
95c66ec88fSEmmanuel Vadot    maximum: 2
96c66ec88fSEmmanuel Vadot    default: 1
97c66ec88fSEmmanuel Vadot
98c66ec88fSEmmanuel Vadotrequired:
99c66ec88fSEmmanuel Vadot  - compatible
100c66ec88fSEmmanuel Vadot  - reg
101c66ec88fSEmmanuel Vadot  - interrupts
102c66ec88fSEmmanuel Vadot  - clocks
103c66ec88fSEmmanuel Vadot  - power-domains
104c66ec88fSEmmanuel Vadot  - '#address-cells'
105c66ec88fSEmmanuel Vadot  - '#size-cells'
106c66ec88fSEmmanuel Vadot
107c66ec88fSEmmanuel VadotallOf:
108c66ec88fSEmmanuel Vadot  - $ref: spi-controller.yaml#
109c66ec88fSEmmanuel Vadot  - if:
110c66ec88fSEmmanuel Vadot      properties:
111c66ec88fSEmmanuel Vadot        compatible:
112c66ec88fSEmmanuel Vadot          contains:
113c66ec88fSEmmanuel Vadot            enum:
114c66ec88fSEmmanuel Vadot              - renesas,rspi-rz
115c66ec88fSEmmanuel Vadot    then:
116c66ec88fSEmmanuel Vadot      properties:
117c66ec88fSEmmanuel Vadot        interrupts:
118c66ec88fSEmmanuel Vadot          minItems: 3
119c66ec88fSEmmanuel Vadot      required:
120c66ec88fSEmmanuel Vadot        - interrupt-names
121c66ec88fSEmmanuel Vadot
122c66ec88fSEmmanuel Vadot  - if:
123c66ec88fSEmmanuel Vadot      properties:
124c66ec88fSEmmanuel Vadot        compatible:
125c66ec88fSEmmanuel Vadot          contains:
126c66ec88fSEmmanuel Vadot            enum:
127c66ec88fSEmmanuel Vadot              - renesas,qspi
128d5b0e70fSEmmanuel Vadot              - renesas,r9a07g043-rspi
129e67e8565SEmmanuel Vadot              - renesas,r9a07g044-rspi
130c9ccf3a3SEmmanuel Vadot              - renesas,r9a07g054-rspi
131c66ec88fSEmmanuel Vadot    then:
132c66ec88fSEmmanuel Vadot      required:
133c66ec88fSEmmanuel Vadot        - resets
134c66ec88fSEmmanuel Vadot
1356be33864SEmmanuel VadotunevaluatedProperties: false
1366be33864SEmmanuel Vadot
137c66ec88fSEmmanuel Vadotexamples:
138c66ec88fSEmmanuel Vadot  - |
139c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/r8a7791-cpg-mssr.h>
140c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
141c66ec88fSEmmanuel Vadot    #include <dt-bindings/power/r8a7791-sysc.h>
142c66ec88fSEmmanuel Vadot
143c66ec88fSEmmanuel Vadot    qspi: spi@e6b10000 {
144c66ec88fSEmmanuel Vadot        compatible = "renesas,qspi-r8a7791", "renesas,qspi";
145c66ec88fSEmmanuel Vadot        reg = <0xe6b10000 0x2c>;
146c66ec88fSEmmanuel Vadot        interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
147c66ec88fSEmmanuel Vadot        clocks = <&cpg CPG_MOD 917>;
148c66ec88fSEmmanuel Vadot        dmas = <&dmac0 0x17>, <&dmac0 0x18>, <&dmac1 0x17>, <&dmac1 0x18>;
149c66ec88fSEmmanuel Vadot        dma-names = "tx", "rx", "tx", "rx";
150c66ec88fSEmmanuel Vadot        power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
151c66ec88fSEmmanuel Vadot        resets = <&cpg 917>;
152c66ec88fSEmmanuel Vadot        num-cs = <1>;
153c66ec88fSEmmanuel Vadot        #address-cells = <1>;
154c66ec88fSEmmanuel Vadot        #size-cells = <0>;
155c66ec88fSEmmanuel Vadot    };
156