[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <OFAD9AA573.86373900-ON482583FA.0034781A-482583FA.0035B40C@mxic.com.tw>
Date: Tue, 14 May 2019 17:46:35 +0800
From: masonccyang@...c.com.tw
To: "Sergei Shtylyov" <sergei.shtylyov@...entembedded.com>,
"Geert Uytterhoeven" <geert@...ux-m68k.org>,
"Lee Jones" <lee.jones@...aro.org>
Cc: "Boris Brezillon" <bbrezillon@...nel.org>,
"Mark Brown" <broonie@...nel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>,
"Geert Uytterhoeven" <geert@...ux-m68k.org>,
"Geert Uytterhoeven" <geert+renesas@...der.be>,
"Simon Horman" <horms@...ge.net.au>, juliensu@...c.com.tw,
"Lee Jones" <lee.jones@...aro.org>,
"Linux Kernel Mailing List" <linux-kernel@...r.kernel.org>,
"Linux-Renesas" <linux-renesas-soc@...r.kernel.org>,
"linux-spi" <linux-spi@...r.kernel.org>,
"Marek Vasut" <marek.vasut@...il.com>,
"Mark Rutland" <mark.rutland@....com>,
"Rob Herring" <robh@...nel.org>, zhengxunli@...c.com.tw
Subject: Re: [PATCH v12 3/3] dt-bindings: mfd: Document Renesas R-Car Gen3 RPC-IF
MFD bindings
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@...00000 {
>
> The node names should be generic, based on the device class. And in
this
> case I'd like to use "spi@...00000" 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@...00000: 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@...00000 {
>
> 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@...00000 {
+ 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@...00000 {
+ 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.
=====================================================================
Powered by blists - more mailing lists