diff options
author | Tyler Trafford <ttrafford@gmail.com> | 2007-08-28 16:56:47 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-09 21:07:29 -0400 |
commit | 38051450b378ef2cb51dff76a6b8299f59129172 (patch) | |
tree | eed800e0bbf79936c2d20741f832e68a543c110c /drivers/media | |
parent | 51b39dfa5477fdb2459e3c46f855f01b8b03102d (diff) |
V4L/DVB (6124): cx25840: add a few 10 microsecond delays
There were a couple of places in the cx25840 initialization where the
datasheet called for a 10 microsecond delay, which we ignored because
of the 10 usec I2C delay. Put them in anyway now that the I2C delay
was decreased to 5 usec.
Signed-off-by: Tyler Trafford <ttrafford@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/cx25840/cx25840-core.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/media/video/cx25840/cx25840-core.c b/drivers/media/video/cx25840/cx25840-core.c index d6f8b3b6af40..90f7859bb48e 100644 --- a/drivers/media/video/cx25840/cx25840-core.c +++ b/drivers/media/video/cx25840/cx25840-core.c | |||
@@ -133,7 +133,9 @@ static void init_dll1(struct i2c_client *client) | |||
133 | cx25840_write(client, 0x159, 0x23); | 133 | cx25840_write(client, 0x159, 0x23); |
134 | cx25840_write(client, 0x15a, 0x87); | 134 | cx25840_write(client, 0x15a, 0x87); |
135 | cx25840_write(client, 0x15b, 0x06); | 135 | cx25840_write(client, 0x15b, 0x06); |
136 | udelay(10); | ||
136 | cx25840_write(client, 0x159, 0xe1); | 137 | cx25840_write(client, 0x159, 0xe1); |
138 | udelay(10); | ||
137 | cx25840_write(client, 0x15a, 0x86); | 139 | cx25840_write(client, 0x15a, 0x86); |
138 | cx25840_write(client, 0x159, 0xe0); | 140 | cx25840_write(client, 0x159, 0xe0); |
139 | cx25840_write(client, 0x159, 0xe1); | 141 | cx25840_write(client, 0x159, 0xe1); |
@@ -147,6 +149,7 @@ static void init_dll2(struct i2c_client *client) | |||
147 | cx25840_write(client, 0x15d, 0xe3); | 149 | cx25840_write(client, 0x15d, 0xe3); |
148 | cx25840_write(client, 0x15e, 0x86); | 150 | cx25840_write(client, 0x15e, 0x86); |
149 | cx25840_write(client, 0x15f, 0x06); | 151 | cx25840_write(client, 0x15f, 0x06); |
152 | udelay(10); | ||
150 | cx25840_write(client, 0x15d, 0xe1); | 153 | cx25840_write(client, 0x15d, 0xe1); |
151 | cx25840_write(client, 0x15d, 0xe0); | 154 | cx25840_write(client, 0x15d, 0xe0); |
152 | cx25840_write(client, 0x15d, 0xe1); | 155 | cx25840_write(client, 0x15d, 0xe1); |
@@ -165,9 +168,7 @@ static void cx25836_initialize(struct i2c_client *client) | |||
165 | /* 3c. */ | 168 | /* 3c. */ |
166 | cx25840_and_or(client, 0x159, ~0x02, 0x02); | 169 | cx25840_and_or(client, 0x159, ~0x02, 0x02); |
167 | /* 3d. */ | 170 | /* 3d. */ |
168 | /* There should be a 10-us delay here, but since the | 171 | udelay(10); |
169 | i2c bus already has a 10-us delay we don't need to do | ||
170 | anything */ | ||
171 | /* 3e. */ | 172 | /* 3e. */ |
172 | cx25840_and_or(client, 0x159, ~0x02, 0x00); | 173 | cx25840_and_or(client, 0x159, ~0x02, 0x00); |
173 | /* 3f. */ | 174 | /* 3f. */ |