Implementing ACPI 5 Features Device Enumeration and PM
summary
ACPI 5 adds explicit GPIO and SPB resource types (SPI/I2C/UART) that CRS methods return; kernel code in v3.8 parses those resources, creates platform_device or PCI controller objects, and instantiates child devices by building struct spi/i2c client objects from the connection descriptors. Drivers bind by matching ACPI IDs so existing platform drivers can be reused (reuse existing platform drivers). GPIO interrupts map to ACPI events and a new ACPI PM domain handles runtime and system suspend using PSx methods and power resources.
AI-written summary · about
chapters (19)
- 0:00Intro
- 0:40What is ACPI
- 8:32ACPI ICA
- 11:29ACPI 5 Features
- 13:04GPIO abstraction
- 20:32Peripherals
- 21:14Controllers
- 24:15Reuse Drivers
- 28:34SPI Enumeration
- 30:47SPI Connection Resource
- 33:06SPI Driver
- 33:53I Square C Driver
- 35:08SPI Procedure
- 39:19GPIO Procedure
- 41:09Power Management
- 41:50Power Management Overview
- 48:00Power Domain
- 50:16Demo
- 52:58Summary
related talks
51mGPIO for Engineers and Makers
41mThe Case for an SoC Power Management Driver
41mThe Case for an SoC Power Management Driver
41mLinux Power Management Features & Their Interactions, Part 2
36mLinux Power Management Features, Their Relationships and Interactions
50mHow Not to Write X86 Platform Drivers
32mAdding Runtime Power Management Capabilities to Device Drivers
48mPin Control and GPIO Update
