~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/i2c/ten-bit-addresses.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/i2c/ten-bit-addresses.rst (Version linux-6.12-rc7) and /Documentation/i2c/ten-bit-addresses.rst (Version linux-5.14.21)


  1 =====================                               1 =====================
  2 I2C Ten-bit Addresses                               2 I2C Ten-bit Addresses
  3 =====================                               3 =====================
  4                                                     4 
  5 The I2C protocol knows about two kinds of devi      5 The I2C protocol knows about two kinds of device addresses: normal 7 bit
  6 addresses, and an extended set of 10 bit addre      6 addresses, and an extended set of 10 bit addresses. The sets of addresses
  7 do not intersect: the 7 bit address 0x10 is no      7 do not intersect: the 7 bit address 0x10 is not the same as the 10 bit
  8 address 0x10 (though a single device could res      8 address 0x10 (though a single device could respond to both of them).
  9 To avoid ambiguity, the user sees 10 bit addre      9 To avoid ambiguity, the user sees 10 bit addresses mapped to a different
 10 address space, namely 0xa000-0xa3ff. The leadi     10 address space, namely 0xa000-0xa3ff. The leading 0xa (= 10) represents the
 11 10 bit mode. This is used for creating device      11 10 bit mode. This is used for creating device names in sysfs. It is also
 12 needed when instantiating 10 bit devices via t     12 needed when instantiating 10 bit devices via the new_device file in sysfs.
 13                                                    13 
 14 I2C messages to and from 10-bit address device     14 I2C messages to and from 10-bit address devices have a different format.
 15 See the I2C specification for the details.         15 See the I2C specification for the details.
 16                                                    16 
 17 The current 10 bit address support is minimal.     17 The current 10 bit address support is minimal. It should work, however
 18 you can expect some problems along the way:        18 you can expect some problems along the way:
 19                                                    19 
 20 * Not all bus drivers support 10-bit addresses     20 * Not all bus drivers support 10-bit addresses. Some don't because the
 21   hardware doesn't support them (SMBus doesn't     21   hardware doesn't support them (SMBus doesn't require 10-bit address
 22   support for example), some don't because nob     22   support for example), some don't because nobody bothered adding the
 23   code (or it's there but not working properly     23   code (or it's there but not working properly.) Software implementation
 24   (i2c-algo-bit) is known to work.                 24   (i2c-algo-bit) is known to work.
 25 * Some optional features do not support 10-bit     25 * Some optional features do not support 10-bit addresses. This is the
 26   case of automatic detection and instantiatio     26   case of automatic detection and instantiation of devices by their,
 27   drivers, for example.                            27   drivers, for example.
 28 * Many user-space packages (for example i2c-to     28 * Many user-space packages (for example i2c-tools) lack support for
 29   10-bit addresses.                                29   10-bit addresses.
 30                                                    30 
 31 Note that 10-bit address devices are still pre     31 Note that 10-bit address devices are still pretty rare, so the limitations
 32 listed above could stay for a long time, maybe     32 listed above could stay for a long time, maybe even forever if nobody
 33 needs them to be fixed.                            33 needs them to be fixed.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php