Hello again,
Yes, indeed the correct address is 0x2B. I2C bus is 7 bit so the
address 0x56 must be shifted 1 position right before passed to
i2c_master_send() or i2c_transfer() functions.
Now it works.
Thank you very much.
By the way it will be good if such useful functions are implemented by
the V4L driver. There are many tv-cards with additional features on
them (like watchdog, motion detection, etc).
On Feb 2, 2009, at 1:45 PM, Matthias Schwarzott wrote:
On Monday 02 February 2009 10:34, Getcho Getchev wrote:
Greetings,
I am trying to control the PV143N watchdog via bttv driver under
linux
kernel 2.6.24.3.
According to the specification the watchdog is located at address
0x56, subaddress 0x01.
However when I try to write something (a value of 0, 1 or 2) on that
address I get NACK result.
I am using i2c_master_send() function and software bitbanging
algorithm, implemented in bttv-i2c.c
At the beginning I suspected the SCL line (the clock for the
communication must be set at 100 KHz) but when I saw the delay time
is
5 microseconds I realized the period is 10 microseconds which makes
100 KHz. I tried to write the same data on address 0x2B and I
succeeded (although I do not know what is there on that address) so
it
That really sounds like a common i2c miss-understanding.
Linux kernel i2c functions use only the 7bit address part of the i2c
address.
So it sounds like your device has address 0x56 for writing and 0x57
for
reading. (is this correct?)
Now you give i2c_master_send or i2c_transfer the 7bit part, 0x56 >>
1, and
that is 0x2B.
Regards
Matthias
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html