All of lore.kernel.org
 help / color / mirror / Atom feed
From: masonccyang@mxic.com.tw
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: bbrezillon@kernel.org, broonie@kernel.org,
	devicetree@vger.kernel.org,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Simon Horman <horms@verge.net.au>,
	juliensu@mxic.com.tw, lee.jones@linaro.org,
	linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	linux-spi@vger.kernel.org, marek.vasut@gmail.com,
	mark.rutland@arm.com, robh+dt@kernel.org, zhengxunli@mxic.com.tw
Subject: Re: [PATCH v9 2/3] spi: Add Renesas R-Car Gen3 RPC-IF SPI controller driver
Date: Fri, 19 Apr 2019 13:38:57 +0800	[thread overview]
Message-ID: <OF58AAFF49.C4593DEB-ON482583E1.001D551E-482583E1.001F089D@mxic.com.tw> (raw)
In-Reply-To: <3971c669-9095-9d18-d029-37f9663a54b2@cogentembedded.com>

[-- Attachment #1: Type: text/plain, Size: 7499 bytes --]


Hello,

> 
> Re: [PATCH v9 2/3] spi: Add Renesas R-Car Gen3 RPC-IF SPI controller 
driver
> 
> On 04/18/2019 05:51 AM, masonccyang@mxic.com.tw wrote:
> 
> >> >> >> Add a driver for Renesas R-Car Gen3 RPC-IF SPI controller.
> >> >> >>
> >> >> >> Signed-off-by: Mason Yang <masonccyang@mxic.com.tw>
> >> >> >> Signed-off-by: Sergei Shtylyov 
<sergei.shtylyov@cogentembedded.com>
> >> >> > [...]
> >> >> >> diff --git a/drivers/spi/spi-renesas-rpc.c b/drivers/spi/spi-
> >> renesas-rpc.c
> >> >> >> new file mode 100644
> >> >> >> index 0000000..037f273
> >> >> >> --- /dev/null
> >> >> >> +++ b/drivers/spi/spi-renesas-rpc.c
> >> >> > [...]
> >> >> >> +static int rpc_spi_probe(struct platform_device *pdev)
> >> >> >> +{
> >> >> >> +   struct spi_controller *ctlr;
> >> >> >> +   struct rpc_mfd *rpc_mfd = 
dev_get_drvdata(pdev->dev.parent);
> >> >> >> +   struct rpc_spi *rpc;
> >> >> >> +   int ret;
> >> >> >> +
> >> >> >> +   ctlr = spi_alloc_master(&pdev->dev, sizeof(*rpc));
> >> >> >> +   if (!ctlr)
> >> >> >> +      return -ENOMEM;
> >> >> >> +
> >> >> >> +   platform_set_drvdata(pdev, ctlr);
> >> >> >> +
> >> >> >> +   rpc = spi_controller_get_devdata(ctlr);
> >> >> >> +
> >> >> >> +   ctlr->dev.of_node = pdev->dev.of_node;
> >> >> > [...]
> >> >> >> +
> >> >> >> +   pm_runtime_enable(&pdev->dev);
> >> >> >> +   ctlr->auto_runtime_pm = true;
> >> >> >
> >> >> >    I think this line no longer works as expected with the new
> >> >> probing scheme.
> >>
> >>    That's because we added another (SPI) device under our MFD.
> > 
> > Do you mean just to remove one line
> > ctlr->auto_runtime_pm = true;
> > ?

how did you test it ?
what is your testing flow ? 

>    No, you should explicitly call RPM for the MFD (not the SPI device).

okay, patch RPM to RPC MFD and will remove SPI RPM enable part.

> 
> >> >> > Have you tested reading? v8 patch still works while v9 patches
> >> >> > hang on doing:
> >> >> >
> >> >> > $ cat /dev/mtd<n>...
> >> >>
> >> >>    Sorry, 'od -x', not 'cat'.
> >> >
> >> > root@draak:/# cat /proc/mtd
> >> > dev:    size   erasesize  name
> >> > mtd0: 00040000 00001000 "Bank 1 - Boot parameter"
> >> > mtd1: 00140000 00001000 "Bank 1 - Loader-BL2"
> >> > mtd2: 00040000 00001000 "Bank 1 - Certification"
> >> > mtd3: 00080000 00001000 "Bank 1 - ARM Trusted FW"
> >> > mtd4: 00400000 00001000 "Bank 1 - Reserved-1"
> >> > mtd5: 00300000 00001000 "Bank 1 - U-Boot"
> >> > mtd6: 00200000 00001000 "Bank 1 - Reserved-2"
> >> > mtd7: 00480000 00001000 "Bank 1 - Splash"
> >> > mtd8: 00040000 00001000 "Bank 1 - Device Tree"
> >> > root@draak:/# od -x /dev/mtd1
> >> > 0000000 0000 d280 0001 d280 0002 d280 0003 d280
> >> > 0000020 0004 d280 0005 d280 0006 d280 0007 d280
> >> > 0000040 0008 d280 0009 d280 000a d280 000b d280
> >> > 0000060 000c d280 000d d280 000e d280 000f d280
> >> > 0000100 0010 d280 0011 d280 0012 d280 0013 d280
> >> > 0000120 0014 d280 0015 d280 0016 d280 0017 d280
> >> > 0000140 0018 d280 0019 d280 001a d280 001b d280
> >> > 0000160 001c d280 001d d280 001e d280 1000 d53e
> >> > 0000200 f800 9266 1000 d51e 3fdf d503 3ba0 1005
> >>
> >>    Still hangs for me. After I patches spi-mem.c and the driver to
> >> call RPM for the MFD, it started working again. Perhaps, that clock
> >> is still enabled on your target. What does the following print (for
> >> the RPC clocks)?
> >>
> >> $ mount none -t debugfs /sys/kernel/debug/
> >> $ cat /sys/kernel/debug/clk/clk_summary
> >>
> > 
> > root@draak:/# cat /sys/kernel/debug/clk/clk_summary
> >                                  enable  prepare  protect duty
> >    clock                          count    count    count 
> rate   accuracy phase  cycle
> > 
> 
---------------------------------------------------------------------------------------------
> >  audio_clkout1                        0        0        0 
> 11289600          0     0  50000
> >  x19_clk                              0        0        0 
> 24576000          0     0  50000
> >  dclkin-0                             0        0        0 
> 0          0     0  50000
> >  scif                                 1        1        0 
> 0          0     0  50000
> >  audio_clkb                           0        0        0 
> 22579200          0     0  50000
> >  msiof-ref-clock                      0        0        0 
> 66666666          0     0  50000
> >  extal                                2        3        0 
> 48000000          0     0  50000
> >     r                                 0        2        0 
> 31250          0     0  50000
> >        rpc-if                         0        1        0 
> 31250          0     0  50000
> 
>    This looks wrong, the RPC-IF module clock should have RPC or 
> RPCD2 (where ae they?)
> as a source, not RLCK...
 
I check the Ch8 CPG of R-Car datasheet, figure 8.1f(R-Car D3),
the RPC/RPCD2 is derived from PLL1 -> PLL1CK

I didn't patch it and it should be exposed afrer the .sdsrc

    .main                                 2            2    48000000    0 
0
       .pll3                              0            0   928000000    0 
0
       .pll1                              4            4  1600000000    0 
0
          lv1                             0            0  1600000000    0 
0
          lv0                             1            1  1600000000    0 
0
             lvds                         1            1  1600000000    0 
0
          cl                              0            0    33333333    0 
0
          zx                              0            0   533333333    0 
0
          zt                              0            0   400000000    0 
0
          ztr                             0            0   266666666    0 
0
          .sdsrc                          1            1   800000000    0 
0
             sd0                          1            1   200000000    0 
0
                emmc0 
---> here !


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.

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

[-- Attachment #2: Type: text/html, Size: 13504 bytes --]

  reply	other threads:[~2019-04-19  5:38 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-29  8:20 [PATCH v9 0/3] mfd: Add Renesas R-Car Gen3 RPC-IF MFD driver Mason Yang
2019-03-29  8:20 ` [PATCH v9 1/3] mfd: Add Renesas R-Car Gen3 RPC-IF MFD controller driver Mason Yang
2019-03-29 10:43   ` Marek Vasut
2019-03-29 15:12   ` Sergei Shtylyov
2019-03-29  8:20 ` [PATCH v9 2/3] spi: Add Renesas R-Car Gen3 RPC-IF SPI " Mason Yang
2019-03-29 10:44   ` Marek Vasut
2019-03-29 15:52   ` Sergei Shtylyov
2019-04-02  5:48     ` masonccyang
2019-04-02 20:10       ` Sergei Shtylyov
2019-04-03  9:20         ` masonccyang
2019-04-04 18:56           ` Sergei Shtylyov
2019-04-04 19:12             ` Boris Brezillon
2019-04-06 19:59               ` Sergei Shtylyov
2019-04-08  2:19             ` masonccyang
     [not found]             ` <OF2404F267.07FEB6C8-ON482583D6.000A8180-482583D6.000CC92F@LocalDomain>
2019-04-09  5:49               ` masonccyang
2019-04-09 11:20           ` Sergei Shtylyov
2019-04-10 19:47             ` Sergei Shtylyov
2019-04-09 20:07   ` Sergei Shtylyov
2019-04-10  1:33     ` masonccyang
2019-04-10  6:27       ` Marek Vasut
2019-04-10  8:01         ` masonccyang
2019-04-10  8:03           ` Marek Vasut
2019-04-10  8:11           ` Boris Brezillon
2019-04-10 17:53           ` Sergei Shtylyov
2019-04-12  6:34             ` masonccyang
2019-04-13 16:38   ` Sergei Shtylyov
2019-04-13 16:39     ` Sergei Shtylyov
2019-04-15  2:36       ` masonccyang
2019-04-17 18:44         ` Sergei Shtylyov
2019-04-18  2:51           ` masonccyang
2019-04-18 19:43             ` Sergei Shtylyov
2019-04-19  5:38               ` masonccyang [this message]
2019-04-23  7:29                 ` Geert Uytterhoeven
2019-04-23  7:29                   ` Geert Uytterhoeven
2019-04-23  9:33                   ` masonccyang
2019-05-14 19:06                 ` Sergei Shtylyov
2019-05-14 19:13                   ` Sergei Shtylyov
     [not found]               ` <OF58AAFF49.C4593DEB-ON482583E1.001D551E-482583E1.001F089D@LocalDomain>
2019-04-19  9:31                 ` masonccyang
2019-04-22 16:44                   ` Sergei Shtylyov
2019-03-29  8:20 ` [PATCH v9 3/3] dt-bindings: mfd: Document Renesas R-Car Gen3 RPC-IF controller bindings Mason Yang
2019-03-29 10:45   ` Marek Vasut
2019-04-02  5:23     ` masonccyang
2019-03-29 10:49   ` Sergei Shtylyov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=OF58AAFF49.C4593DEB-ON482583E1.001D551E-482583E1.001F089D@mxic.com.tw \
    --to=masonccyang@mxic.com.tw \
    --cc=bbrezillon@kernel.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=geert+renesas@glider.be \
    --cc=horms@verge.net.au \
    --cc=juliensu@mxic.com.tw \
    --cc=lee.jones@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=marek.vasut@gmail.com \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=sergei.shtylyov@cogentembedded.com \
    --cc=zhengxunli@mxic.com.tw \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.