RK3568平台 GPIO子系统框架

一.gpio 子系统简介

gpio 子系统顾名思义,就是用于初始化 GPIO 并且提供相应的 API 函数,比如设置 GPIO为输入输出,读取 GPIO 的值等。gpio 子系统的主要目的就是方便驱动开发者使用 gpio,驱动 开发者在设备树中添加 gpio 相关信息,然后就可以在驱动程序中使用 gpio 子系统提供的 API函数来操作 GPIO,Linux 内核向驱动开发者屏蔽掉了 GPIO 的设置过程,极大的方便了驱动开 发者使用 GPIO。

二.GPIO子系统的架构图

RK3568平台 GPIO子系统框架_第1张图片 

 RK3568平台 GPIO子系统框架_第2张图片

gpiolib为驱动程序提供的服务包括:

-> 系统中GPIO信息的管理,比如有多少个GPIO,每个GPIO的编号是什么等;

-> GPIO的申请、释放;

-> IO的输入、输出方向的设置;IO电平的输出或者输入设置;以及GPIO与中断号的相互转换;

-> DTS中关于GPIO相关的配置信息的解析;

-> gpio系统与sysfs文件系统的交互;

-> gpio系统与debugfs文件系统的交互等。

三.架构实现

RK3568平台 GPIO子系统框架_第3张图片

gpio_chip接口:

RK3568平台 GPIO子系统框架_第4张图片 

 

你可能感兴趣的:(瑞芯微,驱动开发)