Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] New card: Pinnacle PCTV 300i DVB-T (saa7134,mt352) - info and questions



Hi,

another newbie with another currently unsupported card here :-)

Here are the details:

Pinnacle PCTV MediaCenter 300i (PAL)
(similar to PCTV Stereo, but has analogue-tuner and DVB-T, 1x composite, SVHS)

PCI Vendor/Device ID 0x1131:0x7134
Subsystem ID 0x002d:11bd (the PCTV Stereo has 0x002b:11bd)

I²C bus:
AT24C02N @ 0xa0
MT2050 @ 0xc0
TDA9885 @ 0x86
MT352 (DVB-T demod) @ 0x3c

TDA9885 audio mode = intercarrier

There's also a IR remote control included, but I didn't take a look at it yet.

I've got the analogue part running on FC2 kernel 2.6.8 with sound, tuning, composite and S-Video inputs, so I think it's ready to be added to saa7134-cards.c. As I'm too stupid to make a proper diff to the newest snapshot, here's a cut & paste of the lines I added for myself... It's basically a copy of SAA7134_BOARD_PINNACLE_PCTV_STEREO, but without the composite input .vmux=0 as that gave me only a blank screen. The card has no external audio-input jacks.

---- saa7134-cards.c @ about line 700 ----
[SAA7134_BOARD_PINNACLE_PCTV_300I] = {
.name = "Pinnacle PCTV MediaCenter 300i (saa7134)",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_MT2032, /* 2050, actually */
.tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER,
.inputs = {{
.name = name_tv,
.vmux = 3,
.amux = TV,
.tv = 1,
},{
.name = name_comp1,
.vmux = 1,
.amux = LINE2,
},{
.name = name_svideo,
.vmux = 8,
.amux = LINE2,
}},
},
---- saa7134-cards.c @ about line 1300 ----
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0x11bd,
.subdevice = 0x002d,
.driver_data = SAA7134_BOARD_PINNACLE_PCTV_300I,
},{
---- saa7134.h @ line 145 ----
#define SAA7134_BOARD_PINNACLE_PCTV_300I 41
----

Now to my problem(s):

The MT352 doesn't work yet. Right after cold booting the PC, it responds to any I²C read request with 0xFF or, randomly, with I²C protocol errors. After I initialize the clock_ctl and config registers to any value, the readout of all registers becomes 0x00 (no more protocol errors, though). If I hack saa7134_board_init to set GPIO21 (which connects to the SLEEP input) to '1', then the MT352 does not respond at all.

Clocking of the MT352 is as follows: OSCMODE is tied to Vdd (1), XTO and /XTI follow the reference implementation of "external clocking via AC coupling" (Design manual p. 83) and seem to be coupled to the xtal under the metal shroud. I haven't yet opened that to read its freqency.

Another pin I was able to trace is the (obvious) connection from /PROP_RST to /RESET. Maybe I have to hardware reset the MT352 after initializing CLOCK_CTL? If so, how do I toggle the /PROP_RST pin of the SAA7134?

What furthermore confuses me is that the SADD pins determining the I²C address of the MT352 are not all tied to Vdd or Vss respectively. While SADD1 through 4 are all tied high, SADD0 is connected to the Vss plane via a 4k7 resistor. Might some logic be driving that line? Doesn't seem to be one of the GPIOs, though.

By the way, if the TS mode of the SAA7134 is set, where GPIO21 is used as TS_S_D, can I still toggle GPIO21 manually? The PCB layout suggests that the GPIO pins are to be configured for dedicated TS capture.

The SAA7134 user manual would answer most of these questions I believe, but as you all know there's unfortunately no mention of it on the Philips website. The data sheet/product spec is great, but insufficient (no info at all on registers).

So.... Any ideas?

TIA,
Lasse





Home | Main Index | Thread Index