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

TOMOYO Linux Cross Reference
Linux/Documentation/i2c/summary.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/summary.rst (Version linux-6.12-rc7) and /Documentation/i2c/summary.rst (Version linux-2.6.32.71)


  1 =============================                     
  2 Introduction to I2C and SMBus                     
  3 =============================                     
  4                                                   
  5 I²C (pronounce: I squared C and written I2C i    
  6 a protocol developed by Philips. It is a two-w    
  7 speed (typically up to 400 kHz, high speed mod    
  8 an inexpensive bus for connecting many types o    
  9 low bandwidth communications needs. I2C is wid    
 10 systems. Some systems use variants that don't     
 11 and so are not advertised as being I2C but com    
 12 e.g. TWI (Two Wire Interface), IIC.               
 13                                                   
 14 The latest official I2C specification is the `    
 15 manual" (UM10204) <https://www.nxp.com/docs/en    
 16 published by NXP Semiconductors, version 7 as     
 17                                                   
 18 SMBus (System Management Bus) is based on the     
 19 a subset of I2C protocols and signaling. Many     
 20 SMBus, but some SMBus protocols add semantics     
 21 achieve I2C branding. Modern PC mainboards rel    
 22 devices connected through SMBus are RAM module    
 23 and hardware monitoring chips.                    
 24                                                   
 25 Because the SMBus is mostly a subset of the ge    
 26 use its protocols on many I2C systems. However    
 27 meet both SMBus and I2C electrical constraints    
 28 implement all the common SMBus protocol semant    
 29                                                   
 30                                                   
 31 Terminology                                       
 32 ===========                                       
 33                                                   
 34 The I2C bus connects one or more controller ch    
 35                                                   
 36 .. kernel-figure::  i2c_bus.svg                   
 37    :alt:    Simple I2C bus with one controller    
 38                                                   
 39    Simple I2C bus                                 
 40                                                   
 41 A **controller** chip is a node that starts co    
 42 Linux kernel implementation it is also called     
 43 drivers are usually in the ``drivers/i2c/busse    
 44                                                   
 45 An **algorithm** contains general code that ca    
 46 class of I2C controllers. Each specific contro    
 47 algorithm driver in the ``drivers/i2c/algos/``    
 48 own implementation.                               
 49                                                   
 50 A **target** chip is a node that responds to c    
 51 controller. In the Linux kernel implementation    
 52 While targets are usually separate external ch    
 53 target (needs hardware support) and respond to    
 54 This is then called a **local target**. In con    
 55 a **remote target**.                              
 56                                                   
 57 Target drivers are kept in a directory specifi    
 58 for example ``drivers/gpio/`` for GPIO expande    
 59 video-related chips.                              
 60                                                   
 61 For the example configuration in the figure ab    
 62 the I2C controller, and drivers for your I2C t    
 63 each target.                                      
 64                                                   
 65 Synonyms                                          
 66 --------                                          
 67                                                   
 68 As mentioned above, the Linux I2C implementati    
 69 "adapter" for controller and "client" for targ    
 70 have these synonyms in their name. So, when di    
 71 you should be aware of these terms as well. Th    
 72 though.                                           
 73                                                   
 74 Outdated terminology                              
 75 --------------------                              
 76                                                   
 77 In earlier I2C specifications, controller was     
 78 named "slave". These terms have been obsoleted    
 79 their use is also discouraged by the Linux Ker    
 80 still find them in references to documentation    
 81 general attitude, however, is to use the inclu    
 82 target. Work to replace the old terminology in    
                                                      

~ [ 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