[linux-dvb] XC5000/XC3028 tuner dvb support?

Chaogui Zhang czhang1974 at gmail.com
Tue Oct 23 17:54:00 CEST 2007

Hi, everyone,

I bought a Pinnacle PCTV HD 800i card recently and I am trying to add
support for the card. It has the following chips on board:

1. CX23883 (supported already)
2. Samsung S5H1409 (supported already)
3. Cirrus 5340 ADC (not seen on the I2C bus)
4. ATMEL eeprom (forgot the part no., but probably not needed anyway)
5. Xceive XC5000 or XC3028 tuner. (Not visible, mentioned in the windows 
   driver inf file.)

The windows inf file refers to Xceive XC5000 as the tuner in the
*comment*, but there is NO mentioning of it anywhere else, while
XC3028 is referenced a few more times (firmware, tuner type comment
etc). I am pasting the relevant parts of the inf file below.

I searched the archive and noticed that Steven Toth mentioned in August
about writing a driver for XC5000. At the same time, there is an
existing xc3028.c file in the v4l-dvb tree (which probably needs some
work before it can be used for this card, since it depends on em28xx
as mentioned in the comment of that file).

Based on the windows driver information, is it safe to say that it may
contain the XC5000 hardware, but that is also backward-compatible with

I also noticed that on the i2c bus, it seems like the tuner is at 
0x64 (there are only 3 visible addresses: 0x19 (s5h1409), 0x50 (eeprom),
and 0x64). However, the windows inf file refers to TunerI2CAddress at
0xC2 (which corresponds to 0x61 == (0xC2>>1)). I am puzzled by the
discrepancy here. If necessary, I can post the i2cdump result from the
eeprom and tuner later when I get home.

BTW, I have patched the tree to the point that S-Video and composite
input works without any problem. Of course, the missing tuner piece
prevents analog/dvb from functioning.

Thanks for any help!


; PG583Q Hybrid ATSC/Global TV Tuner Card , Analog TV/DVB-T using SAMSUNG s5h1409 demod with XCevie XC5000 tuner

; PG583Q Hybrid ATSC/Global TV Tuner Card , Analog TV/DVB-T using SAMSUNG s5h1409 demod with XCevie XC5000 tuner


Include=    ks.inf, kscaptur.inf, ksfilter.inf, wdmaudio.inf, bda.inf
Needs= KS.Registration,KSCAPTUR.Registration.NT,MSPCLOCK.Installation,WDMAUDIO.Registration,BDA.Registration,bda.Installation.NT
AddReg=     AvSim.AddReg,XcevieSamsung.AddReg,XBAR.AddReg,CXTS.AddReg
CopyFiles=  AvSim.CopyDrivers,DSFilters.CopyFiles,Xc3028Rom.CopyFile


HKR,"DriverData","TunerType",0x00010001, 0x1A, 0x00, 0x00, 0x00
HKR,"DriverData","DemodType",0x00010001, 0x00, 0x00, 0x00, 0x00
HKR,"DriverData","TunerI2CAddress",0x00010001, 0xC2, 0x00, 0x00, 0x00
HKR,"DriverData","Tuner2IFAddress",0x00010001, 0x86, 0x00, 0x00, 0x00
HKR,"DriverData","TunerModel",0x00010001, 0xA8,0x00,0x00,0x00
HKR,"DriverData","UseFreqOffsetDVBT",0x00010001, 0x00, 0x00, 0x00, 0x00
;  Tuner Type:
;  1A     => XCeive 3028
;  TunerModel:
;  0xA8(168) => XCevie 3028 + Samsung S5h1409
;  0x9e(158) => MT3121 + Samsung S5h1409

;NEC standard
HKR,"DriverData","IRStandard",0x00010001, 0x01, 0x00, 0x00, 0x00

HKR,"DriverData","VideoStandard",0x00010001, 0x00,0x01,0x00,0x00
HKR,"DriverData","ColorKillEnable",0x00010001, 0x00,0x00,0x00,0x00
; Country code is Unite State = 0x1
HKR,"DriverData","WWAudioCountryCode",0x00010001, 0x01,0x00,0x00,0x00
HKR,"DriverData","WWAudioLineInToI2sIn",0x00010001, 0x01,0x00,0x00,0x00
HKR,"DriverData","BlackbirdType",0x00010001, 0x00,0x00,0x00,0x00

; these registry keys for TS filter
HKR,"DriverData","dwTS_GEN_CNTRL",0x00010001,     0x04,0x00,0x00,0x00
HKR,"DriverData","dwIsTSStream",0x00010001,       0x00,0x00,0x00,0x00
HKR,"DriverData","dwTP_PACKET_SIZE",0x00010001,   0xBC,0x00,0x00,0x00



Chaogui Zhang

More information about the linux-dvb mailing list