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