内核添加支持
设备树引用
应用调用
内核添加支持
xl9555可使用 pca9555驱动,在设备树使能pca9555节点,参考如下:
内核驱动:/kernel/drivers/gpio/gpio-pca953x.c
make menuconfig配置编译 CONFIG_GPIO_PCA953X=y
或拷贝出来手动编译成模块加载
注意这里的i2c地址由硬件A0-A2接线决定
设备树引用
例如把XL9555_IO P07,P11扩展成LED灯,在设备树中可做如下引用。
注意xl9555没有P08,P09,因此P10对应gpio_ext 8 ,P11对应gpio_ext 9 ,以此列推。
P0-- gpio_ext 0
P1-- gpio_ext 1
P2-- gpio_ext 2
P3-- gpio_ext 3
P4-- gpio_ext 4
P5-- gpio_ext 5
P6-- gpio_ext 6
P7-- gpio_ext 7
P10-- gpio_ext 8
P11-- gpio_ext 9
P12-- gpio_ext 10
系统启动后可使用标准控制LED方法控制
控制高低
echo 1 > /sys/class/leds/led1/brightness
echo 1 > /sys/class/leds/led2/brightness
闪烁
echo timer > /sys/class/leds/led1/trigger
echo timer > /sys/class/leds/led2/trigger
应用调用
在 /sys/class/gpio 目录下生成1组新的引脚gpiochip400
root@/ # ls /sys/class/gpio
export gpio402 gpio403 gpiochip0 gpiochip400 unexport
此时可像操作soc内部引脚的方法控制具体的GPIO
注意这里的xl9555的 Pn对应 GPIO的 400+n
xl9555没有P08,P09,因此P10对应gpio_ext 8 ,P11对应gpio_ext 9 ,以此列推。
例如控制XL9555_IO的 P07,P11
可用如下指令
P07 400+7=407
echo 407 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio407/direction
echo 1 > /sys/class/gpio/gpio407/value
P11 400+11-2=409
echo 409 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio409/direction
echo 1 > /sys/class/gpio/gpio409/value
-
芯片
+关注
关注
455文章
50732浏览量
423238 -
嵌入式
+关注
关注
5082文章
19111浏览量
304845 -
GPIO
+关注
关注
16文章
1204浏览量
52059
发布评论请先 登录
相关推荐
评论