1ab1c3620SSergei Shtylyov# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2ab1c3620SSergei Shtylyov%YAML 1.2 3ab1c3620SSergei Shtylyov--- 4ab1c3620SSergei Shtylyov$id: http://devicetree.org/schemas/memory-controllers/renesas,rpc-if.yaml# 5ab1c3620SSergei Shtylyov$schema: http://devicetree.org/meta-schemas/core.yaml# 6ab1c3620SSergei Shtylyov 7ab1c3620SSergei Shtylyovtitle: Renesas Reduced Pin Count Interface (RPC-IF) 8ab1c3620SSergei Shtylyov 9ab1c3620SSergei Shtylyovmaintainers: 10ab1c3620SSergei Shtylyov - Sergei Shtylyov <sergei.shtylyov@gmail.com> 11ab1c3620SSergei Shtylyov 12ab1c3620SSergei Shtylyovdescription: | 13ab1c3620SSergei Shtylyov Renesas RPC-IF allows a SPI flash or HyperFlash connected to the SoC to 14ab1c3620SSergei Shtylyov be accessed via the external address space read mode or the manual mode. 15ab1c3620SSergei Shtylyov 16ab1c3620SSergei Shtylyov The flash chip itself should be represented by a subnode of the RPC-IF node. 17ab1c3620SSergei Shtylyov The flash interface is selected based on the "compatible" property of this 18ab1c3620SSergei Shtylyov subnode: 19ab1c3620SSergei Shtylyov - if it contains "jedec,spi-nor", then SPI is used; 20ab1c3620SSergei Shtylyov - if it contains "cfi-flash", then HyperFlash is used. 21ab1c3620SSergei Shtylyov 22ab1c3620SSergei ShtylyovallOf: 2369d170c4SRob Herring - $ref: /schemas/spi/spi-controller.yaml# 24ab1c3620SSergei Shtylyov 25ab1c3620SSergei Shtylyovproperties: 26ab1c3620SSergei Shtylyov compatible: 27c271aa1fSLad Prabhakar oneOf: 28c271aa1fSLad Prabhakar - items: 29ab1c3620SSergei Shtylyov - enum: 308e919918SAdam Ford - renesas,r8a774a1-rpc-if # RZ/G2M 318e919918SAdam Ford - renesas,r8a774b1-rpc-if # RZ/G2N 328e919918SAdam Ford - renesas,r8a774c0-rpc-if # RZ/G2E 338e919918SAdam Ford - renesas,r8a774e1-rpc-if # RZ/G2H 348f0e3af8SGeert Uytterhoeven - renesas,r8a7795-rpc-if # R-Car H3 358f0e3af8SGeert Uytterhoeven - renesas,r8a7796-rpc-if # R-Car M3-W 368f0e3af8SGeert Uytterhoeven - renesas,r8a77961-rpc-if # R-Car M3-W+ 378f0e3af8SGeert Uytterhoeven - renesas,r8a77965-rpc-if # R-Car M3-N 38ab1c3620SSergei Shtylyov - renesas,r8a77970-rpc-if # R-Car V3M 39ab1c3620SSergei Shtylyov - renesas,r8a77980-rpc-if # R-Car V3H 408f0e3af8SGeert Uytterhoeven - renesas,r8a77990-rpc-if # R-Car E3 41ab1c3620SSergei Shtylyov - renesas,r8a77995-rpc-if # R-Car D3 42797f0827SWolfram Sang - renesas,r8a779a0-rpc-if # R-Car V3U 43c271aa1fSLad Prabhakar - const: renesas,rcar-gen3-rpc-if # a generic R-Car gen3 or RZ/G2{E,H,M,N} device 44c271aa1fSLad Prabhakar 45c271aa1fSLad Prabhakar - items: 46c271aa1fSLad Prabhakar - enum: 47fad9489aSHai Pham - renesas,r8a779g0-rpc-if # R-Car V4H 48fdb88a14SGeert Uytterhoeven - renesas,r8a779h0-rpc-if # R-Car V4M 49fad9489aSHai Pham - const: renesas,rcar-gen4-rpc-if # a generic R-Car gen4 device 50fad9489aSHai Pham 51fad9489aSHai Pham - items: 52fad9489aSHai Pham - enum: 535652dc5cSBiju Das - renesas,r9a07g043-rpc-if # RZ/G2UL 54c271aa1fSLad Prabhakar - renesas,r9a07g044-rpc-if # RZ/G2{L,LC} 5569d69419SLad Prabhakar - renesas,r9a07g054-rpc-if # RZ/V2L 5669d69419SLad Prabhakar - const: renesas,rzg2l-rpc-if 57ab1c3620SSergei Shtylyov 58ab1c3620SSergei Shtylyov reg: 59ab1c3620SSergei Shtylyov items: 60ab1c3620SSergei Shtylyov - description: RPC-IF registers 61ab1c3620SSergei Shtylyov - description: direct mapping read mode area 62ab1c3620SSergei Shtylyov - description: write buffer area 63ab1c3620SSergei Shtylyov 64ab1c3620SSergei Shtylyov reg-names: 65ab1c3620SSergei Shtylyov items: 66ab1c3620SSergei Shtylyov - const: regs 67ab1c3620SSergei Shtylyov - const: dirmap 68ab1c3620SSergei Shtylyov - const: wbuf 69ab1c3620SSergei Shtylyov 70*eba8a7b0SKrzysztof Kozlowski clocks: 71*eba8a7b0SKrzysztof Kozlowski minItems: 1 72*eba8a7b0SKrzysztof Kozlowski maxItems: 2 73ab1c3620SSergei Shtylyov 744b5a231fSLad Prabhakar interrupts: 754b5a231fSLad Prabhakar maxItems: 1 764b5a231fSLad Prabhakar 77ab1c3620SSergei Shtylyov power-domains: 78ab1c3620SSergei Shtylyov maxItems: 1 79ab1c3620SSergei Shtylyov 80ab1c3620SSergei Shtylyov resets: 81ab1c3620SSergei Shtylyov maxItems: 1 82ab1c3620SSergei Shtylyov 83ab1c3620SSergei ShtylyovpatternProperties: 84ab1c3620SSergei Shtylyov "flash@[0-9a-f]+$": 85ab1c3620SSergei Shtylyov type: object 86387bb6fdSRob Herring additionalProperties: true 87387bb6fdSRob Herring 88ab1c3620SSergei Shtylyov properties: 89ab1c3620SSergei Shtylyov compatible: 90dbe60e5dSGeert Uytterhoeven contains: 91ab1c3620SSergei Shtylyov enum: 92ab1c3620SSergei Shtylyov - cfi-flash 93ab1c3620SSergei Shtylyov - jedec,spi-nor 94ab1c3620SSergei Shtylyov 95dbe60e5dSGeert Uytterhoevenrequired: 96dbe60e5dSGeert Uytterhoeven - compatible 97dbe60e5dSGeert Uytterhoeven - reg 98dbe60e5dSGeert Uytterhoeven - reg-names 99dbe60e5dSGeert Uytterhoeven - clocks 100dbe60e5dSGeert Uytterhoeven - power-domains 101dbe60e5dSGeert Uytterhoeven - resets 102dbe60e5dSGeert Uytterhoeven - '#address-cells' 103dbe60e5dSGeert Uytterhoeven - '#size-cells' 104dbe60e5dSGeert Uytterhoeven 105c271aa1fSLad Prabhakarif: 106c271aa1fSLad Prabhakar properties: 107c271aa1fSLad Prabhakar compatible: 108c271aa1fSLad Prabhakar contains: 109c271aa1fSLad Prabhakar enum: 110c271aa1fSLad Prabhakar - renesas,rzg2l-rpc-if 111c271aa1fSLad Prabhakarthen: 112c271aa1fSLad Prabhakar properties: 113c271aa1fSLad Prabhakar clocks: 114c271aa1fSLad Prabhakar items: 115c271aa1fSLad Prabhakar - description: SPI Multi IO Register access clock (SPI_CLK2) 116c271aa1fSLad Prabhakar - description: SPI Multi IO Main clock (SPI_CLK). 117c271aa1fSLad Prabhakar 118c271aa1fSLad Prabhakarelse: 119c271aa1fSLad Prabhakar properties: 120c271aa1fSLad Prabhakar clocks: 121c271aa1fSLad Prabhakar maxItems: 1 122c271aa1fSLad Prabhakar 123c271aa1fSLad PrabhakarunevaluatedProperties: false 124c271aa1fSLad Prabhakar 125ab1c3620SSergei Shtylyovexamples: 126ab1c3620SSergei Shtylyov - | 127ab1c3620SSergei Shtylyov #include <dt-bindings/clock/renesas-cpg-mssr.h> 128ab1c3620SSergei Shtylyov #include <dt-bindings/power/r8a77995-sysc.h> 129ab1c3620SSergei Shtylyov 130ab1c3620SSergei Shtylyov spi@ee200000 { 131ab1c3620SSergei Shtylyov compatible = "renesas,r8a77995-rpc-if", "renesas,rcar-gen3-rpc-if"; 132ab1c3620SSergei Shtylyov reg = <0xee200000 0x200>, 133ab1c3620SSergei Shtylyov <0x08000000 0x4000000>, 134ab1c3620SSergei Shtylyov <0xee208000 0x100>; 135ab1c3620SSergei Shtylyov reg-names = "regs", "dirmap", "wbuf"; 136ab1c3620SSergei Shtylyov clocks = <&cpg CPG_MOD 917>; 137ab1c3620SSergei Shtylyov power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; 138ab1c3620SSergei Shtylyov resets = <&cpg 917>; 139ab1c3620SSergei Shtylyov #address-cells = <1>; 140ab1c3620SSergei Shtylyov #size-cells = <0>; 141ab1c3620SSergei Shtylyov 142ab1c3620SSergei Shtylyov flash@0 { 143ab1c3620SSergei Shtylyov compatible = "jedec,spi-nor"; 144ab1c3620SSergei Shtylyov reg = <0>; 145ab1c3620SSergei Shtylyov spi-max-frequency = <40000000>; 146ab1c3620SSergei Shtylyov spi-tx-bus-width = <1>; 147ab1c3620SSergei Shtylyov spi-rx-bus-width = <1>; 148ab1c3620SSergei Shtylyov }; 149ab1c3620SSergei Shtylyov }; 150