连城县建设局网站,一般网站前端是用什么做,做设计比较好的网站推荐,展位设计《【北京迅为】itop-3568开发板驱动开发指南.pdf》 学习笔记 文章目录 GPIO 控制器必要属性其他属性 指定 GPIO 引脚 和时钟类似#xff0c;GPIO 在设备树中也存在两层定义#xff0c;首先是 GPIO 控制器#xff0c;这部分由芯片原厂工程师编写#xff0c;相当于 GPIO 底层… 《【北京迅为】itop-3568开发板驱动开发指南.pdf》 学习笔记 文章目录 GPIO 控制器必要属性其他属性 指定 GPIO 引脚 和时钟类似GPIO 在设备树中也存在两层定义首先是 GPIO 控制器这部分由芯片原厂工程师编写相当于 GPIO 底层引脚定义另一层则是用户引用的部分一般用于外设引脚配置。
以 iTOP-3568 的 GPIO 设备树为例
GPIO 控制器
GPIO 控制器例子 必要属性
在 GPIO 控制器中必须有 #gpio-cells 和 gpio-controller 属性
#gpio-cells 表示其他节点使用该 GPIO 控制器需要几个参数来表示使用的 GPIO gpio-controller 表示该节点是一个 GPIO 控制器。
其他属性
上面的例子中还用到了 gpio-ranges 属性
gpio-ranges x a b c 可以把 GPIO 的 b ~ (b c -1) pin 映射到 x 节点的 a ~ (a c -1) pin 比如上面例子的 gpio-ranges pinctrl 0 0 32; 表示将 GPIO 的 0 ~ 31 号 pin 脚映射到 pinctrl 的 0 ~ 31 号 pin 脚。
这里还有一个 GPIO 控制器的例子里面除了有上面提到的三个 gpio 属性还有 ngpios 属性 ngpios 表示当前 GPIO 控制器下有多少个 pin 脚。
这里再介绍两个 GPIO 控制器属性
gpio-reserved-ranges 用于指定保留的 pin 脚例如 gpio-reserved-ranges 2 3 表示当前 GPIO 控制器的 2,3,4 pin 脚为预留 pin即第一个参数为起始 pin第二个参数为 pin 脚数量。
gpio-line-names 用于给 GPIO 控制器的 pin 脚命名控制器有多少 pin就有多少个名字名字用逗号隔开。
指定 GPIO 引脚
在设备树中给外设分配 GPIO 时需要指定特定的 GPIO 引脚指定的格式由 GPIO 控制器决定
例如 iTOP-3568 设备树中 work 节点中 GPIO pin 定义 “gpios” 是一个自定义属性有三个参数参数个数由 GPIO 控制器中的 #gpio-cells 2 决定参数的顺序和含义是由平台决定这里指定 gpios 为 gpio0 控制器下的第 RK_PB7 pin其实就是 GPIO0_B7电平为 GPIO_ACTIVE_HIGH。 这里有个小疑问#gpio-cells 2网上资料基本都说 gpio 属性应该有两个 32 位参数但 gpio 属性不是有三个参数吗难道 gpio0 和 RK_PB7 算一个参数