焦点日报:Linux LED子系统详解
LinuxLED子系统详解
(资料图片)
/kernel/include/linux/leds.h // 重要,led相关结构体,宏定义,trigger等目录 /kernel/driver/leds/ 下led-class.c // 定义led class及相关接口led-core.c // export 了闪烁,设置亮灭等接口led-gpio.c // "leds-gpio" 驱动leds.h // 提供几个接口,如:led_init_core
trigger 框架核心文件:目录 /kernel/driver/leds/ 下 led-triggers.c // export了许多接口,包括:led_trigger_register目录 /kernel/driver/leds/trigger 下 ledtrig-backlight.c ledtrig-camera.c ledtrig-cpu.c ledtrig-default-on.c ledtrig-disk.c ledtrig-gpio.c ledtrig-heartbeat.c // 心跳灯效果 ledtrig-mtd.c ledtrig-oneshot.c ledtrig-panic.c ledtrig-timer.c // 定时器ledtrig-transient.c
以参考上面的trigger例子写自己的trigger,或者改造,需要在make menuconfig里面选上才会编译,如下:
步骤 一 : dts配置① leds节点是在rk3588-evb.dtsi文件中定义
#include "rk3588-evb.dtsi"
② 定义四个led节点: (检查gpio是否被复用)
使用命令:dmesg | grep cannot检查是否有gpio冲突,有冲突的话驱动代码会中断,后面的dts就不会生效。
&leds { status = "okay"; compatible = "gpio-leds"; pinctrl-names = "default"; pinctrl-0 = < &work1_led_gpio >, < &work2_led_gpio >,< &work3_led_gpio >,< &work4_led_gpio >; work1_led: work1{ default-state = "off"; gpios = < &gpio4 RK_PD2 GPIO_ACTIVE_HIGH >; }; work2_led: work2{ default-state = "off"; gpios = < &gpio4 RK_PD3 GPIO_ACTIVE_HIGH >; }; work3_led: work3{ default-state = "off"; gpios = < &gpio4 RK_PD4 GPIO_ACTIVE_HIGH >; }; work4_led: work4{ default-state = "off"; gpios = < &gpio4 RK_PD5 GPIO_ACTIVE_HIGH >; };};&pinctrl { leds{ work1_led_gpio: work1-led-gpio{ rockchip,pins = < 4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_down >; }; work2_led_gpio: work2-led-gpio{ rockchip,pins = < 4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_down >; }; work3_led_gpio: work3-led-gpio{ rockchip,pins = < 4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_down >; }; work4_led_gpio: work4-led-gpio{ rockchip,pins = < 4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_down >; }; }; }
步骤二:调试,验证:在用户空间操作led
使用了驱动框架后可以不需要编写应用程序就可以测试led是否能正常被点亮与熄灭,这些都可以在sysfs文件系统中完成。在装载驱动后可以在/sys/class/leds/目录下看到对应的led设备目录,如本文中的work1(填充设备时的设备名字段)。
brightness power ueventmax_brightness subsystem
echo 1 > brightness
echo 0 > brightness
审核编辑:汤梓红
关键词:
[ 相关文章 ]
LinuxLED子系统详解
深圳新闻网2023年6月10日讯(深圳特区报首席记者戴晓蓉)在数字时代,
点击上方“陕西新闻广播”,关注我们哦!安康两地警方发布紧急预警▼近
今天安逸四川日历海报带大家走进广元市利州区月坝村,踏湖望星空。
今天给大家分享孔雀冬天养殖的知识,以及对孔雀冬天养殖注意事项进行解
(岳依桐 唐倩)将混合各种纯天然香料及藏药材的香泥放入由牛角制
来为大家解答以上的问题。美国宪法最根本的原则,美国宪法的政治原则是
来为大家解答以上的问题。发贴吧,发贴这个很多人还不知道,现在让我们
在年初,Intel面向中国市场推出了两款特供处理器i5-13490F、i7-13790F
央视网消息:眼下,在河北省沧州渤海新区黄骅市,旱碱麦迎来了收获期。当
封面新闻记者伍雪梅伍勇罗石芊6月9日下午,2023世界动力电池大会主论坛
1、皮肤过敏或生活压力过大,上火等因素建议:1 洁面,每日用温热水洗脸
来为大家解答以上问题,邮政银行卡被吞了怎么办,银行卡被吞了怎么办很
为迎接2023年“文化和自然遗产日”,昨天下午,以“千年医脉·薪火相传
根据当前防汛形势和《国家防汛抗旱应急预案》有关规定,国家防总于6月9
荆楚网(湖北日报网)讯(通讯员付俊、漆俊)近日,从黄冈师范学院大别
荆楚网(湖北日报网)讯(通讯员龚朝辉)6月7日,笔者从黄冈市生态环境
新疆理工学院综合市场内的共享用电桩。 闫文陆 摄 乌鲁木齐6月10
1、蜂王浆放入口中含服,慢慢咽下,使人体充分吸收。2、最好将蜂王浆放
据@央视体育微博消息,今日上午,梅西乘坐的私人飞机已经在北京机场落
[ 相关新闻 ]
Copyright 2015-2022 南方医院网 版权所有 备案号:粤ICP备18023326号-21 联系邮箱:855 729 8@qq.com