更新日期 | 更新内容 |
---|---|
2022/11/27 | 初稿 |
专栏介绍
本系列专栏文章专注于Linux内核常见的驱动子系统/框架剖析,开发平台主要使用RK3399平台,讲解期间会穿插介绍STM32MP157、i.MX、全志等平台,Linux内核使用主线5.4.32版本。
一、什么是gpio子系统
Linux内核通过gpio子系统来管理gpio控制器,gpio控制器包括处理器内部的gpio控制器外设、也包括外部扩展的gpio控制器(比如i2c接口扩展芯片PCA9557)。
二、为什么需要gpio子系统
按照分层思想,其有两个大的作用:
- 对上向内核提供统一的gpio操作接口,屏蔽不同处理器的gpio控制器操作差异
- 对下提供适配接口,由每个gpio控制器厂商去适配驱动