openwrt的LED是由驱动模块leds-gpio控制。下面以芯片ipq4019为例,添加一个LED(GPIO50)
设备树修改
在qcom-ipq4019-ap.dk04.1.dtsi文件中进行修改。
在pinctrl@0x01000000 下添加节点
leds {
compatible = "gpio-leds";
led@50 {
label = "led_test";
gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>;
};
};
字段介绍
compatible:leds-gpio通过该字段提取设备节点,必须为gpio-leds
led@50:GPIO50的节点
label:用来标识该LED。可以在设备启动后的/sys/class/leds 中查看到 led_test
gpio:tlmm在qcom-ipq4019.dtsi中定义,为gpio-controller。
50为GPIO的序号
GPIO_ACTIVE_HIGH标识高电平有效
测试
我的板子是低电平打开LED,高电平关闭LED。设备启动后执行以下操作,
cd /sys/class/leds/led_test
echo 1 > brightess //关闭LED
echo 0 > brightess //打开LED