aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorTyler Trafford <ttrafford@gmail.com>2007-08-28 16:56:47 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-09 21:07:29 -0400
commit38051450b378ef2cb51dff76a6b8299f59129172 (patch)
treeeed800e0bbf79936c2d20741f832e68a543c110c /drivers/media
parent51b39dfa5477fdb2459e3c46f855f01b8b03102d (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.c7
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. */