IMX6ULL嵌入式Linux驱动开发学习
以下内容是我在学习正点原子IMX6ULL
开发板alpha
中记录的笔记,部分摘录自正点原子IMX6ULL开发手册
。
正常工作中进行驱动开发的方式——子系统。
一、pinctrl子系统
借助pinctrl
来设置一个pin
的复用和电气属性。
pinctrl
子系统主要工作内容如下:
- 获取设备树中的
pin
信息。 - 根据获取到的
pin
信息来设置pin
的复用功能。 - 根据获取到的
pin
信息来设置pin
的电气特性,比如上/下拉、速度、驱动能力等。
对于使用者来说,只要在设备树里面设置某个pin
的相关属性即可,其他的初始化工作由pinctrl
子系统来完成,pinctrl
子系统源码目录为drivers/pinctrl
。根据设备的类型,会创建对应的子节点,然后设备所用pin
都放到此节点。
1 | imx6ul-evk { |
二、gpio子系统
使用gpio
子系统来使用gpio
。
三、驱动编写
- 设备树修改
1 | / { |
- 驱动程序
1 |
|
- 本文作者: 路痴的兔子
- 本文链接: https:/proudrabbit.gitee.io/IMX6ULL嵌入式Linux驱动学习笔记(六).html
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!