Portál AbcLinuxu, 4. června 2024 21:14

Askey Tview 063

Postup zprovoznění pod Linuxem

Opatchovat kernel 2.2.13 - resp. soubory bttv.c, bttv.h. Kernel potom sam autodetekuje kartu.

Poznámka

Soubor bttv.h.diff ============== --- bttvold.h Mon Oct 18 10:31:22 1999 +++ bttv.h Mon Jan 3 19:35:53 2000 @@ -212,6 +212,7 @@ #define BTTV_PIXVIEWPLAYTV 0x10 #define BTTV_WINVIEW_601 0x11 #define BTTV_AVEC_INTERCAP 0x12 +#define BTTV_ASKEY 0x14 #define AUDIO_TUNER 0x00 #define AUDIO_RADIO 0x01 @@ -278,6 +279,8 @@ #define TEA6320_S_SC 0x04 /* stereo C */ #define TEA6320_S_GMU 0x80 /* general mute */ + +#define VENDOR_ASKEY 0x144f #define PT2254_L_CHANEL 0x10 #define PT2254_R_CHANEL 0x08

Soubor bttv.c.diff ============== --- bttv.c Mon Jan 3 19:36:40 2000 +++ bttv.c Mon Jan 3 19:35:48 2000 @@ -520,6 +520,25 @@ /* btaor(0, ~32, BT848_GPIO_OUT_EN); */ } +static int +askey_eeprom(struct i2c_bus *bus) +{ + struct bttv *btv = (struct bttv*)bus->data; + unsigned int id; + unsigned int vendor_id; + + readee(bus, eeprom_data); + id = (eeprom_data[252] << 8) | eeprom_data[253]; + vendor_id = (eeprom_data[254] << 8) | eeprom_data[255]; + + if (vendor_id == VENDOR_ASKEY) + { + printk("bttv%d: Askey card detected - Vendor: 0x%04x Model: 0x%04x\n",btv->nr,vendor_id,id); + return 1; + } + return 0; +} + /* ----------------------------------------------------------------------- */ @@ -577,7 +596,9 @@ /* AVEC Intercapture */ { 3, 1, 9, 2, 0, { 2, 3, 1, 1}, { 0, 0, 0, 0, 0}}, /* LifeView FlyKit w/o Tuner */ - { 3, 1, -1, -1, 0x8dff00, { 2, 3, 1, 1}} + { 3, 1, -1, -1, 0x8dff00, { 2, 3, 1, 1}}, + /* Askey */ + { 3, 1, 0, 2, 0x551e00, { 2, 0, 1, 1}, { 0x551400, 0x551200, 0, 0, 0x551200}} }; #define TVCARDS (sizeof(tvcards)/sizeof(tvcard)) @@ -3008,14 +3029,18 @@ btv->tuner_type=-1; /* use default tuner type */ /* If we were asked to auto-detect, then do so! - Right now this will only recognize Miro, Hauppauge or STB + Right now this will only recognize Miro, Hauppauge, Askey or STB */ if (btv->type == BTTV_UNKNOWN) { if (I2CRead(&(btv->i2c), I2C_HAUPEE)>=0) { if(btv->id>849) - btv->type=BTTV_HAUPPAUGE878; + { if (askey_eeprom(&(btv->i2c))>0) + btv->type=BTTV_ASKEY; + else + btv->type=BTTV_HAUPPAUGE878; + } else btv->type=BTTV_HAUPPAUGE; @@ -3043,6 +3068,11 @@ btv->pll.pll_crystal=BT848_IFORM_XT0; } } + + if (btv->type == BTTV_ASKEY) { + btv->pll.pll_ifreq=28636363; + btv->pll.pll_crystal=BT848_IFORM_XT0; + } if (btv->type == BTTV_PIXVIEWPLAYTV) { btv->pll.pll_ifreq=28636363; @@ -3149,6 +3179,9 @@ break; case BTTV_AVEC_INTERCAP: strcpy(btv->video_dev.name,"(AVEC Intercapture)"); + break; + case BTTV_ASKEY: + strcpy(btv->video_dev.name,"BT878 (Askey Tview 99)"); break; } printk("%s\n",btv->video_dev.name);

Dokument vytvořil: Dominik Formanek, 5.1.2000 14:14 | Zobrazeno: 838×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.