Linux内核的 led 子系统主要功能:
YY3568上接了两个蓝色LED灯,分别为GPIO3_A4和GPIO02_B2,如下图所示:
我们将两个蓝色LED等命名为:blue1 和 blue2。
增加对应LED灯节点,compatible为gpio-leds。节点中挂载两个LED,lable分别为blue1 和 blue2:
gpio_leds: gpio-leds {
compatible = "gpio-leds";
led@1 {
gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>;
label = "blue1"; // Blue1
retain-state-suspended;
};
led@2 {
gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_HIGH>;
label = "blue2"; // Blue2
retain-state-suspended;
};
};
增加对应LED灯引脚初始化配置:
leds_gpio: leds-gpio {
rockchip,pins =
<3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
<2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
};
配置选项位置如下:
│ Location: │
│ -> Device Drivers │
│ -> LED Support (NEW_LEDS [=y])
以上操作完,编译烧录,就可以在/sys/class/leds下产生对应文件节点:
echo 255 > /sys/class/leds/blue1/brightness
echo 255 > /sys/class/leds/blue1/brightness