mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
[MTD] [OneNAND] OMAP3: add delay for GPIO
On OMAP3, the driver was occasionally not seeing the GPIO interrupt. Adding a small delay of one register read eliminates the problem. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
bde86fec7c
commit
782b7a367d
@ -141,8 +141,13 @@ static int omap2_onenand_wait(struct mtd_info *mtd, int state)
|
||||
|
||||
/* Turn interrupts on */
|
||||
syscfg = read_reg(c, ONENAND_REG_SYS_CFG1);
|
||||
syscfg |= ONENAND_SYS_CFG1_IOBE;
|
||||
write_reg(c, syscfg, ONENAND_REG_SYS_CFG1);
|
||||
if (!(syscfg & ONENAND_SYS_CFG1_IOBE)) {
|
||||
syscfg |= ONENAND_SYS_CFG1_IOBE;
|
||||
write_reg(c, syscfg, ONENAND_REG_SYS_CFG1);
|
||||
if (cpu_is_omap34xx())
|
||||
/* Add a delay to let GPIO settle */
|
||||
syscfg = read_reg(c, ONENAND_REG_SYS_CFG1);
|
||||
}
|
||||
|
||||
INIT_COMPLETION(c->irq_done);
|
||||
if (c->gpio_irq) {
|
||||
|
Loading…
Reference in New Issue
Block a user