Navigation

  • index
  • next |
  • previous |
  • The Linux Kernel 6.1.58-1-lts documentation »
  • Kernel subsystem documentation »
  • I2C/SMBus Subsystem

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

Quick search

Table of Contents

  • I2C/SMBus Subsystem
    • Introduction
    • Writing device drivers
    • Debugging
    • Slave I2C
    • Advanced topics
    • Legacy documentation

This Page

  • Show Source
«

Navigation

  • index
  • next |
  • previous |
  • The Linux Kernel 6.1.58-1-lts documentation »
  • Kernel subsystem documentation »
  • I2C/SMBus Subsystem
© Copyright The kernel development community. Created using Sphinx 7.2.6.