【驱动】03.pinctrl子系统
【嵌入式八股】一、语言篇https://www.nowcoder.com/creation/manager/columnDetail/mwQPeM
【嵌入式八股】二、计算机基础篇https://www.nowcoder.com/creation/manager/columnDetail/Mg5Lym
【嵌入式八股】三、硬件篇https://www.nowcoder.com/creation/manager/columnDetail/MRVDlM
【嵌入式八股】四、嵌入式Linux篇(本专栏)https://www.nowcoder.com/creation/manager/columnDetail/MQ2bb0
pinctrl子系统
硬件原理
见GPIO
pinctrl的三大作用:
- 引脚枚举与命名(Enumerating and naming)
- 引脚复用(Multiplexing):比如用作GPIO、I2C或其他功能
- 引脚配置(Configuration):比如上拉、下拉、open drain、驱动强度等
应用编程
内核驱动
生成pincontroller设备树信息
生成pincontroller设备树信息,有3中方法:
- 有些芯片有图形化的工具,可以点点鼠标就可以配置引脚信息,得到pincontroller中的信息
- 有些芯片,只能看厂家给的设备树文档或者参考设备树的例子
- 最差的就是需要阅读驱动代码才能构造设备树信息。
pinctrl_desc和pinctrl_dev
pincontroller虽然是一个软件的概念,但是它背后是有硬件支持的,所以可以使用一个结构体来表示它:pinctrl_dev。
怎么构造出pinctrl_dev?我们只需要描述它:提供一个pinct
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
【嵌入式八股】嵌入式Linux 文章被收录于专栏
查阅整理上千份嵌入式面经,将相关资料汇集于此,主要包括: 0.简历面试 1.语言篇 2.计算机基础 3.硬件篇 4.嵌入式Linux【本专栏】 (建议PC端查看)