V4L/DVB (13087): cx25840: Improve detection of CX2388[578] A/V cores
authorAndy Walls <awalls@radix.net>
Sun, 27 Sep 2009 02:32:54 +0000 (23:32 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 5 Dec 2009 20:40:17 +0000 (18:40 -0200)
commitc7dd1ecdc0112b9700ed6ad20a6e4e07d125044b
treecdf1bcf18b3e0e48753e0c3212adff139af908da
parent29f8a0a50ac32ac4bc1937dcfdf8de6c406a5f10
V4L/DVB (13087): cx25840: Improve detection of CX2388[578] A/V cores

Add improved logic to detect the exact CX2388[578] A/V core that is being
probed.  Also cleaned up detection and logging for CX2310[12], CX2583[67],
and CX2584[0123] cores and chips.

Also added code to identify a CX2388[578] A/V decoder core that is not
responding properly.  Typical symptoms include registers 0x00-0xff
responding properly but all other registers returning the same value
(0x13 and 0x5 have been observed).  This state will cause proper detection of
'885 vs. '887 vs. '888 to fail and the chip won't respond to get configured
properly anyway.  I have no method of reseting the core to a working state at
this time; but I didn't try too hard to work one out either.  The problem
likely only occurs in development.  I suspect configuring the SYS PLL VCO to
oscillate too slowly (286.3 MHz?) before post divide may be the root cause,
when encountered.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/cx25840/cx25840-core.c