lkml.org 
[lkml]   [2017]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 07/12] mmc: mediatek: add busy_check support
    Date
    bit7 of PATCH_BIT1 has different meaning in new design, to
    compatible with previous platform, clear this bit in new
    platform.

    Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
    ---
    drivers/mmc/host/mtk-sd.c | 7 +++++++
    1 file changed, 7 insertions(+)

    diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
    index ebec2b4..187fe8a 100644
    --- a/drivers/mmc/host/mtk-sd.c
    +++ b/drivers/mmc/host/mtk-sd.c
    @@ -316,6 +316,7 @@ struct mtk_mmc_compatible {
    bool pad_tune0;
    bool async_fifo;
    bool data_tune;
    + bool busy_check;
    };

    struct msdc_tune_para {
    @@ -380,6 +381,7 @@ struct msdc_host {
    .pad_tune0 = false,
    .async_fifo = false,
    .data_tune = false,
    + .busy_check = false,
    };

    static const struct mtk_mmc_compatible mt8173_compat = {
    @@ -388,6 +390,7 @@ struct msdc_host {
    .pad_tune0 = false,
    .async_fifo = false,
    .data_tune = false,
    + .busy_check = false,
    };

    static const struct mtk_mmc_compatible mt2701_compat = {
    @@ -396,6 +399,7 @@ struct msdc_host {
    .pad_tune0 = true,
    .async_fifo = true,
    .data_tune = true,
    + .busy_check = false,
    };

    static const struct mtk_mmc_compatible mt2712_compat = {
    @@ -404,6 +408,7 @@ struct msdc_host {
    .pad_tune0 = true,
    .async_fifo = true,
    .data_tune = true,
    + .busy_check = true,
    };

    static const struct of_device_id msdc_of_ids[] = {
    @@ -1280,6 +1285,8 @@ static void msdc_init_hw(struct msdc_host *host)
    sdr_set_field(host->base + MSDC_PATCH_BIT, MSDC_CKGEN_MSDC_DLY_SEL, 1);
    writel(0xffff4089, host->base + MSDC_PATCH_BIT1);
    sdr_set_bits(host->base + EMMC50_CFG0, EMMC50_CFG_CFCSTS_SEL);
    + if (host->dev_comp->busy_check)
    + sdr_clr_bits(host->base + MSDC_PATCH_BIT1, (1 << 7));
    if (host->dev_comp->async_fifo) {
    sdr_set_field(host->base + MSDC_PATCH_BIT2,
    MSDC_PB2_RESPWAIT, 3);
    --
    1.8.1.1.dirty
    \
     
     \ /
      Last update: 2017-10-10 05:04    [W:2.410 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site