dts中gpio-pins节点如何配置
时间: 2024-12-26 12:28:05 浏览: 17
在DTS(Device Tree Specification)中,`gpio-pins` 节点是用来详细描述GPIO(通用输入输出)引脚的属性。配置时,一般包括以下几个部分:
1. **gpios** 属性:这是一个数组,每个元素是一个字符串,代表GPIO引脚的实际编号。例如,如果你有一个4针的GPIO,你可以写成 `gpios = <0 1 2 3>`。
2. **compatible** 属性:指定GPIO引脚使用的控制器模块,如 "gpioman-omap" 或者具体的芯片型号对应的兼容名。
3. **direction** 属性:定义引脚的方向,如果是输入(input),可能会是 `direction = <in>`;如果是输出(output),则可能是 `direction = <out>`。
4. **pull-ups/pull-downs**:如果支持上拉或下拉电阻,可以分别配置 `pull-up` 和 `pull-down`,如 `pull-up = <true>` 表示启用上拉。
5. **interrupts**:对于支持中断的GPIO,可以配置中断相关的参数,如中断类型、线程模式等。
6. **label**:可选的标签,用于人类可读的名称,方便调试和理解。
7. **name** 或 `label`:这是引用GPIO引脚的名称,常常作为其他DTS节点连接到该GPIO的标识。
配置示例:
```yaml
gpio-controller@xx {
compatible = "gpioman-omap";
#if defined(CONFIG_SOMETHING)
gpios = <0 1>;
#else
gpios = <0 1 2 3>;
#endif
gpio-pins {
gpios = <&xx_gpios 0 GPIO_ACTIVE_LOW>;
direction = <input>;
interrupt-parent = <&xx_interrupt_controller>;
interrupts = <0 0x2 IRQ_TYPE_LEVEL_HIGH>;
};
};
```
阅读全文