Thread (38 messages) 38 messages, 8 authors, 2012-05-17

Re: [PATCH 4/7] mmc: dw_mmc: add samsung exynos5250 specific extentions

From: Jaehoon Chung <jh80.chung@samsung.com>
Date: 2012-05-10 11:17:51
Also in: linux-arm-kernel, linux-mmc, linux-samsung-soc, lkml

On 05/10/2012 07:55 PM, Thomas Abraham wrote:
On 2 May 2012 13:19, Jaehoon Chung [off-list ref] wrote:
quoted
On 05/02/2012 04:01 PM, Kyungmin Park wrote:
quoted
Hi,

On 5/2/12, Thomas Abraham [off-list ref] wrote:
quoted
The instantiation of the Synopsis Designware controller on Exynos5250
include extension for SDR and DDR specific tx/rx phase shift timing
and CIU internal divider. In addition to that, the option to skip the
command hold stage is also introduced. Add support for these Exynos5250
specfic extenstions.
[...]
quoted
quoted
quoted
@@ -265,6 +266,10 @@ static u32 dw_mci_prepare_command(struct mmc_host *mmc,
struct mmc_command *cmd)
                     cmdr |= SDMMC_CMD_DAT_WR;
     }

+    if (slot->host->drv_data->ctrl_type == DW_MCI_TYPE_EXYNOS5250)
+            if (SDMMC_CLKSEL_GET_SELCLK_DRV(mci_readl(slot->host, CLKSEL)))
+                    cmdr |= SDMMC_USE_HOLD_REG;
Some other board, custom SOC also can use this HOLD register. So it's
not EXYNOS5250 specific one. I think we introduce the more generic
quirks for this instead of SOC specific.
One more, I think that also need to check the IMPLEMENT_HOLD_REG bit in HCON register.
It has dependency with that.
The above code is specific to Exynos5250 and hence it is not required
to check the IMPLEMENT_HOLD_REG bit in HCON register. On Exynos5250,
the hold register is implemented and available.
Right, the above code is specific for Exynos5250.
But HOLD_REG should be used in other SoC. it's not only Exynos5250 specific.
I want more generic code than specific code for Exynos5250.

Best Regards,
Jaehoon Chung
quoted
As Mr.Park is mentioned, this register is clock phasing.
In spec, card is enumerated in SDR12 or SDR25 mode, the application must program the use_hold_reg.
Exynos5250 hardware manual specifies additional restrictions on the
use of hold register. The above code checks for those restrictions and
programs the USE_HOLD_REG accordingly. Please let me know if there is
any condition that is not handled by the above code.

Thanks,
Thomas.
quoted
Best Regards,
Jaehoon Chung
--
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help