一. 前言
由于工作中需要驱动mt7981的gpio,所以研究了下怎么使用mt7981的leds驱动子系统,记录如下文。
二. 将5g wifi灯复用为普通GPIO
1. 查看drivers/pinctrl/mediatek/pinctrl-mt7981.c
static const struct group_desc mt7981_groups[] = {
......
/* @GPIO(35): WF5G_LED(1) */
PINCTRL_PIN_GROUP("wf5g_led1", mt7981_wf5g_led1),
......
};
......
static const char *mt7981_led_groups[] = { "gbe_led0", "gbe_led1", "wf2g_led0",
"wf2g_led1", "wf5g_led0", "wf5g_led1", };
......
static const struct function_desc mt7981_functions[] = {
......
{"led", mt7981_led_groups, ARRAY_SIZE(mt7981_led_groups)},
......
};
三. 修改设备树
修改arch/arm64/boot/dts/mediatek/mt7981-spim-nor-rfb.dts文件
1. 修改"wf5g_led1" pin的复用关系为普通的GPIO。"led"表示mt7981_functions数组中的一项,"wf5g_led1"为mt7981_led_groups数组中的一项。
&pio {
......
ledc_pins: l

最低0.47元/天 解锁文章
1157

被折叠的 条评论
为什么被折叠?



