Hi,
I was working on a Linux driver for a hybrid TV-tuner with SAA7134 PCI bridge,
XC5000C RF tuner and Si2168 DVB demodulator by a
"combining" all existent at that time drivers together.
During that work, I had an issue with XC5000C.
Episodically, after attaching to DVB and reading XREG_PRODUCT_ID register, it
was possible to receive 0x14b4 instead of usual 0x1388 status. And as a result get a "xc5000: Device not found at addr 0x%02x
(0x%x)\n" in dmesg.
To workaround these, I added a few strings to a source of a driver to make it's
behaviour the same for 0x14b4, as for 0x1388.
After that RF tuner identification became always successful.
I had a conversation with a hardware vendor.
Now I can say, that such behaviour, most likely, because of "early" firmware
for XC5000C.
This hardware vendor is using for his Windows driver a latest firmware, and
reading Product ID register always gives 0x14b4 status.
As he says, 0x1388 status is only for previous XC5000 IC. (Without C at end of
a P/N)
Is this possible to patch xc5000.c with something like this:
#define XC_PRODUCT_ID_FW_LOADED 0x1388
+#define XC_PRODUCT_ID_FW_LOADED_XC5000C 0x14b4
case XC_PRODUCT_ID_FW_LOADED:
+ case XC_PRODUCT_ID_FW_LOADED_XC5000C:
printk(KERN_INFO
"xc5000: Successfully identified at address 0x%02x\n",
Or to try to get a chip vendor's permission for using a latest firmware for
XC5000C in Linux, and then anyway, patch the driver?
Best regards.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html