Re: [PATCH v12 3/3] dt-bindings: mfd: Document Renesas R-Car Gen3 RPC-IF MFD bindings

From: masonccyang
Date: Tue May 14 2019 - 05:48:46 EST



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.

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