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