GPIO使用
S100 Acore芯片内中共有3个sys有gpio设备,分别是peri, cam和video,每个设备最多有32个gpio引脚,并且每个gpio引脚都支持中断。
驱动代码
kernel/drivers/gpio/gpio-dwapb.c # gpio驱动源文件
内核配置
GPIO_DWAPB
内核DTS配置
S100 GPIO控制器的设备树定义 位于SDK包的kernel文件夹下的arch/arm64/boot/dts/hobot/drobot-s100-soc.dtsi文件内。
备注
s100.dtsi中的节点主要声明SoC共有特性,和具体电路板无关,一般情况下不用修改。
GPIO使用
Kernel Space
DTS配置
s100所有引脚的GPIO配置位于SDK包的kernel文件夹下路径为arch/arm64/boot/dts/hobot/drobot-s100-soc.dtsi
的文件内。
用户需要配置特定引脚为GPIO功能时,可以直接引用预定义GPIO配置:
GPIO设备树节点的属性命名方式一般为<names>-gpios
或<names>-gpio
,举例如下:
/**
* peri_port0表示peri sys的第一个gpio设备
* 下列设备节点共有四个gpio引脚,分别是:
* peri sys的第一个gpio设备 16号引脚(从0开始)
* peri sys的第二个gpio设备 17号引脚(从0开始)
* cam sys的第一个gpio设备 28号引脚(从0开始)
* video sys的第一个gpio设备 18号引脚(从0开始)
* GPIO_ACTIVE_HIGH表示高电平有效,一般设为GPIO_ACTIVE_HIGH
*/
gpio-test {
test-gpios = <&peri_port0 16 GPIO_ACTIVE_HIGH
&peri_port1 17 GPIO_ACTIVE_HIGH
&cam_port0 28 GPIO_ACTIVE_HIGH
&video_port0 18 GPIO_ACTIVE_HIGH>;
};