]>
Commit | Line | Data |
---|---|---|
06e23a17 GKH |
1 | From foo@baz Thu May 24 11:09:34 CEST 2018 |
2 | From: Brad Love <brad@nextdimension.cc> | |
3 | Date: Tue, 6 Mar 2018 14:15:37 -0500 | |
4 | Subject: media: cx23885: Override 888 ImpactVCBe crystal frequency | |
5 | ||
6 | From: Brad Love <brad@nextdimension.cc> | |
7 | ||
8 | [ Upstream commit 779c79d4b833ec646b0aed878da38edb45bbe156 ] | |
9 | ||
10 | Hauppauge produced a revision of ImpactVCBe using an 888, | |
11 | with a 25MHz crystal, instead of using the default third | |
12 | overtone 50Mhz crystal. This overrides that frequency so | |
13 | that the cx25840 is properly configured. Without the proper | |
14 | crystal setup the cx25840 cannot load the firmware or | |
15 | decode video. | |
16 | ||
17 | Signed-off-by: Brad Love <brad@nextdimension.cc> | |
18 | Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> | |
19 | Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> | |
20 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
21 | --- | |
22 | drivers/media/pci/cx23885/cx23885-core.c | 10 ++++++++++ | |
23 | 1 file changed, 10 insertions(+) | |
24 | ||
25 | --- a/drivers/media/pci/cx23885/cx23885-core.c | |
26 | +++ b/drivers/media/pci/cx23885/cx23885-core.c | |
27 | @@ -873,6 +873,16 @@ static int cx23885_dev_setup(struct cx23 | |
28 | if (cx23885_boards[dev->board].clk_freq > 0) | |
29 | dev->clk_freq = cx23885_boards[dev->board].clk_freq; | |
30 | ||
31 | + if (dev->board == CX23885_BOARD_HAUPPAUGE_IMPACTVCBE && | |
32 | + dev->pci->subsystem_device == 0x7137) { | |
33 | + /* Hauppauge ImpactVCBe device ID 0x7137 is populated | |
34 | + * with an 888, and a 25Mhz crystal, instead of the | |
35 | + * usual third overtone 50Mhz. The default clock rate must | |
36 | + * be overridden so the cx25840 is properly configured | |
37 | + */ | |
38 | + dev->clk_freq = 25000000; | |
39 | + } | |
40 | + | |
41 | dev->pci_bus = dev->pci->bus->number; | |
42 | dev->pci_slot = PCI_SLOT(dev->pci->devfn); | |
43 | cx23885_irq_add(dev, 0x001f00); |