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.

=====================================================================

Reply via email to