I2C with BTTV

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



hi!

i'm trying to make the EureSys Picolo Pro 2 card switch
input but I ran into trouble.
The card is simple it has a BT chip but the internal
muxer is not used. There is an external four channel
multiplexer.
There is a PCF8575 between the multiplexer and the
BT chip. It is connected to the SDA & SCL pin on the
BT878.
The address of the chip is 0x27. I know that the chip
address is shifted with one bit so I use 0xa7 in the
driver.

the bttv_I2CWrite(btv, 0xa7, 0xff, 0xff, 1) returns normally
it says it could send the two bytes. But I can do it on all
the other addresses from 0xa0 to 0xa7 as well. Reading
from device is strange. I modified the bttv_I2CRead to read
2 bytes instead of one and I got the following results
(I did write 0xff, 0x00 to all addresses):
0xa0	->	0	0xff
0xa1	->	0	0xff
0xa2	->	0	0xff
0xa3	->	0	0xff
0xa4	->	0	0x1
0xa5	->	0	0x1
0xa6	->	0xff	0xff
0xa7	->	0xff	0xff

It seems that something is garbled. If I change the udelay
in the algo structure then It can still send the bytes without
error, but it's not possible since the bus has a max . freq
of 400kHz.

Unfortunately I don't know the PCF8575 (I2C to parallel bus
converter)  well and it says something it is set to inout mode at 
power-on, and I need to set the outputs to 1 to switch to output
mode.

There is a I2C register in the BT chip, it supports hardware
and software mode, now software is set, but I don't know why
a software mode can be better than the bulit-in I2C support.

Or did I miss something with the I2C?

Thanks,

Gabor





[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux