(相关资料图)
/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
审核编辑:汤梓红
关键词:
当前报道:Linux LED子系统详解
黑皮诺和赤霞珠哪个后劲大?|热门
湖北省远安县发布高温橙色预警_当前速读
当前速看:原创组图 | “共建自贸港——遇见·相约夏日”钢琴音乐会亮相三亚
湖南文理学院芙蓉学院有哪些专业 湖南文理学院芙蓉学院专业排名
天天头条:信长星许昆林会见香港中华总商会访问团
炎炎夏日,如何让宝宝舒服度过今年酷暑,5个注意事项宝妈要牢记-环球快报
圣人无常心以百姓心为心的翻译成英文_圣人无常心以百姓心为心的翻译
环球最资讯丨台式电脑摄像头设置方法_台式电脑摄像头设置
苏丹冲突双方达成新的24小时临时停火协议
环球简讯:自然资源部与中国气象局6月9日18时联合发布地质灾害气象风险预警
全球关注:世界上最大的恐龙化石,重达77吨的雷龙化石,我国最大33吨
圣诞节英文怎么写_圣诞节的英语单词怎么写
大专考研究生可选学校有哪些(大专考研)_即时焦点
劳动法对旷工处理_劳动法对旷工的处罚-世界视讯
环球头条:福州3家企业获批设立博士后科研工作站
世界动态:为何英美凑到一起,就像要干坏事的样子
河南清丰:麦秆作画 点草成金
红米k30至尊纪念版一直重启
再次出圈!外交部发言人汪文斌向世界推介浏阳烟花 每日视讯
生石灰和熟石灰价格_生石灰和熟石灰-天天即时看
榕基软件:拟定增募资不超过8亿元-全球观点
马英九基金会计划邀请大陆学生访台交流_每日视点
世界快看:王菲婚姻(王菲婚姻史)
幸福的定义连番升级(幸福的定义)|每日精选
高收益下如何控回撤?深挖招银理财“固收+权益”产品投资策略丨机警理财日报
世界视点!榕基软件:拟定增募资不超过8亿元
世界热头条丨中国家用电风扇行业产量及家用电风扇行业市场调研
榕基软件:拟定增募资不超过8亿元
跨琼州海峡高铁项目开始水上勘探-焦点讯息
队报:巴黎考虑京多安但非优先目标,球员首选加盟巴萨-快看
2023零售行业发展前景投资分析
特斯拉Model 3仍使用宁德时代电池 双方可能在墨西哥建电池厂?
全球百事通!长三角贸易调整援助行业服务联盟在沪成立 上海市贸易调整援助百场培训进万企培训季启动
环球新消息丨历史上最怕老婆的皇帝-杨坚
世界观察:物业销售结转缩减 产业园区复常的几大抓手
相关新闻