Skip to main content

Section outline

  • Module 1: Overview of I2C Protocol (2 hours)

    • Basics of the I2C bus.
    • I2C addressing modes and speed classifications.
    • Real-world use cases.

    Module 2: Linux I2C Subsystem (3 hours)

    • Linux kernel architecture and I2C subsystem.
    • I2C adapters, controllers, and clients.
    • Introduction to I2C kernel APIs.

    Module 3: I2C Driver Model in Linux (2 hours)

    • Structure and components of an I2C driver.
    • Writing and registering an I2C client driver.

    Lab: Implementing a basic I2C client driver and performing read/write operations.