The Linux Kernel Logo
  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • Driver APIs
  • Subsystems
    • Core subsystems
    • Human interfaces
    • Networking interfaces
    • Storage interfaces
    • Other subsystems
      • Accounting
      • CPUFreq - CPU frequency and voltage scaling code in the Linux(TM) kernel
      • EDAC Subsystem
      • FPGA
      • I2C/SMBus Subsystem
        • Introduction
          • Introduction to I2C and SMBus
          • The I2C Protocol
          • The SMBus Protocol
          • How to instantiate I2C devices
          • I2C Bus Drivers
          • I2C muxes and complex topologies
          • Kernel driver i2c-mux-gpio
          • Linux I2C Sysfs
          • I2C Address Translators
        • Writing device drivers
          • Implementing I2C device drivers
          • Implementing I2C device drivers in userspace
          • Linux I2C and DMA
          • I2C/SMBUS Fault Codes
          • I2C/SMBus Functionality
        • Debugging
          • Linux I2C fault injection
          • i2c-stub
        • Slave I2C
          • Linux I2C slave interface description
          • Linux I2C slave EEPROM backend
          • Linux I2C slave testunit backend
        • Advanced topics
          • I2C Ten-bit Addresses
        • Legacy documentation
          • I2C device driver binding control from user-space in old kernels
      • Industrial I/O
      • PCMCIA
      • Serial Peripheral Interface (SPI)
      • 1-Wire Subsystem
      • Watchdog Support
      • Virtualization Support
      • Hardware Monitoring
      • Compute Accelerators
      • Security Documentation
      • Crypto API
      • BPF Documentation
      • USB support
      • PCI Bus Subsystem
      • Assorted Miscellaneous Devices Documentation
      • PECI Subsystem
      • WMI Subsystem
      • TEE Subsystem
  • Locking
  • Licensing rules
  • Writing documentation
  • Development tools
  • Testing guide
  • Hacking guide
  • Tracing
  • Fault injection
  • Livepatching
  • Rust
  • Administration
  • Build system
  • Reporting issues
  • Userspace tools
  • Userspace API
  • Firmware
  • Firmware and Devicetree
  • CPU architectures
  • Unsorted documentation
  • Translations
The Linux Kernel
  • Kernel subsystem documentation
  • I2C/SMBus Subsystem
  • View page source

English
  • Italian

I2C/SMBus Subsystem¶

Introduction¶

  • Introduction to I2C and SMBus
  • The I2C Protocol
  • The SMBus Protocol
  • How to instantiate I2C devices
  • I2C Bus Drivers
  • I2C muxes and complex topologies
  • Kernel driver i2c-mux-gpio
  • Linux I2C Sysfs
  • I2C Address Translators

Writing device drivers¶

  • Implementing I2C device drivers
  • Implementing I2C device drivers in userspace
  • Linux I2C and DMA
  • I2C/SMBUS Fault Codes
  • I2C/SMBus Functionality

Debugging¶

  • Linux I2C fault injection
  • i2c-stub

Slave I2C¶

  • Linux I2C slave interface description
  • Linux I2C slave EEPROM backend
  • Linux I2C slave testunit backend

Advanced topics¶

  • I2C Ten-bit Addresses

Legacy documentation¶

  • I2C device driver binding control from user-space in old kernels
Previous Next

© Copyright The kernel development community.

Built with Sphinx using a theme provided by Read the Docs.