平台设备
不支持总线协议的设备一般称之为平台设备。意为和具体的硬件平台相关的设备。
由于设备的类型众多,不同的实现五花八门,有的设备并不支持总线协议,需要硬件厂商或者嵌入式开发者自行实现硬件的探测和配置。非标准的设备杂乱无章,探测和描述设备变得困难,为了支持动态的修改设备探测的机制,Linux 提供了设备树源加载机制,支持部分平台设备在不走 ACPI 的条件下,通过自定义设备树,提示内核探测自定义硬件。
设备行为
- 设备探测:识别平台设备存在及其硬件信息,依赖设备树或 ACPI 描述,无动态扫描;
- 资源配置:为设备分配硬件资源(如 MMIO 地址、中断号、时钟),基于设备树/ACPI 提供的信息;
- 电源管理:控制设备电源状态(如开启、挂起);
- 数据传输:通过 MMIO 或 GPIO 与设备交换数据;
- 中断处理:通过中断机制,异步监听硬件事件,如:DMA、错误处理;