设备树修改
修改sun8i-v3s-licheepi-zero.dts,在根节点下添加leds节点,注意内核LED的兼容属性为"gpio-leds"
设备树说明文档在Documentation/devicetree/bindings/leds/common.txt中,根据说明配置即可
这里将蓝色LED的状态配置为trigger心跳闪烁,其他LED参考配置即可
/ {
...
leds {
compatible = "gpio-leds";
status = "okay";
blue_led {
label = "licheepi:blue:usr";
gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
linux,default-trigger = "heartbeat";
};
red_led {
label = "licheepi:red:usr";
gpios = <&pio 6 2 GPIO_ACTIVE_LOW>; /* PG2 */
};
...
};
内核配置
默认已经勾选上,检查此项即可
- 兼容属性值为"gpio-leds",源码文件为drivers/leds/leds-gpio.c,使用了platform框架
基础测试
正常启动后可以看到蓝色LED闪烁,说明驱动正常适配
使用
在/sys/devices/platform/leds/leds/下即可看到系统创建的设备文件
向/sys/devices/platform/leds/leds/licheepi:red:usr/brightness写入1或0即可控制LED的点亮和熄灭
向/sys/devices/platform/leds/leds/licheepi:red:usr/trigger写入"heartbeat"即可控制LED闪烁