| From foo@baz Thu May 24 11:23:00 CEST 2018 |
| From: Brad Love <brad@nextdimension.cc> |
| Date: Tue, 6 Mar 2018 14:15:37 -0500 |
| Subject: media: cx23885: Override 888 ImpactVCBe crystal frequency |
| |
| From: Brad Love <brad@nextdimension.cc> |
| |
| [ Upstream commit 779c79d4b833ec646b0aed878da38edb45bbe156 ] |
| |
| Hauppauge produced a revision of ImpactVCBe using an 888, |
| with a 25MHz crystal, instead of using the default third |
| overtone 50Mhz crystal. This overrides that frequency so |
| that the cx25840 is properly configured. Without the proper |
| crystal setup the cx25840 cannot load the firmware or |
| decode video. |
| |
| Signed-off-by: Brad Love <brad@nextdimension.cc> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/media/pci/cx23885/cx23885-core.c | 10 ++++++++++ |
| 1 file changed, 10 insertions(+) |
| |
| --- a/drivers/media/pci/cx23885/cx23885-core.c |
| +++ b/drivers/media/pci/cx23885/cx23885-core.c |
| @@ -872,6 +872,16 @@ static int cx23885_dev_setup(struct cx23 |
| if (cx23885_boards[dev->board].clk_freq > 0) |
| dev->clk_freq = cx23885_boards[dev->board].clk_freq; |
| |
| + if (dev->board == CX23885_BOARD_HAUPPAUGE_IMPACTVCBE && |
| + dev->pci->subsystem_device == 0x7137) { |
| + /* Hauppauge ImpactVCBe device ID 0x7137 is populated |
| + * with an 888, and a 25Mhz crystal, instead of the |
| + * usual third overtone 50Mhz. The default clock rate must |
| + * be overridden so the cx25840 is properly configured |
| + */ |
| + dev->clk_freq = 25000000; |
| + } |
| + |
| dev->pci_bus = dev->pci->bus->number; |
| dev->pci_slot = PCI_SLOT(dev->pci->devfn); |
| cx23885_irq_add(dev, 0x001f00); |