summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinyu Chen <xinyu.chen@freescale.com>2008-04-01 16:49:02 +0800
committerDaniel Schaeffer <daniel.schaeffer@timesys.com>2008-08-25 15:20:57 -0400
commit8fb857971d9b67ac9373ff1af66d6f15063381fc (patch)
tree78fdb0e2938e80556f4f946c3c330e3c3e1bd68e
parent29e8216465abeb09c718897cc01418b44b1945c2 (diff)
ENGR00070270 MX31 3Stack TV-out(CH7024) I2C access failed
Add delay time between GPO1/3 power on and I2C access. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
-rw-r--r--drivers/video/mxc/ch7024.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/video/mxc/ch7024.c b/drivers/video/mxc/ch7024.c
index 8a6b1ed35af5..eff448f55618 100644
--- a/drivers/video/mxc/ch7024.c
+++ b/drivers/video/mxc/ch7024.c
@@ -367,6 +367,7 @@ static int ch7024_enable(void)
regulator_enable(core_reg);
regulator_enable(io_reg);
regulator_enable(analog_reg);
+ msleep(200);
enabled = 1;
ch7024_write_reg(CH7024_POWER, 0x00);
pr_debug("CH7024 power on.\n");
@@ -399,7 +400,6 @@ static int ch7024_detect(void)
set_irq_type(ch7024_client->irq, IRQF_TRIGGER_FALLING);
en = ch7024_enable();
- msleep(100);
ch7024_write_reg(CH7024_DAC_TRIM, 0xB4);
msleep(50);
@@ -426,7 +426,7 @@ static irqreturn_t hp_detect_handler(int irq, void *data)
static void hp_detect_wq_handler(struct work_struct *work)
{
int detect;
- struct mxc_hw_event event = {HWE_PHONEJACK_PLUG, 0};
+ struct mxc_hw_event event = { HWE_PHONEJACK_PLUG, 0 };
detect = ch7024_detect();
@@ -692,7 +692,7 @@ static int ch7024_probe(struct i2c_client *client)
regulator_enable(io_reg);
regulator_enable(core_reg);
regulator_enable(analog_reg);
- msleep(10);
+ msleep(200);
id = ch7024_read_reg(CH7024_DEVID);