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