From: "Heiko Stübner" <heiko@sntech.de>
To: dinguyen@altera.com
Cc: dinh.linux@gmail.com, arnd@arndb.de, cjb@laptop.org,
jh80.chung@samsung.com, tgih.jun@samsung.com,
dianders@chromium.org, alim.akhtar@samsung.com,
bzhao@marvell.com, linux-mmc@vger.kernel.org
Subject: Re: [PATCHv3 1/3] mmc: dw_mmc: Enable the hold reg for certain speed modes
Date: Mon, 9 Dec 2013 10:56:41 +0100 [thread overview]
Message-ID: <201312091056.42790.heiko@sntech.de> (raw)
In-Reply-To: <1386564668-24738-2-git-send-email-dinguyen@altera.com>
Hi,
Am Montag, 9. Dezember 2013, 05:51:06 schrieb dinguyen@altera.com:
> From: Dinh Nguyen <dinguyen@altera.com>
>
> This patch will enable the SDMMC_CMD_USE_HOLD_REG bit when the slot is
> operating all timing modes, except for SDR50, DDR50, SDR104, and MMC_HS200.
>
> According to the Synopsys databook :"To meet the relatively high Input Hold
> Time requirement for SDR12, SDR25, and other MMC speed modes, you should
> program bit[29]use_hold_Reg of the CMD register to 1'b1;"..."However, for
> the higher speed modes of SDR104, SDR50 and DDR50, you can meet the much
> smaller Input Hold Time requirement of 0.8ns by bypassing the Hold Register
> (Path A in Figure 10-8, programming CMD.use_hold_reg = 1'b0) and then
> adding delay elements on the output path as indicated.
>
> Also, "Never set CMD.use_hold_reg = 1 and cclk_in_drv phase shift to 0 at
> the same time. This would add an extra one-cycle delay on the output path,
> resulting in incorrect behavior."
>
> This patch also checks the IHR(Implement Hold Register) in the HCON
> register.
>
> This information is taking from the v2.50a of the Synopsys Designware Cores
> Mobile Storage Host Databook.
>
> Signed-off-by: Dinh Nguyen <dinguyen@altera.com>
> Acked-by: Heiko Stuebner <heiko@sntech.de>
> Tested-by: Heiko Stuebner <heiko@sntech.de>
> ---
> v3: Read the IHR(Implement Hold Register) in the HCON
> v2: Add check for cclk_in_drv phase shift in conjunction with use_hold_reg.
just to say it still works with the v3 changes.
Interestingly, the rockchip manual does not specify the hcon register at all,
but reading it, I get a value of 0x4c534c1 - letting BIT(22) be the required
one.
Heiko
next prev parent reply other threads:[~2013-12-09 9:56 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-09 4:51 [PATCHv3 0/3] mmc: dw_mmc: Make the use of the hold reg generic dinguyen
2013-12-09 4:51 ` [PATCHv3 1/3] mmc: dw_mmc: Enable the hold reg for certain speed modes dinguyen
2013-12-09 9:56 ` Heiko Stübner [this message]
2013-12-09 16:15 ` Dinh Nguyen
2013-12-16 4:23 ` Seungwon Jeon
2013-12-16 4:44 ` Dinh Nguyen
2013-12-16 7:20 ` Seungwon Jeon
2013-12-16 16:38 ` Dinh Nguyen
2013-12-09 4:51 ` [PATCHv3 2/3] mmc: dw_mmc-pltm: Remove Rockchip's custom dw_mmc driver structure dinguyen
2013-12-09 4:51 ` [PATCHv3 3/3] mmc: dw_mmc-exynos: Remove Exynos' custom prepare_command function dinguyen
2013-12-09 16:12 ` [PATCHv3 0/3] mmc: dw_mmc: Make the use of the hold reg generic Arnd Bergmann
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=201312091056.42790.heiko@sntech.de \
--to=heiko@sntech.de \
--cc=alim.akhtar@samsung.com \
--cc=arnd@arndb.de \
--cc=bzhao@marvell.com \
--cc=cjb@laptop.org \
--cc=dianders@chromium.org \
--cc=dinguyen@altera.com \
--cc=dinh.linux@gmail.com \
--cc=jh80.chung@samsung.com \
--cc=linux-mmc@vger.kernel.org \
--cc=tgih.jun@samsung.com \
/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