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/memory-controllers/renesas,rpc-if.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: Renesas Reduced Pin Count Interface (RPC-IF) 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmaintainers: 10*4882a593Smuzhiyun - Sergei Shtylyov <sergei.shtylyov@gmail.com> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyundescription: | 13*4882a593Smuzhiyun Renesas RPC-IF allows a SPI flash or HyperFlash connected to the SoC to 14*4882a593Smuzhiyun be accessed via the external address space read mode or the manual mode. 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun The flash chip itself should be represented by a subnode of the RPC-IF node. 17*4882a593Smuzhiyun The flash interface is selected based on the "compatible" property of this 18*4882a593Smuzhiyun subnode: 19*4882a593Smuzhiyun - if it contains "jedec,spi-nor", then SPI is used; 20*4882a593Smuzhiyun - if it contains "cfi-flash", then HyperFlash is used. 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunallOf: 23*4882a593Smuzhiyun - $ref: "/schemas/spi/spi-controller.yaml#" 24*4882a593Smuzhiyun 25*4882a593Smuzhiyunproperties: 26*4882a593Smuzhiyun compatible: 27*4882a593Smuzhiyun items: 28*4882a593Smuzhiyun - enum: 29*4882a593Smuzhiyun - renesas,r8a77970-rpc-if # R-Car V3M 30*4882a593Smuzhiyun - renesas,r8a77980-rpc-if # R-Car V3H 31*4882a593Smuzhiyun - renesas,r8a77995-rpc-if # R-Car D3 32*4882a593Smuzhiyun - const: renesas,rcar-gen3-rpc-if # a generic R-Car gen3 device 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun reg: 35*4882a593Smuzhiyun items: 36*4882a593Smuzhiyun - description: RPC-IF registers 37*4882a593Smuzhiyun - description: direct mapping read mode area 38*4882a593Smuzhiyun - description: write buffer area 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun reg-names: 41*4882a593Smuzhiyun items: 42*4882a593Smuzhiyun - const: regs 43*4882a593Smuzhiyun - const: dirmap 44*4882a593Smuzhiyun - const: wbuf 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun clocks: 47*4882a593Smuzhiyun maxItems: 1 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun power-domains: 50*4882a593Smuzhiyun maxItems: 1 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun resets: 53*4882a593Smuzhiyun maxItems: 1 54*4882a593Smuzhiyun 55*4882a593SmuzhiyunpatternProperties: 56*4882a593Smuzhiyun "flash@[0-9a-f]+$": 57*4882a593Smuzhiyun type: object 58*4882a593Smuzhiyun properties: 59*4882a593Smuzhiyun compatible: 60*4882a593Smuzhiyun enum: 61*4882a593Smuzhiyun - cfi-flash 62*4882a593Smuzhiyun - jedec,spi-nor 63*4882a593Smuzhiyun 64*4882a593SmuzhiyununevaluatedProperties: false 65*4882a593Smuzhiyun 66*4882a593Smuzhiyunexamples: 67*4882a593Smuzhiyun - | 68*4882a593Smuzhiyun #include <dt-bindings/clock/renesas-cpg-mssr.h> 69*4882a593Smuzhiyun #include <dt-bindings/power/r8a77995-sysc.h> 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun spi@ee200000 { 72*4882a593Smuzhiyun compatible = "renesas,r8a77995-rpc-if", "renesas,rcar-gen3-rpc-if"; 73*4882a593Smuzhiyun reg = <0xee200000 0x200>, 74*4882a593Smuzhiyun <0x08000000 0x4000000>, 75*4882a593Smuzhiyun <0xee208000 0x100>; 76*4882a593Smuzhiyun reg-names = "regs", "dirmap", "wbuf"; 77*4882a593Smuzhiyun clocks = <&cpg CPG_MOD 917>; 78*4882a593Smuzhiyun power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; 79*4882a593Smuzhiyun resets = <&cpg 917>; 80*4882a593Smuzhiyun #address-cells = <1>; 81*4882a593Smuzhiyun #size-cells = <0>; 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun flash@0 { 84*4882a593Smuzhiyun compatible = "jedec,spi-nor"; 85*4882a593Smuzhiyun reg = <0>; 86*4882a593Smuzhiyun spi-max-frequency = <40000000>; 87*4882a593Smuzhiyun spi-tx-bus-width = <1>; 88*4882a593Smuzhiyun spi-rx-bus-width = <1>; 89*4882a593Smuzhiyun }; 90*4882a593Smuzhiyun }; 91