Commit 9942da0e authored by Kevin Hilman's avatar Kevin Hilman

gpio/omap: debounce remove SoC specific registers, use pdata

Use register offsets passed in from pdata for accessing debounce registers.
Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
parent f64ad1a0
...@@ -81,6 +81,8 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused) ...@@ -81,6 +81,8 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused)
pdata->regs->irqenable = OMAP24XX_GPIO_IRQENABLE1; pdata->regs->irqenable = OMAP24XX_GPIO_IRQENABLE1;
pdata->regs->set_irqenable = OMAP24XX_GPIO_SETIRQENABLE1; pdata->regs->set_irqenable = OMAP24XX_GPIO_SETIRQENABLE1;
pdata->regs->clr_irqenable = OMAP24XX_GPIO_CLEARIRQENABLE1; pdata->regs->clr_irqenable = OMAP24XX_GPIO_CLEARIRQENABLE1;
pdata->regs->debounce = OMAP24XX_GPIO_DEBOUNCE_VAL;
pdata->regs->debounce_en = OMAP24XX_GPIO_DEBOUNCE_EN;
break; break;
case 2: case 2:
pdata->bank_type = METHOD_GPIO_44XX; pdata->bank_type = METHOD_GPIO_44XX;
...@@ -94,6 +96,8 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused) ...@@ -94,6 +96,8 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused)
pdata->regs->irqenable = OMAP4_GPIO_IRQSTATUSSET0; pdata->regs->irqenable = OMAP4_GPIO_IRQSTATUSSET0;
pdata->regs->set_irqenable = OMAP4_GPIO_IRQSTATUSSET0; pdata->regs->set_irqenable = OMAP4_GPIO_IRQSTATUSSET0;
pdata->regs->clr_irqenable = OMAP4_GPIO_IRQSTATUSCLR0; pdata->regs->clr_irqenable = OMAP4_GPIO_IRQSTATUSCLR0;
pdata->regs->debounce = OMAP4_GPIO_DEBOUNCINGTIME;
pdata->regs->debounce_en = OMAP4_GPIO_DEBOUNCENABLE;
break; break;
default: default:
WARN(1, "Invalid gpio bank_type\n"); WARN(1, "Invalid gpio bank_type\n");
......
...@@ -185,6 +185,8 @@ struct omap_gpio_reg_offs { ...@@ -185,6 +185,8 @@ struct omap_gpio_reg_offs {
u16 irqenable; u16 irqenable;
u16 set_irqenable; u16 set_irqenable;
u16 clr_irqenable; u16 clr_irqenable;
u16 debounce;
u16 debounce_en;
bool irqenable_inv; bool irqenable_inv;
}; };
......
...@@ -168,7 +168,7 @@ do { \ ...@@ -168,7 +168,7 @@ do { \
static void _set_gpio_debounce(struct gpio_bank *bank, unsigned gpio, static void _set_gpio_debounce(struct gpio_bank *bank, unsigned gpio,
unsigned debounce) unsigned debounce)
{ {
void __iomem *reg = bank->base; void __iomem *reg;
u32 val; u32 val;
u32 l; u32 l;
...@@ -184,19 +184,10 @@ static void _set_gpio_debounce(struct gpio_bank *bank, unsigned gpio, ...@@ -184,19 +184,10 @@ static void _set_gpio_debounce(struct gpio_bank *bank, unsigned gpio,
l = GPIO_BIT(bank, gpio); l = GPIO_BIT(bank, gpio);
if (bank->method == METHOD_GPIO_44XX) reg = bank->base + bank->regs->debounce;
reg += OMAP4_GPIO_DEBOUNCINGTIME;
else
reg += OMAP24XX_GPIO_DEBOUNCE_VAL;
__raw_writel(debounce, reg); __raw_writel(debounce, reg);
reg = bank->base; reg = bank->base + bank->regs->debounce_en;
if (bank->method == METHOD_GPIO_44XX)
reg += OMAP4_GPIO_DEBOUNCENABLE;
else
reg += OMAP24XX_GPIO_DEBOUNCE_EN;
val = __raw_readl(reg); val = __raw_readl(reg);
if (debounce) { if (debounce) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment