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