Hello, > >> There's precedence for such constructs being an MFD: please see > >> drivers/mfd/at91-usart.c, which registers a single MFD cell for either > >> serial or SPI. > > Thanks fir your example, Geert! :-) > > > okay, many thanks for your information. > > > > How about to patch RPF-IF dts to: > > --------------------------------------------------------------> > > > > Renesas R-Car Gen3 RPC-IF controller Device Tree Bindings > > --------------------------------------------------------- > > > > RPC-IF supports both SPI NOR and HyperFlash (CFI-compliant flash) > > > > Required properties: > > - compatible: should be an SoC-specific compatible value, followed by > > "renesas,rcar-gen3-rpc" as a fallback. > > supported SoC-specific values are: > > "renesas,r8a77995-rpc" (R-Car D3) > > - reg: should contain three register areas: > > first for the base address of RPC-IF registers, > > I'd drop "the base address" here. okay. > > > second for the direct mapping read mode and > > third for the write buffer area. > > - reg-names: should contain "regs", "dirmap" and "wbuf" > > - clocks: should contain 1 entries for the module's clock > > - clock-names: should contain "rpc" > > I suspect we'd need the RPC/RPCD2 clocks mentioned as well (not sure yet)... Need it ? RPCD2 is derived from RPC and it's value is half of RPC, i.e., RPC = 160MHz, RPCD2 = 80 MHz > And how about "power-domains", "resets" (seen in the example below), > also what about #address-cells & #size-cells? > > > > > Example: > > Could you please indent with 1 or 2 tabs where you used 8 or 16 spaces? > > > - SPI mode: > > > > rpc: rpc-if@ee200000 { > > The node names should be generic, based on the device class. And in this > case I'd like to use "spi@ee200000" as otherwise dtc keeps bitching like below: okay, patch to rpc_if: spi@<...> > > arch/arm64/boot/dts/renesas/r8a77980.dtsi:1344.21-1359.5: Warning (spi_bus_bridge): > /soc/rpc@ee200000: node name for SPI buses should be 'spi' > also defined at arch/arm64/boot/dts/renesas/r8a77980-condor.dts:283.6-343.3 > arch/arm64/boot/dts/renesas/r8a77980-condor.dtb: Warning (spi_bus_reg): > Failed prerequisite 'spi_bus_bridge' > > > > - HF mode: > > rpc: rpc-if@ee200000 { > > Again, spi@<...>. what about rpc_if: hf@<...> > > > compatible = "renesas,r8a77995-rpc", "renesas,rcar-gen3-rpc"; > > reg = <0 0xee200000 0 0x200>, <0 0x08000000 0 0x4000000>, > > <0 0xee208000 0 0x100>; > > reg-names = "regs", "dirmap", "wbuf"; > > clocks = <&cpg CPG_MOD 917>; > > clock-names = "rpc"; > > power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; > > resets = <&cpg 917>; > > #address-cells = <1>; > > #size-cells = <1>; > > > > flash@0 { > > compatible = "cfi-flash"; > > The working HF implementation has "cypress,hyperflash" before "cfi-flash". > > > reg = <0 0x4000000>; > > }; > > }; > > > > --------------------------------------------------------------< > > > > Is it OK ? > > Yeah, seems good (assuming you fix the issues above). Patch new DTS to ===============================================================> +Renesas R-Car Gen3 RPC-IF controller Device Tree Bindings +--------------------------------------------------------- + +RPC-IF supports both SPI NOR and HyperFlash (CFI-compliant flash) + +Required properties: +- compatible: should be an SoC-specific compatible value, followed by + "renesas,rcar-gen3-rpc" as a fallback. + supported SoC-specific values are: + "renesas,r8a77995-rpc" (R-Car D3) +- reg: should contain three register areas: + first for RPC-IF registers, + second for the direct mapping read mode and + third for the write buffer area. +- reg-names: should contain "regs", "dirmap" and "wbuf" +- clocks: should contain 1 entries for the module's clock +- clock-names: should contain "rpc" +- #address-cells: should be 1 +- #size-cells: should be 0 + +Example: +- SPI mode: + + rpc_if: spi@ee200000 { + compatible = "renesas,r8a77995-rpc", "renesas,rcar-gen3-rpc"; + reg = <0 0xee200000 0 0x200>, <0 0x08000000 0 0x4000000>, + <0 0xee208000 0 0x100>; + reg-names = "regs", "dirmap", "wbuf"; + clocks = <&cpg CPG_MOD 917>; + clock-names = "rpc"; + 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>; + }; + }; + +- HF mode: + rpc_if: hf@ee200000 { + compatible = "renesas,r8a77995-rpc", "renesas,rcar-gen3-rpc"; + reg = <0 0xee200000 0 0x200>, <0 0x08000000 0 0x4000000>, + <0 0xee208000 0 0x100>; + reg-names = "regs", "dirmap", "wbuf"; + clocks = <&cpg CPG_MOD 917>; + clock-names = "rpc"; + power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; + resets = <&cpg 917>; + #address-cells = <1>; + #size-cells = <0>; + + flash@0 { + compatible = "cypress,hyperflash", "cfi-flash"; + reg = <0>; + }; + }; =======================================================================< OK ? thanks & best regards, Mason CONFIDENTIALITY NOTE: This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation. Macronix International Co., Ltd. ===================================================================== ============================================================================ CONFIDENTIALITY NOTE: This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation. Macronix International Co., Ltd. =====================================================================