Is I2C a required part of some video hardware interface?
I know what I2C is, and I’ve programmed a number of devices using I2C.
If I2C is a part of a video hardware interface, then look at the specs for
that defined interface, which will include addressing information, and use
that information to do what you need to do.
If I2C is not spec’d as a part of a standard video configuration interface,
I2C is not the solution to your problem, and I don’t think you realize what
you are up against. First, I2C is not on every chip, and even if it is on a
chip, it may not be the only option (e.g. SPI or a proprietary chip-to-chip
protocol may be used.) Second, I2C is a master/slave protocol, and while
there are I2C environments that are multi-master, the existing firmware has
to support that feature, and those are few and far between, and if the chip
you want to talk to is only a master, you will not be able to talk to that
chip over I2C.
About addressing:
Most IC’s that support I2C also have a few address lines that allow the user
of the chip to assign an address within a small range. Using Philips/NXP’s
SE95 as an example [E.g. Google for “se95” (It’s a temperature sensor) and
look at the datasheet for that part.]: It has a 7-bit address of 1001xxx,
where the xxx is defined by the address lines A2, A1, and A0. If an address
line is tied to ground, that address bit is 0, and if an address line is
tied to Vcc, that address bit is 1. To know what address to use with this
chip, you would look at the schematic to see how A2, A1, and A0 are
configured. You could also probe the chip to see how the address lines are
tied.
There are also I2C multiplexers that are used to either isolate a device or
to allow for multiple devices with the same address on the bus, and you have
to know if those are present, and how they are configured.
-Preston
On 2/20/07 5:44 AM, “xxxxx@gmail.com”
wrote:
> Dear All,
>
> I am in process of developing a display driver (PCI based) for Windows XP for
> a monitor calibration application and require your expert suggestion/comments
> for the same.
>
> One simple way is to use undocumented API that supports DDC/CI without
> developing any driver. But this solution is very limited because the graphics
> display driver must support this undocumented API, but this is rarely done
> today.
>
> So I plan to develop a display driver (PCI based) that communicates with
> video chips directly, and enable the I2C communication on graphic controllers.
> So my query is:
>
> 1) Since almost every display driver vendor will have a different offset for
> SDA and SCL (I2C communication channel). So is there any way to find those
> offsets ??
>
> 2) And incase, there is no general way, then we need to specify offsets for
> I2C for each display card ??
>
> 3) Is there any way to hack/get these offsets through reverse engineering ??
>
> Please comment.
> Thanks and Regards,
> RDH
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer