Query

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

 



First, you can scan the bus to see which addresses have devices which 
respond to an I2C command.

The datasheets show what possible addresses a device can be configured 
to be located at.  Also, blocks of addresses usually are used by certain 
types of chips (like 0x50-0x5F and 0x30-0x3F are usually eeproms, 0x2D 
is usually a system hardware monitoring chip, 0x69 is usually a clocking 
chip, etc.)

To confirm the identity, we do some specific query (again as specified 
by the datasheet) which can be used as a test.  For example, some chips 
have specific registers which will always contain some specific values 
to identify things like vendor, chip ID, and die rev.

So, if you are looking for a specific device and want to see if it is at 
a particular address, you'll have to try to communicate with it as per 
the datasheet to see if it responds in a way that you would expect.

Unfortunately, there is no clear cut way of knowing what a chip is 
before talking with it (unlike other bus protocols, like PCI).

Does this help?


Phil

Ashwin Nayak wrote:

>Hi,
>	What I would like to know is how you guys can tell at which address
>which hardware is located. Like you guys say that the pll is at address
>0x69 etc.How can I tell if the device that I am looking for is at a
>particular address.
>
>Ashwin
>
>
>
>  
>



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux