asley tview99

dominik na formanek.cz dominik na formanek.cz
Úterý Květen 23 10:58:56 CEST 2000


Tak ted jsou zkousel opatchovat kernely 2.2.13, 2.2.14 i 2.2.15 (posledni dva jsem neprekladal) a slo mi to bez problemu.
Prikladam svoje patche.

Dominik

On Fri, Mar 31, 2000 at 08:00:42AM +0200, hancik wrote:
> hm :)
> takze ted nezbejva abych byl za kretena ja :))
> 
> delam to asi blbe ( urcite blbe )
> dam v /usr/src/linux/drivers/char patch <bttv.*.diff a dostanu hlasku:
> patch: **** malformed at line 4: text radku 4
> 
> tak me ted rozthrhejte nakusy a prozradte mi, jak na to
> 
> thanx
> 
> 
> --
> hancik
> ICQ:18595762
> hancik na atlas.cz
> 
> 
------------- další část ---------------
--- 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);
------------- další část ---------------
--- 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


Další informace o konferenci Linux