pinctrl简析

本文档详细介绍了Linux内核中的Pinctrl子系统,用于简化和统一GPIO配置。Pinctrl管理所有可控制的pin,处理引脚复用和配置特性。在设备驱动中,通过dts配置和API调用来使用Pinctrl。同时,文章提到了pinctrl与GPIO子系统的关系,并分析了驱动流程。高通SDM845平台的Pinctrl控制器和驱动也被提及。

目录

一、概述

二、pinctrl的使用方法

三、 pinctrl原理以及驱动流程分析

四、参考文档


一、概述

    暂时未实际应用过pinctrl,暂时是以理论基础来撰写改文档,如有错误后续会持续补充。

    pinctrl主要是为了简化以及统一gpio的配置而产生。

    pinctrl子系统的功能:

(1)管理系统中所有的可以控制的pin,在系统初始化的时候,枚举所有可以控制的pin,并标识这些pin。

(2)管理这些pin的复用(Multiplexing)。对于SOC而言,其引脚除了配置成普通的GPIO之外,若干个引脚还可以组成一个pin group,行程特定的功能。pin control subsystem要管理所有的pin group。

(3)配置这些pin的特性。例如使能或关闭引脚上的pull-up、pull-down电阻,配置引脚的driver strength。

对于pinctrl的背景可以参考文档linux内核中的GPIO系统之(1):软件框架,讲的比较清楚。

二、pinctrl的使用方法

    pinctrl的使用主要包括两部分内容,一是dts配置,二是设备驱动中的使用。

    dts配置:

pinctrl的背景可以参考文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值