Hi Benoit

<snip>

>> +               while (!(omap_readl(base + reg_off)&
>>                          MMCHS_SYSSTATUS_RESETDONE))
>>                         cpu_relax();
>
> Why does that series not seems to be based on your hwmod migration? The
> reset is fully handle by the hwmod framework now.

Agree. But Kevin has  suggested to post this patch  independent of hwmod.
Does this patch has to go in hwmod series ?

>
> BTW, when do you have to apply a reset in your case? Do you have the need
> for an API accessible by the driver?
> I'm asking because for the moment the framework does not expose the reset
> API and use it only at init time.

Correct , I don't need reset API access in the driver.

<snip>

>>
>> +enum {
>> +       OMAP_HSMMC_SYSCONFIG = 0,
>> +       OMAP_HSMMC_SYSSTATUS,
>> +       OMAP_HSMMC_CON,
>> +       OMAP_HSMMC_BLK,
>> +       OMAP_HSMMC_ARG,
>> +       OMAP_HSMMC_CMD,
>> +       OMAP_HSMMC_RSP10,
>> +       OMAP_HSMMC_RSP32,
>> +       OMAP_HSMMC_RSP54,
>> +       OMAP_HSMMC_RSP76,
>> +       OMAP_HSMMC_DATA,
>> +       OMAP_HSMMC_PSTATE,
>> +       OMAP_HSMMC_HCTL,
>> +       OMAP_HSMMC_SYSCTL,
>> +       OMAP_HSMMC_STAT,
>> +       OMAP_HSMMC_IE,
>> +       OMAP_HSMMC_ISE,
>> +       OMAP_HSMMC_CAPA,
>> +       OMAP_HSMMC_REV,
>> +       OMAP_HSMMC_CUR_CAPA,
>> +       OMAP_HSMMC_FE,
>> +       OMAP_HSMMC_ADMA_ES,
>> +       OMAP_HSMMC_ADMA_SAL,
>> +};
>> +
>> +static const u16 omap3_mmc_reg_map[] = {
>> +       [OMAP_HSMMC_SYSCONFIG] = 0x0010,
>> +       [OMAP_HSMMC_SYSSTATUS] = 0x0014,
>> +       [OMAP_HSMMC_CON] = 0x002C,
>> +       [OMAP_HSMMC_BLK] = 0x0104,
>> +       [OMAP_HSMMC_ARG] = 0x0108,
>> +       [OMAP_HSMMC_CMD] = 0x010C,
>> +       [OMAP_HSMMC_RSP10] = 0x0110,
>> +       [OMAP_HSMMC_RSP32] = 0x0114,
>> +       [OMAP_HSMMC_RSP54] = 0x0118,
>> +       [OMAP_HSMMC_RSP76] = 0x011C,
>> +       [OMAP_HSMMC_DATA] = 0x0120,
>> +       [OMAP_HSMMC_PSTATE] = 0x0124,
>> +       [OMAP_HSMMC_HCTL] = 0x0128,
>> +       [OMAP_HSMMC_SYSCTL] = 0x012C,
>> +       [OMAP_HSMMC_STAT] = 0x0130,
>> +       [OMAP_HSMMC_IE] = 0x0134,
>> +       [OMAP_HSMMC_ISE] = 0x0138,
>> +       [OMAP_HSMMC_CAPA] = 0x0140,
>> +       [OMAP_HSMMC_REV] = 0x01FC,
>> +};
>> +
>> +static const u16 omap4_mmc_reg_map[] = {
>> +       [OMAP_HSMMC_SYSCONFIG] = 0x0010,        /* Use Highlander Version
>> */
>> +       [OMAP_HSMMC_SYSSTATUS] = 0x0114,
>
> In fact that sysstatus is a legacy register that is not needed anymore in
> the highlander version. The resetdone is in the sysconfig now.
> So you can ignore it in OMAP4.

Just verified and thanks for pointing this.
ok will avoid checking resetdone in sysstatus for OMAP4

>
>> +       [OMAP_HSMMC_CON] = 0x012C,
>> +       [OMAP_HSMMC_BLK] = 0x0204,
>> +       [OMAP_HSMMC_ARG] = 0x0208,
>> +       [OMAP_HSMMC_CMD] = 0x020C,
>> +       [OMAP_HSMMC_RSP10] = 0x0210,
>> +       [OMAP_HSMMC_RSP32] = 0x0214,
>> +       [OMAP_HSMMC_RSP54] = 0x0218,
>> +       [OMAP_HSMMC_RSP76] = 0x021C,
>> +       [OMAP_HSMMC_DATA] = 0x0220,
>> +       [OMAP_HSMMC_PSTATE] = 0x0224,
>> +       [OMAP_HSMMC_HCTL] = 0x0228,
>> +       [OMAP_HSMMC_SYSCTL] = 0x022C,
>> +       [OMAP_HSMMC_STAT] = 0x0230,
>> +       [OMAP_HSMMC_IE] = 0x0234,
>> +       [OMAP_HSMMC_ISE] = 0x0238,
>> +       [OMAP_HSMMC_CAPA] = 0x0240,
>> +       [OMAP_HSMMC_REV] = 0x0000,      /* Use Highlander Version */
>> +       [OMAP_HSMMC_CUR_CAPA] = 0x0248,
>> +       [OMAP_HSMMC_FE] = 0x0250,
>> +       [OMAP_HSMMC_ADMA_ES] = 0x0254,
>> +       [OMAP_HSMMC_ADMA_SAL] = 0x0258,
>
> I didn't check all the registers, but it seems that there is a constant
> 0x100 offset for most of these registers. Cannot you simplify this table?

Sure will simplify and post.

>
> Regards,
> Benoit
>

<snip>

Regards,
Kishore
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to