(资料图)
/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子系统详解
为完善基础教育课程体系,发挥地方课程和校本课程育人功能,近日,教育
这家券商大股东四年发起四次定增方案。6月9日晚锦龙股份发起第四次...
端午节,又称端阳节、龙舟节、重午节、重五节、天中节等,日期在每年农
榆林与洛阳:综合实力的对比,榆林,襄阳,江浙,洛阳市,中西部地区,公园城
1、长沙屈原祠对联: “何处招魂,香草还生三户地;当年呵壁,湘...
就是过了厂家的免费售后服务。售后服务,就是在商品出售以后所提供的各
团伙设下“首付购车”骗局,黄石两家4S店掉进陷阱---湖南一男子嫌做...
在过去的一年里,俄罗斯人制定了一些反制裁计划,即使在西方制裁条件下
原标题:古蜀先民5000年前主食都吃啥?小小牙齿为你揭秘→这颗营盘山遗
什么是方波、矩形波、修正正弦波、纯正弦波?如图所示:
“史无前例地跨越了《不扩散核武器条约》原则和实践的门槛”“严重...
半自助火锅,三位份为什么不能四个人一起吃
来为大家解答以上问题,地球是什么星系哪个银河,地球是什么星很多人还
某国产芯片厂正式发布了高性能32核处理器,还支持2路、4路CPU扩展,最
6月9日,最高人民法院、最高人民检察院、公安部三部门起草了《关于依法
□羁押审查一体化核心是坚持一体化的社会危险性要件审查。不论是决定逮
6月9日,灵武市消防救援大队联合灵武市住建局房管所开展物业服务领域消
正在热映中的《蜘蛛侠:纵横宇宙》虽然长达140分钟,但故事并未讲完,
实验室间比对:按照预先规定的条件,由两个或多个实验室对相同或类似的
天津北方网讯:日前,市政府办公厅印发实施了《天津市促进港产城高质量
王艳选择了一双小白鞋来搭配整体造型,注入满满的青春活力,清爽不说,
【共同缔造安全江夏⑭】摄影作品:电力阶梯---电力工人为了保障江夏区
梅西乘私人飞机抵达北京,这是梅西个人第七次访华之旅!
药流需要住院吗?1、如果是小月份的药物流产,可以在门诊完成,不需要住
本周对于算力基础建设来说又是非常热闹。6月5日,在由工业和信息化部主
众所周知,为维护高考公平、防止考题泄露,考试须知明确规定,考试开始
近日,深圳白石龙统租公寓的一则签约协议引发关注。协议标明的租住要求
第七史诗尊严宝珠有什么用?多元阵容组合,百位伙伴自由搭配,超三百万
生物入侵:问题与对策,关于生物入侵:问题与对策介绍这个很多人还不知