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/memory-controllers/renesas,rpc-if.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: Renesas Reduced Pin Count Interface (RPC-IF) 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Sergei Shtylyov <sergei.shtylyov@gmail.com> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotdescription: | 13c66ec88fSEmmanuel Vadot Renesas RPC-IF allows a SPI flash or HyperFlash connected to the SoC to 14c66ec88fSEmmanuel Vadot be accessed via the external address space read mode or the manual mode. 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot The flash chip itself should be represented by a subnode of the RPC-IF node. 17c66ec88fSEmmanuel Vadot The flash interface is selected based on the "compatible" property of this 18c66ec88fSEmmanuel Vadot subnode: 19c66ec88fSEmmanuel Vadot - if it contains "jedec,spi-nor", then SPI is used; 20c66ec88fSEmmanuel Vadot - if it contains "cfi-flash", then HyperFlash is used. 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel VadotallOf: 23fac71e4eSEmmanuel Vadot - $ref: /schemas/spi/spi-controller.yaml# 24c66ec88fSEmmanuel Vadot 25c66ec88fSEmmanuel Vadotproperties: 26c66ec88fSEmmanuel Vadot compatible: 27e67e8565SEmmanuel Vadot oneOf: 28e67e8565SEmmanuel Vadot - items: 29c66ec88fSEmmanuel Vadot - enum: 305def4c47SEmmanuel Vadot - renesas,r8a774a1-rpc-if # RZ/G2M 315def4c47SEmmanuel Vadot - renesas,r8a774b1-rpc-if # RZ/G2N 325def4c47SEmmanuel Vadot - renesas,r8a774c0-rpc-if # RZ/G2E 335def4c47SEmmanuel Vadot - renesas,r8a774e1-rpc-if # RZ/G2H 34d5b0e70fSEmmanuel Vadot - renesas,r8a7795-rpc-if # R-Car H3 35d5b0e70fSEmmanuel Vadot - renesas,r8a7796-rpc-if # R-Car M3-W 36d5b0e70fSEmmanuel Vadot - renesas,r8a77961-rpc-if # R-Car M3-W+ 37d5b0e70fSEmmanuel Vadot - renesas,r8a77965-rpc-if # R-Car M3-N 38c66ec88fSEmmanuel Vadot - renesas,r8a77970-rpc-if # R-Car V3M 39c66ec88fSEmmanuel Vadot - renesas,r8a77980-rpc-if # R-Car V3H 40d5b0e70fSEmmanuel Vadot - renesas,r8a77990-rpc-if # R-Car E3 41c66ec88fSEmmanuel Vadot - renesas,r8a77995-rpc-if # R-Car D3 428cc087a1SEmmanuel Vadot - renesas,r8a779a0-rpc-if # R-Car V3U 43e67e8565SEmmanuel Vadot - const: renesas,rcar-gen3-rpc-if # a generic R-Car gen3 or RZ/G2{E,H,M,N} device 44e67e8565SEmmanuel Vadot 45e67e8565SEmmanuel Vadot - items: 46e67e8565SEmmanuel Vadot - enum: 478bab661aSEmmanuel Vadot - renesas,r8a779g0-rpc-if # R-Car V4H 4801950c46SEmmanuel Vadot - renesas,r8a779h0-rpc-if # R-Car V4M 498bab661aSEmmanuel Vadot - const: renesas,rcar-gen4-rpc-if # a generic R-Car gen4 device 508bab661aSEmmanuel Vadot 518bab661aSEmmanuel Vadot - items: 528bab661aSEmmanuel Vadot - enum: 53d5b0e70fSEmmanuel Vadot - renesas,r9a07g043-rpc-if # RZ/G2UL 54e67e8565SEmmanuel Vadot - renesas,r9a07g044-rpc-if # RZ/G2{L,LC} 55c9ccf3a3SEmmanuel Vadot - renesas,r9a07g054-rpc-if # RZ/V2L 56c9ccf3a3SEmmanuel Vadot - const: renesas,rzg2l-rpc-if 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot reg: 59c66ec88fSEmmanuel Vadot items: 60c66ec88fSEmmanuel Vadot - description: RPC-IF registers 61c66ec88fSEmmanuel Vadot - description: direct mapping read mode area 62c66ec88fSEmmanuel Vadot - description: write buffer area 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot reg-names: 65c66ec88fSEmmanuel Vadot items: 66c66ec88fSEmmanuel Vadot - const: regs 67c66ec88fSEmmanuel Vadot - const: dirmap 68c66ec88fSEmmanuel Vadot - const: wbuf 69c66ec88fSEmmanuel Vadot 70*b2d2a78aSEmmanuel Vadot clocks: 71*b2d2a78aSEmmanuel Vadot minItems: 1 72*b2d2a78aSEmmanuel Vadot maxItems: 2 73e67e8565SEmmanuel Vadot 74e67e8565SEmmanuel Vadot interrupts: 75c66ec88fSEmmanuel Vadot maxItems: 1 76c66ec88fSEmmanuel Vadot 77c66ec88fSEmmanuel Vadot power-domains: 78c66ec88fSEmmanuel Vadot maxItems: 1 79c66ec88fSEmmanuel Vadot 80c66ec88fSEmmanuel Vadot resets: 81c66ec88fSEmmanuel Vadot maxItems: 1 82c66ec88fSEmmanuel Vadot 83c66ec88fSEmmanuel VadotpatternProperties: 84c66ec88fSEmmanuel Vadot "flash@[0-9a-f]+$": 85c66ec88fSEmmanuel Vadot type: object 8684943d6fSEmmanuel Vadot additionalProperties: true 8784943d6fSEmmanuel Vadot 88c66ec88fSEmmanuel Vadot properties: 89c66ec88fSEmmanuel Vadot compatible: 90354d7675SEmmanuel Vadot contains: 91c66ec88fSEmmanuel Vadot enum: 92c66ec88fSEmmanuel Vadot - cfi-flash 93c66ec88fSEmmanuel Vadot - jedec,spi-nor 94c66ec88fSEmmanuel Vadot 95354d7675SEmmanuel Vadotrequired: 96354d7675SEmmanuel Vadot - compatible 97354d7675SEmmanuel Vadot - reg 98354d7675SEmmanuel Vadot - reg-names 99354d7675SEmmanuel Vadot - clocks 100354d7675SEmmanuel Vadot - power-domains 101354d7675SEmmanuel Vadot - resets 102354d7675SEmmanuel Vadot - '#address-cells' 103354d7675SEmmanuel Vadot - '#size-cells' 104354d7675SEmmanuel Vadot 105e67e8565SEmmanuel Vadotif: 106e67e8565SEmmanuel Vadot properties: 107e67e8565SEmmanuel Vadot compatible: 108e67e8565SEmmanuel Vadot contains: 109e67e8565SEmmanuel Vadot enum: 110e67e8565SEmmanuel Vadot - renesas,rzg2l-rpc-if 111e67e8565SEmmanuel Vadotthen: 112e67e8565SEmmanuel Vadot properties: 113e67e8565SEmmanuel Vadot clocks: 114e67e8565SEmmanuel Vadot items: 115e67e8565SEmmanuel Vadot - description: SPI Multi IO Register access clock (SPI_CLK2) 116e67e8565SEmmanuel Vadot - description: SPI Multi IO Main clock (SPI_CLK). 117e67e8565SEmmanuel Vadot 118e67e8565SEmmanuel Vadotelse: 119e67e8565SEmmanuel Vadot properties: 120e67e8565SEmmanuel Vadot clocks: 121e67e8565SEmmanuel Vadot maxItems: 1 122e67e8565SEmmanuel Vadot 123e67e8565SEmmanuel VadotunevaluatedProperties: false 124e67e8565SEmmanuel Vadot 125c66ec88fSEmmanuel Vadotexamples: 126c66ec88fSEmmanuel Vadot - | 127c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/renesas-cpg-mssr.h> 128c66ec88fSEmmanuel Vadot #include <dt-bindings/power/r8a77995-sysc.h> 129c66ec88fSEmmanuel Vadot 130c66ec88fSEmmanuel Vadot spi@ee200000 { 131c66ec88fSEmmanuel Vadot compatible = "renesas,r8a77995-rpc-if", "renesas,rcar-gen3-rpc-if"; 132c66ec88fSEmmanuel Vadot reg = <0xee200000 0x200>, 133c66ec88fSEmmanuel Vadot <0x08000000 0x4000000>, 134c66ec88fSEmmanuel Vadot <0xee208000 0x100>; 135c66ec88fSEmmanuel Vadot reg-names = "regs", "dirmap", "wbuf"; 136c66ec88fSEmmanuel Vadot clocks = <&cpg CPG_MOD 917>; 137c66ec88fSEmmanuel Vadot power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; 138c66ec88fSEmmanuel Vadot resets = <&cpg 917>; 139c66ec88fSEmmanuel Vadot #address-cells = <1>; 140c66ec88fSEmmanuel Vadot #size-cells = <0>; 141c66ec88fSEmmanuel Vadot 142c66ec88fSEmmanuel Vadot flash@0 { 143c66ec88fSEmmanuel Vadot compatible = "jedec,spi-nor"; 144c66ec88fSEmmanuel Vadot reg = <0>; 145c66ec88fSEmmanuel Vadot spi-max-frequency = <40000000>; 146c66ec88fSEmmanuel Vadot spi-tx-bus-width = <1>; 147c66ec88fSEmmanuel Vadot spi-rx-bus-width = <1>; 148c66ec88fSEmmanuel Vadot }; 149c66ec88fSEmmanuel Vadot }; 150