Leadtek WinFast PxPVR2200
Commit Message
I have an PCIe Leadtek WinFast PxPVR2200 analog TV card with Conexant
23885+23417(6) +Xceive silicon tuner.
lspci -vnn
03:00.0 Multimedia video controller [0400]: Conexant Systems, Inc.
CX23885 PCI Video and Audio Decoder [14f1:8852] (rev 02)
Subsystem: LeadTek Research Inc. Device [107d:6f21]
Physical Slot: 0-1
Flags: bus master, fast devsel, latency 0, IRQ 46
Memory at fe800000 (64-bit, non-prefetchable) [size=2M]
Capabilities: <access denied>
Kernel driver in use: cx23885
Kernel modules: cx23885
dmesg:
[ 6.224636] Linux video capture interface: v2.00
[ 6.477487] [drm] Initialized drm 1.1.0 20060810
[ 6.694877] cx23885 driver version 0.0.2 loaded
[ 6.694945] cx23885 0000:03:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[ 6.694950] cx23885[0]: Your board isn't known (yet) to the driver.
[ 6.694951] cx23885[0]: Try to pick one of the existing card configs via
[ 6.694952] cx23885[0]: card=<n> insmod option. Updating to the latest
[ 6.694954] cx23885[0]: version might help as well.
[ 6.694956] cx23885[0]: Here is a list of valid choices for the
card=<n> insmod option:
[ 6.694958] cx23885[0]: card=0 -> UNKNOWN/GENERIC
[ 6.694961] cx23885[0]: card=1 -> Hauppauge WinTV-HVR1800lp
[ 6.694963] cx23885[0]: card=2 -> Hauppauge WinTV-HVR1800
[ 6.694965] cx23885[0]: card=3 -> Hauppauge WinTV-HVR1250
[ 6.694967] cx23885[0]: card=4 -> DViCO FusionHDTV5 Express
[ 6.694970] cx23885[0]: card=5 -> Hauppauge WinTV-HVR1500Q
[ 6.694972] cx23885[0]: card=6 -> Hauppauge WinTV-HVR1500
[ 6.694974] cx23885[0]: card=7 -> Hauppauge WinTV-HVR1200
[ 6.694976] cx23885[0]: card=8 -> Hauppauge WinTV-HVR1700
[ 6.694979] cx23885[0]: card=9 -> Hauppauge WinTV-HVR1400
[ 6.694981] cx23885[0]: card=10 -> DViCO FusionHDTV7 Dual Express
[ 6.694983] cx23885[0]: card=11 -> DViCO FusionHDTV DVB-T Dual Express
[ 6.694985] cx23885[0]: card=12 -> Leadtek Winfast PxDVR3200 H
[ 6.694988] cx23885[0]: card=13 -> Compro VideoMate E650F
[ 6.694990] cx23885[0]: card=14 -> TurboSight TBS 6920
[ 6.694992] cx23885[0]: card=15 -> TeVii S470
[ 6.694994] cx23885[0]: card=16 -> DVBWorld DVB-S2 2005
[ 6.694996] cx23885[0]: card=17 -> NetUP Dual DVB-S2 CI
[ 6.694998] cx23885[0]: card=18 -> Hauppauge WinTV-HVR1270
[ 6.695000] cx23885[0]: card=19 -> Hauppauge WinTV-HVR1275
[ 6.695003] cx23885[0]: card=20 -> Hauppauge WinTV-HVR1255
[ 6.695005] cx23885[0]: card=21 -> Hauppauge WinTV-HVR1210
[ 6.695007] cx23885[0]: card=22 -> Mygica X8506 DMB-TH
[ 6.695009] cx23885[0]: card=23 -> Magic-Pro ProHDTV Extreme 2
[ 6.695011] cx23885[0]: card=24 -> Hauppauge WinTV-HVR1850
[ 6.695013] cx23885[0]: card=25 -> Compro VideoMate E800
[ 6.695015] cx23885[0]: card=26 -> Hauppauge WinTV-HVR1290
[ 6.695017] cx23885[0]: card=27 -> Mygica X8558 PRO DMB-TH
[ 6.695019] cx23885[0]: card=28 -> LEADTEK WinFast PxTV1200
[ 6.695266] CORE cx23885[0]: subsystem: 107d:6f21, board:
UNKNOWN/GENERIC [card=0,autodetected]
[ 6.751359] input: ImPS/2 Generic Wheel Mouse as
/devices/platform/i8042/serio1/input/input3
[ 6.821922] cx23885_dev_checkrevision() Hardware revision = 0xb0
[ 6.821932] cx23885[0]/0: found at 0000:03:00.0, rev: 2, irq: 18,
latency: 0, mmio: 0xfe800000
[ 6.821940] cx23885 0000:03:00.0: setting latency timer to 64
[ 6.822033] cx23885 0000:03:00.0: irq 46 for MSI/MSI-X
[ 6.952049] IR NEC protocol handler initialized
[ 7.068596] IR RC5(x) protocol handler initialized
[ 7.139488] IR RC6 protocol handler initialized
[ 7.254102] IR JVC protocol handler initialized
After this patch:
I get:
[ 9.635089] Linux video capture interface: v2.00
[ 9.836705] cx23885 driver version 0.0.2 loaded
[ 9.836759] cx23885 0000:03:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[ 9.836998] CORE cx23885[0]: subsystem: 107d:6f21, board: LEADTEK
WinFast PxTV2200 [card=29,autodetected]
[ 10.439486] tuner 2-0064: chip found @ 0xc8 (cx23885[0])
[ 10.538830] xc2028 2-0064: creating new instance
[ 10.538834] xc2028 2-0064: type set to XCeive xc2028/xc3028 tuner
[ 10.538917] cx23885[0]/0: registered device video0 [v4l2]
[ 10.538922] xc2028 2-0064: xc2028/3028 firmware name not set!
[ 10.538927] cx23885_dev_checkrevision() Hardware revision = 0xb0
[ 10.538936] cx23885[0]/0: found at 0000:03:00.0, rev: 2, irq: 18,
latency: 0, mmio: 0xfe800000
[ 10.538944] cx23885 0000:03:00.0: setting latency timer to 64
[ 10.539030] cx23885 0000:03:00.0: irq 46 for MSI/MSI-X
Some history on the subject:
http://www.linuxtv.org/pipermail/linux-dvb/2008-September/028959.html
http://cvs.linuxtv.org/wiki/index.php/Leadtek_WinFast_PxPVR2200
If someone can point me in the right direction, please help.
Comments
03:00.0 Multimedia video controller [0400]: Conexant Systems, Inc.
CX23885 PCI Video and Audio Decoder [14f1:8852] (rev 02)
Subsystem: LeadTek Research Inc. Device [107d:6f21]
Physical Slot: 0-1
Flags: bus master, fast devsel, latency 0, IRQ 46
Memory at fe800000 (64-bit, non-prefetchable) [size=2M]
Capabilities: [40] Express Endpoint, MSI 00
Capabilities: [80] Power Management version 2
Capabilities: [90] Vital Product Data
Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [100] Advanced Error Reporting
Capabilities: [200] Virtual Channel
Kernel driver in use: cx23885
Kernel modules: cx23885
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
I think I found the firmware.
http://rapidshare.com/files/430422366/fw64.zip
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
@@ -309,6 +309,12 @@ struct cx23885_board cx23885_boards[] = {
CX25840_COMPONENT_ON,
} },
},
+ [CX23885_BOARD_LEADTEK_WINFAST_PXTV2200] = {
+ .name = "LEADTEK WinFast PxTV2200",
+ .porta = CX23885_ANALOG_VIDEO,
+ .tuner_type = TUNER_XC2028,
+ .tuner_addr = 0x64,
+ },
};
const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards);
@@ -496,6 +502,10 @@ struct cx23885_subid cx23885_subids[] = {
.subvendor = 0x107d,
.subdevice = 0x6f22,
.card = CX23885_BOARD_LEADTEK_WINFAST_PXTV1200,
+ }, {
+ .subvendor = 0x107d,
+ .subdevice = 0x6f21,
+ .card = CX23885_BOARD_LEADTEK_WINFAST_PXTV2200,
},
};
const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids);
@@ -749,6 +759,7 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)
cx_set(GP0_IO, 0x00050005); /* Bring the part out of reset */
break;
case CX23885_BOARD_HAUPPAUGE_HVR1800:
+ case CX23885_BOARD_LEADTEK_WINFAST_PXTV2200:
/* GPIO-0 656_CLK */
/* GPIO-0 656_CLK */
/* GPIO-1 656_D0 */
/* GPIO-2 8295A Reset */
@@ -84,6 +84,7 @@
#define CX23885_BOARD_HAUPPAUGE_HVR1290 26
#define CX23885_BOARD_MYGICA_X8558PRO 27
#define CX23885_BOARD_LEADTEK_WINFAST_PXTV1200 28
+#define CX23885_BOARD_LEADTEK_WINFAST_PXTV2200 29
#define GPIO_0 0x00000001
#define GPIO_1 0x00000002