The Linux Kernel
6.0.0
  • The Linux kernel user’s and administrator’s guide
  • Kernel Build System
  • The Linux kernel firmware guide
  • Open Firmware and Devicetree
  • The Linux kernel user-space API guide
  • Working with the kernel development community
  • Development tools for the kernel
  • How to write kernel documentation
  • Kernel Hacking Guides
  • Linux Tracing Technologies
  • Kernel Maintainer Handbook
  • fault-injection
  • Kernel Livepatching
  • The Linux driver implementer’s API guide
  • Core API Documentation
  • locking
  • Accounting
  • Block
  • cdrom
  • Linux CPUFreq - CPU frequency and voltage scaling code in the Linux(TM) kernel
  • Frame Buffer
  • fpga
  • Human Interface Devices (HID)
  • 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
    • 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
  • ISDN
  • InfiniBand
  • LEDs
  • NetLabel
  • Networking
  • pcmcia
  • Power Management
  • TCM Virtual Device
  • timers
  • Serial Peripheral Interface (SPI)
  • 1-Wire Subsystem
  • Linux Watchdog Support
  • Linux Virtualization Support
  • The Linux Input Documentation
  • Linux Hardware Monitoring
  • Linux GPU Driver Developer’s Guide
  • Security Documentation
  • Linux Sound Subsystem Documentation
  • Linux Kernel Crypto API
  • Filesystems in the Linux kernel
  • Linux Memory Management Documentation
  • BPF Documentation
  • USB support
  • Linux PCI Bus Subsystem
  • Linux SCSI Subsystem
  • Assorted Miscellaneous Devices Documentation
  • Linux Scheduler
  • MHI
  • Linux PECI Subsystem
  • Assembler Annotations
  • CPU Architectures
  • Kernel tools
  • Unsorted Documentation
  • Atomic Types
  • Atomic bitops
  • Memory Barriers
  • Translations
The Linux Kernel
  • »
  • I2C/SMBus Subsystem
  • View page source

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

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.