瑞芯微Rockchip开发者社区
直播中

杨万富

7年用户 1438经验值
擅长:526774
私信 关注
[经验]

RK3308是怎样去使用kernel下自带的LED驱动的呢

首先切换到kernel下:

1.jpg

运行make ARCH=arm64 rk3308_robot_defconfig
之后在运行make ARCH=arm64 menuconfig
我们这时就进入到了配置界面,选择Device Driver

1.jpg

选择LED Support

1.jpg

在进入LED Support选择 LED Support for GPIO connected LEDs

1.jpg

退出进行保存,运行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进行查看

1.jpg

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

原作者:曾许人间第一流.

更多回帖

发帖
×
20
完善资料,
赚取积分