On Fri, May 25, 2012 at 1:44 AM, Viswanath Puttagunta <[email protected]> wrote:
>
> Enable debounce logic in TWL6030 so that erroneous
> disconnect/connect interrupts will be suppressed.
>
> This will fix issue where SD card is either plugged
> or unplugged very slowly.
>
> Change-Id: Icc3afa4c66b3bc7920f27ff9c9a3f32e67d5833c
> Signed-off-by: Viswanath Puttagunta <[email protected]>
Would be better without the Change-Id.
Also, this needs to be posted to linux-omap and linux-mfd, apart from linux-mmc.
> ---
> drivers/mfd/twl6030-irq.c | 8 ++++++++
> include/linux/i2c/twl.h | 5 +++++
> 2 files changed, 13 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mfd/twl6030-irq.c b/drivers/mfd/twl6030-irq.c
> index b76902f..05bb6e1 100644
> --- a/drivers/mfd/twl6030-irq.c
> +++ b/drivers/mfd/twl6030-irq.c
> @@ -317,6 +317,14 @@ int twl6030_mmc_card_detect_config(void)
>
> ret);
> return ret;
> }
> + ret = twl_i2c_write_u8(TWL6030_MODULE_ID0,
> + (MMC_MINS_DEB_MASK | MMC_MEXT_DEB_MASK),
> + TWL6030_MMCDEBOUNCING);
> + if (ret < 0) {
> + pr_err("twl6030: Failed to write MMC_MEXT_DEB_MASK %d\n",
> + ret);
> + return ret;
> + }
>
> return twl6030_irq_base + MMCDETECT_INTR_OFFSET;
> }
> diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h
> index 1f90de0..672dcfb 100644
> --- a/include/linux/i2c/twl.h
> +++ b/include/linux/i2c/twl.h
> @@ -147,6 +147,11 @@
> #define SW_FC (0x1 << 2)
> #define STS_MMC 0x1
>
> +#define TWL6030_MMCDEBOUNCING 0xED
> +#define MMC_DEB_BYPASS (0x1 << 7)
> +#define MMC_MINS_DEB_MASK (0xF << 3)
> +#define MMC_MEXT_DEB_MASK (0x7 << 0)
Some description about what these values mean (timing etc) would be helpful.
> +
> #define TWL6030_CFG_INPUT_PUPD3 0xF2
> #define MMC_PU (0x1 << 3)
> #define MMC_PD (0x1 << 2)
> --
> 1.7.4.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html