# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/memory-controllers/renesas,rpc-if.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Renesas Reduced Pin Count Interface (RPC-IF) maintainers: - Sergei Shtylyov <sergei.shtylyov@gmail.com> description: | Renesas RPC-IF allows a SPI flash or HyperFlash connected to the SoC to be accessed via the external address space read mode or the manual mode. The flash chip itself should be represented by a subnode of the RPC-IF node. The flash interface is selected based on the "compatible" property of this subnode: - if it contains "jedec,spi-nor", then SPI is used; - if it contains "cfi-flash", then HyperFlash is used. allOf: - $ref: /schemas/spi/spi-controller.yaml# properties: compatible: oneOf: - items: - enum: - renesas,r8a774a1-rpc-if # RZ/G2M - renesas,r8a774b1-rpc-if # RZ/G2N - renesas,r8a774c0-rpc-if # RZ/G2E - renesas,r8a774e1-rpc-if # RZ/G2H - renesas,r8a7795-rpc-if # R-Car H3 - renesas,r8a7796-rpc-if # R-Car M3-W - renesas,r8a77961-rpc-if # R-Car M3-W+ - renesas,r8a77965-rpc-if # R-Car M3-N - renesas,r8a77970-rpc-if # R-Car V3M - renesas,r8a77980-rpc-if # R-Car V3H - renesas,r8a77990-rpc-if # R-Car E3 - renesas,r8a77995-rpc-if # R-Car D3 - renesas,r8a779a0-rpc-if # R-Car V3U - const: renesas,rcar-gen3-rpc-if # a generic R-Car gen3 or RZ/G2{E,H,M,N} device - items: - enum: - renesas,r8a779g0-rpc-if # R-Car V4H - const: renesas,rcar-gen4-rpc-if # a generic R-Car gen4 device - items: - enum: - renesas,r9a07g043-rpc-if # RZ/G2UL - renesas,r9a07g044-rpc-if # RZ/G2{L,LC} - renesas,r9a07g054-rpc-if # RZ/V2L - const: renesas,rzg2l-rpc-if reg: items: - description: RPC-IF registers - description: direct mapping read mode area - description: write buffer area reg-names: items: - const: regs - const: dirmap - const: wbuf clocks: true interrupts: maxItems: 1 power-domains: maxItems: 1 resets: maxItems: 1 patternProperties: "flash@[0-9a-f]+$": type: object properties: compatible: contains: enum: - cfi-flash - jedec,spi-nor required: - compatible - reg - reg-names - clocks - power-domains - resets - '#address-cells' - '#size-cells' if: properties: compatible: contains: enum: - renesas,rzg2l-rpc-if then: properties: clocks: items: - description: SPI Multi IO Register access clock (SPI_CLK2) - description: SPI Multi IO Main clock (SPI_CLK). else: properties: clocks: maxItems: 1 unevaluatedProperties: false examples: - | #include <dt-bindings/clock/renesas-cpg-mssr.h> #include <dt-bindings/power/r8a77995-sysc.h> spi@ee200000 { compatible = "renesas,r8a77995-rpc-if", "renesas,rcar-gen3-rpc-if"; reg = <0xee200000 0x200>, <0x08000000 0x4000000>, <0xee208000 0x100>; reg-names = "regs", "dirmap", "wbuf"; clocks = <&cpg CPG_MOD 917>; power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; resets = <&cpg 917>; #address-cells = <1>; #size-cells = <0>; flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <40000000>; spi-tx-bus-width = <1>; spi-rx-bus-width = <1>; }; };