(資料圖片僅供參考)
/kernel/include/linux/leds.h // 重要,led相關(guān)結(jié)構(gòu)體,宏定義,trigger等目錄 /kernel/driver/leds/ 下led-class.c // 定義led class及相關(guān)接口led-core.c // export 了閃爍,設(shè)置亮滅等接口led-gpio.c // "leds-gpio" 驅(qū)動(dòng)leds.h // 提供幾個(gè)接口,如: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 // 定時(shí)器ledtrig-transient.c
以參考上面的trigger例子寫自己的trigger,或者改造,需要在make menuconfig里面選上才會(huì)編譯,如下:
步驟 一 : dts配置① leds節(jié)點(diǎn)是在rk3588-evb.dtsi文件中定義
#include "rk3588-evb.dtsi"
② 定義四個(gè)led節(jié)點(diǎn): (檢查gpio是否被復(fù)用)
使用命令:dmesg | grep cannot檢查是否有g(shù)pio沖突,有沖突的話驅(qū)動(dòng)代碼會(huì)中斷,后面的dts就不會(huì)生效。
&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 >; }; }; }
步驟二:調(diào)試,驗(yàn)證:在用戶空間操作led
使用了驅(qū)動(dòng)框架后可以不需要編寫應(yīng)用程序就可以測試led是否能正常被點(diǎn)亮與熄滅,這些都可以在sysfs文件系統(tǒng)中完成。在裝載驅(qū)動(dòng)后可以在/sys/class/leds/目錄下看到對(duì)應(yīng)的led設(shè)備目錄,如本文中的work1(填充設(shè)備時(shí)的設(shè)備名字段)。
brightness power ueventmax_brightness subsystem
echo 1 > brightness
echo 0 > brightness
審核編輯:湯梓紅
上一篇:最后一艘潛艇電影國語版百度云(最后一艘潛艇電影國語版) 每日精選
下一篇:最后一頁
凡本網(wǎng)注明“XXX(非汪清新聞網(wǎng))提供”的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和其真實(shí)性負(fù)責(zé)。
苗族銀飾鍛制技藝是苗族喜愛的民間傳統(tǒng)工藝,主要用于制作頭飾、面飾、
2023-06-10 21:16
來為大家解答以上的問題。螺口燈頭的臺(tái)燈應(yīng)采用三孔插座,某商場將進(jìn)貨
2023-06-10 20:58
本文轉(zhuǎn)自:中國新聞網(wǎng)6月9日,“高質(zhì)量發(fā)展調(diào)研行”廣東主題采訪活動(dòng)在
2023-06-10 20:49
終于來了!曝廣東“雙王牌”正式到位,杜鋒不用拆散后場黑白矮!,杜鋒,
2023-06-10 20:55
想必現(xiàn)在有很多小伙伴對(duì)于浣怎么讀方面的知識(shí)都比較想要了解,那么今天
2023-06-10 20:50
【林丹喊話高考完想打羽毛球女生】6月9日,據(jù)紅星新聞報(bào)道:尋人啦!那
2023-06-10 20:46
1、白落梅,原名胥智慧。2、棲居江南,文字清淡。3、簡單自持,心似蘭
2023-06-10 20:31
EDG官宣傳奇選手Uzi回歸加盟,隨后作為恩怨對(duì)手的——G2戰(zhàn)隊(duì)也更新微博
2023-06-10 20:32
朱元璋兒子誰當(dāng)了皇帝,朱元璋兒子這個(gè)很多人還不知道,現(xiàn)在讓我們一起
2023-06-10 20:34
事實(shí)上,在整體實(shí)力占優(yōu)的情況下,瓜帥也確實(shí)沒必要變陣了,他只要讓球
2023-06-10 20:32