Back again with some more ideas.
I can get it to work properly manually if I:
#modprobe tuner type=37
#modprobe saa7134 card=2
#dmesg
...
saa7134[0]: found at 02:04.0, rev: 1, irq: 5, latency: 32, mmio:
0xdf001000
saa7134[0]: subsystem: 1131:0000, board: LifeView FlyVIDEO3000
[card=2,insmod option]
saa7134[0]: flyvideo: gpio is 0x38500 [model=<NULL>,tuner=0]
tuner: chip found @ 0xc2
tuner(bttv): type forced to 37 (LG PAL (newer TAPC series)) [insmod]
tuner: type already set (37)
i2c-core.o: client [LG PAL (newer TAPC series)] registered to adapter
[saa7134[0]](pos. 0).
...
Somehow, we've got to decide whether it is a LG NEW TAPC PAL or a
Phillips PAL....
Rob
Given that my GPIO is 0x38500, I applied the following to get it to
detect that (or at least the 0x85 part) as a LG_NEW_TAPC_PAL (in
saa7134-cards.c):
static struct {
char *model;
int tuner_type;
} fly_list[0x100] = {
/* default catch ... */
[ 0x00 ] = {
.model = "UNKNOWN",
.tuner_type = TUNER_ABSENT,
},
...
[ 0x15 ] = {
.model = "NTSC",
.tuner_type = TUNER_ABSENT /* FIXME */,
},
[ 0x85 ] = {
.model = "PAL-BG (NEW TAPC)",
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
}
};
...
static void board_flyvideo(struct saa7134_dev *dev)
...
index = (value & 0xff00) >> 8;
This might not work as some other people with 0x38500 (or 0x?85??
anyway) might not have LG_NEW_TAPC_PAL tuners, and also increases the
size of the table fairly substantially, and will break because you can't
just match 0x05 anymore...
Rob.