RK3308使用kernel下自带的led驱动
首先切换到kernel下:
运行make ARCH=arm64 rk3308_robot_defconfig
之后在运行make ARCH=arm64 menuconfig
我们这时就进入到了配置界面,选择Device Driver
选择LED Support
在进入LED Support选择 LED Support for GPIO connected LEDs
退出进行保存,运行make ARCH=arm64 savedefconfig,再运行
cp defconfig arch/arm64/configs/rk3308_robot_defconfig。
修改kernel下的dts文件:
路径\kernel\arch\arm64\boot\dts\rockchip\下自己的dts文件,添加自己的灯光配置:
想查看配置的方法可以在kernel\Documentation\devicetree\bindings\leds下的leds-gpios进行查看
leds {
status = "okay";
compatible = "gpio-leds";
power {
label = "firefly:red:power";
linux,default-trigger = "ir-power-click";
default-state = "on";
gpios = <&gpio2 RK_PA1GPIO_ACTIVE_HIGH>;
};
user {
label = "firefly:blue:user";
linux,default-trigger = "ir-user-click";
default-state = "on";
gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
};
user1 {
label = "firefly:green:user";
linux,default-trigger = "ir-user-click";
default-state = "on";
gpios = <&gpio2 RK_PC3 GPIO_ACTIVE_HIGH>;
};
};
gpios修改成自己的相应的gpio接口就可以了。
最后使用./build.sh进行编译,烧录进板子后,我们就可以使用echo进行灯光的操作,例如:这是将灯光进行关闭
echo 0 >/sys/class/leds/firefly:blue:user/brightness