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-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html