On Mon, Jan 20, 2003 at 12:33:02AM +0100, Gunther Mayer wrote: > Hi, > this patch includes the latest "make CARDLIST" and Cards patch, plus > - new card: Pace TV & Radio Card > - fix radio for some MSP34xx cards, e.g. Voodoo200, Pace Tv & Radio > It didn't work here for both "simple" settings: > - simple=0: Volume was disabled in msp_wake_thread, but 3400c_thread failed to enable > - simple=1: Besides correcting routing via scart towards decoding ourselves, > this needed "omit reset" and "set mode et al." for 3410_thread, too. > Now radio is working reliably for both "simple" settings in msp3400.c > - Printk a warning when msp3410d thread autodetect fails > (essentially autodetect on Voodoo200 fails and you should load with "simple=0" > > Unknown: > - Is the Pinnacle PCTV Pro (mt2032 version) radio fixed with this, Marius? If you talk about the autodetection of simple=0, it seems like the answer is no. > + 0x0220: Radio decoded by the Tuner (e.g.FM1236), and we only route it through the MSP > + Probably there will be 4 kinds of cards, differing by wiring this up: > + (1) Both settings work > + (2) Only 0x0020 setting works > + (10.7 MHz intermediate frequency IF from Tuner is connected to msp chip) > + (3) Only 0x0220 setting works > + (audio frequency AF from Tuner is connected to a SCART input of MSP chip) > + (4) Radio from Tuner is not connected to MSP at all, but AF is connected to HEF4052 multiplexer, > + which is steered through bt8x8 GPIO pins. > + Note: There is another code path for "simple=0" which needs the same consideration ! > + Cards: > + Pace TV & Radio card: (2) > + Voodoo 200 / Voodoo TV/FM: (2) > + WinTV Theater: (1) > + WinTV 61334 Rev.B: (1) > + Pinnacle PCTV Pro MT2032: ?? > + Pinnacle PCTV Pro Temic tuner: ?? > + miro PCTV pro (with daughterboard): ?? */ > + msp3400c_write(client,I2C_MSP3400C_DFP, 0x0008, 0x0020); > + msp3400c_write(client,I2C_MSP3400C_DFP, 0x0009, 0x0020); > + msp3400c_write(client,I2C_MSP3400C_DFP, 0x000b, 0x0020); > break; > case 0x0003: > msp->mode = MSP_MODE_FM_TERRA; > @@ -1387,7 +1411,6 @@ > { > struct msp3400c *msp = (struct msp3400c*)client->data; > > - msp3400c_setvolume(client,msp->muted,0,0); > msp->watch_stereo=0; > del_timer(&msp->wake_stereo); > if (msp->active) > @@ -1450,6 +1473,9 @@ > if (msp->simple) { > /* the thread will do for us */ > msp_wake_thread(client); > + msp3400c_setmode(client,MSP_MODE_FM_RADIO); > + msp3400c_setcarrier(client, MSP_CARRIER(10.7),MSP_CARRIER(10.7)); > + msp3400c_setvolume(client,msp->muted,msp->left,msp->right); > } else { > /* set msp3400 to FM radio mode */ > msp3400c_setmode(client,MSP_MODE_FM_RADIO);