From: Chin Liang See <clsee@altera.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/2] arm: socfpga: mmc: Enable calibration for drvsel and smpsel
Date: Mon, 7 Sep 2015 20:32:33 -0500 [thread overview]
Message-ID: <1441675953.1908.14.camel@clsee-VirtualBox> (raw)
In-Reply-To: <55ED4BCB.6020802@samsung.com>
Hi,
On Mon, 2015-09-07 at 03:33 +0000, Jaehoon Chung wrote:
> Hi,
>
> On 09/04/2015 07:41 PM, Pavel Machek wrote:
> > Hi!
> >
> >>>>>>> How is this SMPLSEL and DRVSEL implemented on Exynos ?
> >>>>>
> >>>>> Exynos is using CLKSEL register in dw-mmc controller.
> >>>>> It's exynos specific register in dwmmc controller. It's also
> >>>>> represented 45 degree increment. SELCK_DRV is bit[18:16] or more.
> >>>>> SELCLK_SAMPLE is bit[2:0] or more. There are other bits relevant to
> >>>>> tuning clock. '_more_' means that it can be changed bandwidth.
> >>>>>
> >>>>> Anyway, I think there is no right method about finding the best smplclk
> >>>>> and drvsel. If this is generic method, i will pick this. But i don't
> >>>>> think so, and there is no benefit for exynos.
> >>>>>
> >>>>> smplclk and drvsel value need to process the tuning sequence.
> >>>>> There is no tuning case at bootloader, since it's not implemented about
> >>>>> HS200 or upper mode.
> >>>>>
> >>>>> Clksel an drvsel value are passed by device tree.
> >>>>
> >>>> In that case, maybe SoCFPGA should also pick those values from DT ? It
> >>>> would keep the code simple and in case there is a problematic board, it
> >>>> could use u-boot application to perform the tuning.
> >>>
> >>> I prefer not to do that as it narrows the supported use case for the
> >>> driver.
> >>
> >> How so? It keeps the driver code clean and this code you're adding seems
> >> like a special-purpose stuff which needs to be done once for particular
> >> board, no ?
> >
> > Well... stuff that can be automatically detected is not supposed to be
> > in the device tree.
> >
> > clksel and drvsel can be calibrated, so I see some arguments why we
> > should calibrate them, and not hardcode them in the device tree.
>
> My opinions are
>
> 1. This code is not generic dwmmc code. So i don't want to locate into dwmmc core.
> If need to apply, i agree that it applies this in socfpga-dw_mmc.c.
>
Yup, let move that to socfpga-dw_mmc.c as majority believe that is
correct way to move forward. I shall send in v3 which integrate Pavel's
comment in v2
> 2. In exynos, value of devcie-tree is the tested value.
> After has tested with every values, it defined the best value into device-tree.
> (Working fine with values.)
> At every time, it doesn't need to detect the best value with same SoC.
> (Especially, at bootloader)
>
> 3. In my experiment, there should be side-effect during finding best sample/drv value.
>
> 4. If HS200 or upper mode is supported at bootloader, it needs the tuning sequence.
> Then it needs to find the best sampl/drv values. but it doesn't support HS200 or other at bootloader.
>
Yah, normally it will not need that.
As we are catering for various customer board design, this calibration
will help even they routed the SDMMC slot few inches away.
> 5. Affect at booting time??
We measured this before and it took around ~5.2ms for worst case.
Thanks
Chin Liang
>
>
> Best Regards,
> Jaehoon Chung
>
> > Pavel
> >
>
next prev parent reply other threads:[~2015-09-08 1:32 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-19 5:54 [U-Boot] [PATCH 1/2] arm: socfpga: mmc: Enable calibration for drvsel and smpsel Chin Liang See
2015-08-19 7:26 ` Pavel Machek
2015-08-19 7:34 ` Marek Vasut
2015-08-19 8:30 ` Chin Liang See
2015-08-19 23:23 ` Marek Vasut
2015-08-19 8:33 ` Chin Liang See
2015-08-19 7:40 ` Marek Vasut
2015-08-19 8:21 ` Chin Liang See
2015-08-19 19:36 ` Marek Vasut
2015-08-20 5:28 ` Chin Liang See
2015-08-20 5:32 ` Marek Vasut
2015-08-20 21:55 ` Dinh Nguyen
2015-08-20 21:59 ` Marek Vasut
2015-08-21 0:33 ` Dinh Nguyen
2015-08-21 0:42 ` Marek Vasut
2015-08-21 20:52 ` Simon Glass
2015-08-24 15:04 ` Chin Liang See
2015-08-25 2:36 ` Jaehoon Chung
2015-08-25 3:08 ` Chin Liang See
2015-08-26 5:29 ` Jaehoon Chung
2015-08-26 5:47 ` Chin Liang See
2015-08-26 6:14 ` Jaehoon Chung
2015-08-26 6:54 ` Chin Liang See
2015-09-01 8:54 ` Chin Liang See
2015-09-01 9:01 ` Marek Vasut
2015-09-01 9:10 ` Chin Liang See
2015-09-01 10:12 ` Jaehoon Chung
2015-09-01 14:53 ` Dinh Nguyen
2015-09-02 10:32 ` Marek Vasut
2015-09-03 0:27 ` Chin Liang See
2015-09-03 5:30 ` Jaehoon Chung
2015-09-03 9:37 ` Marek Vasut
2015-09-03 14:06 ` Chin Liang See
2015-09-03 14:25 ` Marek Vasut
2015-09-04 10:41 ` Pavel Machek
2015-09-07 8:33 ` Jaehoon Chung
2015-09-08 1:32 ` Chin Liang See [this message]
2015-09-08 10:56 ` Marek Vasut
[not found] ` <0016CF5815A1B142902817051AF62EB305FDF5BA@PG-ITEXCH01.altera.priv.altera.com>
2015-10-07 2:54 ` Chin Liang See
2015-10-12 14:44 ` Marek Vasut
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=1441675953.1908.14.camel@clsee-VirtualBox \
--to=clsee@altera.com \
--cc=u-boot@lists.denx.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox