From: Seungwon Jeon <tgih.jun@samsung.com>
To: 'zhangfei' <zhangfei.gao@linaro.org>,
'Chris Ball' <cjb@laptop.org>, 'Arnd Bergmann' <arnd@arndb.de>,
'Mike Turquette' <mturquette@linaro.org>,
'Rob Herring' <robherring2@gmail.com>,
'Jaehoon Chung' <jh80.chung@samsung.com>,
'Kumar Gala' <galak@codeaurora.org>,
'Haojian Zhuang' <haojian.zhuang@linaro.org>
Cc: linux-mmc@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
patches@linaro.org, devicetree@vger.kernel.org,
'Zhigang Wang' <brooke.wangzhigang@huawei.com>
Subject: RE: [PATCH 2/3] mmc: dw_mmc: add dw_mmc-k3 for k3 platform
Date: Mon, 16 Dec 2013 18:18:04 +0900 [thread overview]
Message-ID: <004c01cefa3f$b9afe880$2d0fb980$%jun@samsung.com> (raw)
In-Reply-To: <52AEB4FD.4070707@linaro.org>
On Mon, December 16, 2013, Zhangfei Gao wrote:
> On 12/16/2013 03:29 PM, Seungwon Jeon wrote:
> > On Mon, December 16, 2013, Zhangfei Gao wrote:
> >> Dear Seungwon
> >>
> >> On 12/16/2013 11:50 AM, Seungwon Jeon wrote:
> >>> On Sat, December 14, 2013, Zhangfei Gao wrote:
> >>
> >>>> + /* SoC portion */
> >>>> + dwmmc_0: dwmmc0@fcd03000 {
> >>>> + compatible = "hisilicon,hi4511-dw-mshc";
> >>>> + reg = <0xfcd03000 0x1000>;
> >>>> + interrupts = <0 16 4>;
> >>>> + #address-cells = <1>;
> >>>> + #size-cells = <0>;
> >>>> + clocks = <&mmc_clock HI3620_SD_CIUCLK>, <&clock HI3620_DDRC_PER_CLK>;
> >>>> + clock-names = "ciu", "biu";
> >>>> + clock-freq-table =
> >>>> + <25000000 0 50000000 25000000 50000000 100000000 0 50000000>;
> >>> I think it could be solved with mmc->f_min and mmc->f_max(from clock-freq-min-max property)
> >>> if there is no limitation per each speed mode. As seeing described table, it looks that.
> >>
> >> Have tried them before, but unfortunately, they are different.
> >>
> >> The controller can not generate clock itself, while depending on the
> >> outside clock generator, which may require to change clock source in
> >> differnt mode.
> >>
> >> The value we want is set the capacibility of the clock input and the max
> >> clock freq where mmc works stable in that mode, which may be different
> >> in different mode.
> >>
> >> clock-freq-min-max will set the value for set_ios.
> >> For example, we use 25M as clock capability when init, which can not be
> >> set as freq-min, and used as set_ios, where 400K should be used,
> >> otherwise init definitely fail.
> > Can you check 'f_init' within 'drivers/mmc/core/core.c' file?
> > If you set 'f_min = 25000000' for init-sequence, mmc_set_ios() will pass that rate through
> 'ios.clock'
> > Then, dw_mmc-k3 can do clk_set_rate() with 25MHz at dw_mci_k3_set_ios().
>
> This means controller directly use 25M init emmc and sd card, it will fail.
> We still need 400K init freq, while the input clock source is 25M,
> divided by the controller.
>
> > And other required speeds for each mode seem not specific compared with standard spec.
> > Also clk_set_rate() would be possible with 'ios.clock' instead of specific table.
> > I just referred your example's clock-freq-table above.
> There also some controller limitation currently.
> In some mode, the controller only works well in the limited freq.
> For example UHS_SDR104_MAX_DTR 208000000 can not be used, only half may
> be reached, at least currently
Ok. I see your condition. I misunderstood a little bit.
I wonder whether limitation is only max frequency(SDR104 or HS200) except for init-freq.
How about other mode? Working is fine with normal clock rate(from clock-freq-table)?
Thanks,
Seungwon Jeon
>
> >
> >>
> >>>> +static int dw_mci_k3_suspend(struct device *dev)
> >>>> +{
> >>>> + struct dw_mci *host = dev_get_drvdata(dev);
> >>>> +
> >>>> + if (!IS_ERR(host->ciu_clk))
> >>>> + clk_disable_unprepare(host->ciu_clk);
> >>>> +
> >>>> + return dw_mci_suspend(host);
> >>> If k3 needs clk_disable here, dw_mci_suspend()is expected to be called prior to
> >> clk_disable_unprepare()?
> >>> Of course, it's ok at present though.
> >>>
> >>
> >> Sure, it can be switched, though dw_mci_suspend does nothing related
> >> with clock now.
> > Yes, but if some works with ciu_clk is added in dw_mci_suspend(), it will affect.
> >
> Sorry for the misunderstood, I mean it make sense and will change.
> Thanks the advice.
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-12-16 9:18 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-14 2:12 [PATCH v5 0/3] mmc: dw_mmc: add dw_mmc-k3 Zhangfei Gao
2013-12-14 2:12 ` [PATCH 1/3] mmc: dw_mmc: use slot-gpio to handle cd pin Zhangfei Gao
2013-12-14 2:12 ` [PATCH 2/3] mmc: dw_mmc: add dw_mmc-k3 for k3 platform Zhangfei Gao
2013-12-16 3:50 ` Seungwon Jeon
2013-12-16 5:05 ` zhangfei
2013-12-16 7:29 ` Seungwon Jeon
2013-12-16 8:08 ` zhangfei
2013-12-16 9:18 ` Seungwon Jeon [this message]
2013-12-16 11:07 ` zhangfei
2013-12-16 13:12 ` Zhangfei Gao
2013-12-20 2:31 ` zhangfei
2013-12-26 4:33 ` Jaehoon Chung
2013-12-27 6:13 ` zhangfei
2013-12-14 2:12 ` [PATCH 3/3] clk: hisilicon: add hi3620_mmc_clks Zhangfei Gao
-- strict thread matches above, loose matches on Subject: below --
2014-01-09 14:35 [PATCH v7 0/3] mmc: dw_mmc: add dw_mmc-k3 Zhangfei Gao
[not found] ` <1389278112-7099-1-git-send-email-zhangfei.gao-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-01-09 14:35 ` [PATCH 2/3] mmc: dw_mmc: add dw_mmc-k3 for k3 platform Zhangfei Gao
2014-01-09 14:45 ` Arnd Bergmann
2014-01-10 13:39 ` Seungwon Jeon
2014-01-10 14:12 ` zhangfei
2014-01-13 2:09 ` Seungwon Jeon
2014-01-13 2:37 ` zhangfei
2014-01-13 5:32 ` Seungwon Jeon
2014-01-13 8:30 ` zhangfei
2014-01-14 9:38 ` Seungwon Jeon
2014-01-14 9:47 ` zhangfei
2013-12-28 14:34 [PATCH v6 0/3] mmc: dw_mmc: add dw_mmc-k3 Zhangfei Gao
2013-12-28 14:34 ` [PATCH 2/3] mmc: dw_mmc: add dw_mmc-k3 for k3 platform Zhangfei Gao
2013-12-29 21:05 ` Arnd Bergmann
2013-12-29 23:55 ` Jaehoon Chung
2013-12-30 2:32 ` Zhangfei Gao
2013-12-30 17:19 ` zhangfei
2013-12-30 20:27 ` Arnd Bergmann
2013-12-31 4:43 ` zhangfei
2013-12-31 13:20 ` Gerhard Sittig
2014-01-02 2:19 ` zhangfei
2014-01-02 3:07 ` Zhangfei Gao
2013-12-11 14:02 [PATCH v4 0/3] mmc: dw_mmc: add dw_mmc-k3 Zhangfei Gao
2013-12-11 14:02 ` [PATCH 2/3] mmc: dw_mmc: add dw_mmc-k3 for k3 platform Zhangfei Gao
2013-12-11 14:49 ` Arnd Bergmann
2013-12-11 15:36 ` zhangfei
2013-12-11 15:53 ` zhangfei
2013-12-11 20:12 ` Arnd Bergmann
[not found] ` <201312112112.52746.arnd-r2nGTMty4D4@public.gmane.org>
2013-12-12 13:27 ` zhangfei
2013-12-12 14:13 ` Zhangfei Gao
2013-12-12 20:40 ` Arnd Bergmann
2013-12-13 2:57 ` zhangfei
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='004c01cefa3f$b9afe880$2d0fb980$%jun@samsung.com' \
--to=tgih.jun@samsung.com \
--cc=arnd@arndb.de \
--cc=brooke.wangzhigang@huawei.com \
--cc=cjb@laptop.org \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=haojian.zhuang@linaro.org \
--cc=jh80.chung@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mmc@vger.kernel.org \
--cc=mturquette@linaro.org \
--cc=patches@linaro.org \
--cc=robherring2@gmail.com \
--cc=zhangfei.gao@linaro.org \
/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;
as well as URLs for NNTP newsgroup(s).