1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/memory-controllers/renesas,rzg3e-xspi.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Renesas Expanded Serial Peripheral Interface (xSPI) 8 9maintainers: 10 - Biju Das <biju.das.jz@bp.renesas.com> 11 12description: | 13 Renesas xSPI allows a SPI flash connected to the SoC to be accessed via 14 the memory-mapping or the manual command mode. 15 16 The flash chip itself should be represented by a subnode of the XSPI node. 17 The flash interface is selected based on the "compatible" property of this 18 subnode: 19 - "jedec,spi-nor"; 20 21allOf: 22 - $ref: /schemas/spi/spi-controller.yaml# 23 24properties: 25 compatible: 26 oneOf: 27 - const: renesas,r9a09g047-xspi # RZ/G3E 28 29 - items: 30 - enum: 31 - renesas,r9a09g056-xspi # RZ/V2N 32 - renesas,r9a09g057-xspi # RZ/V2H(P) 33 - const: renesas,r9a09g047-xspi 34 35 reg: 36 items: 37 - description: xSPI registers 38 - description: direct mapping area 39 40 reg-names: 41 items: 42 - const: regs 43 - const: dirmap 44 45 interrupts: 46 items: 47 - description: Interrupt pulse signal by factors excluding errors 48 - description: Interrupt pulse signal by error factors 49 50 interrupt-names: 51 items: 52 - const: pulse 53 - const: err_pulse 54 55 clocks: 56 items: 57 - description: AHB clock 58 - description: AXI clock 59 - description: SPI clock 60 - description: Double speed SPI clock 61 62 clock-names: 63 items: 64 - const: ahb 65 - const: axi 66 - const: spi 67 - const: spix2 68 69 power-domains: 70 maxItems: 1 71 72 resets: 73 items: 74 - description: Hardware reset 75 - description: AXI reset 76 77 reset-names: 78 items: 79 - const: hresetn 80 - const: aresetn 81 82 renesas,xspi-cs-addr-sys: 83 $ref: /schemas/types.yaml#/definitions/phandle 84 description: | 85 Phandle to the system controller (sys) that allows to configure 86 xSPI CS0 and CS1 addresses. 87 88patternProperties: 89 "flash@[0-9a-f]+$": 90 type: object 91 additionalProperties: true 92 93 properties: 94 compatible: 95 contains: 96 const: jedec,spi-nor 97 98required: 99 - compatible 100 - reg 101 - reg-names 102 - interrupts 103 - interrupt-names 104 - clocks 105 - clock-names 106 - power-domains 107 - resets 108 - reset-names 109 - '#address-cells' 110 - '#size-cells' 111 112unevaluatedProperties: false 113 114examples: 115 - | 116 #include <dt-bindings/interrupt-controller/arm-gic.h> 117 #include <dt-bindings/clock/renesas,r9a09g047-cpg.h> 118 119 spi@11030000 { 120 compatible = "renesas,r9a09g047-xspi"; 121 reg = <0x11030000 0x10000>, <0x20000000 0x10000000>; 122 reg-names = "regs", "dirmap"; 123 interrupts = <GIC_SPI 228 IRQ_TYPE_EDGE_RISING>, 124 <GIC_SPI 229 IRQ_TYPE_EDGE_RISING>; 125 interrupt-names = "pulse", "err_pulse"; 126 clocks = <&cpg CPG_MOD 0x9f>, <&cpg CPG_MOD 0xa0>, 127 <&cpg CPG_CORE 9>, <&cpg CPG_MOD 0xa1>; 128 clock-names = "ahb", "axi", "spi", "spix2"; 129 power-domains = <&cpg>; 130 resets = <&cpg 0xa3>, <&cpg 0xa4>; 131 reset-names = "hresetn", "aresetn"; 132 #address-cells = <1>; 133 #size-cells = <0>; 134 135 flash@0 { 136 compatible = "jedec,spi-nor"; 137 reg = <0>; 138 spi-max-frequency = <40000000>; 139 spi-tx-bus-width = <1>; 140 spi-rx-bus-width = <1>; 141 }; 142 }; 143