About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / i2c / ten-bit-addresses




Custom Search

Based on kernel version 3.16. Page generated on 2014-08-06 21:39 EST.

1	The I2C protocol knows about two kinds of device addresses: normal 7 bit
2	addresses, and an extended set of 10 bit addresses. The sets of addresses
3	do not intersect: the 7 bit address 0x10 is not the same as the 10 bit
4	address 0x10 (though a single device could respond to both of them).
5	
6	I2C messages to and from 10-bit address devices have a different format.
7	See the I2C specification for the details.
8	
9	The current 10 bit address support is minimal. It should work, however
10	you can expect some problems along the way:
11	* Not all bus drivers support 10-bit addresses. Some don't because the
12	  hardware doesn't support them (SMBus doesn't require 10-bit address
13	  support for example), some don't because nobody bothered adding the
14	  code (or it's there but not working properly.) Software implementation
15	  (i2c-algo-bit) is known to work.
16	* Some optional features do not support 10-bit addresses. This is the
17	  case of automatic detection and instantiation of devices by their,
18	  drivers, for example.
19	* Many user-space packages (for example i2c-tools) lack support for
20	  10-bit addresses.
21	
22	Note that 10-bit address devices are still pretty rare, so the limitations
23	listed above could stay for a long time, maybe even forever if nobody
24	needs them to be fixed.
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.