部分内容6-无线灯

1.在dts文件上直接加:

wled{
label = "wr503:wlanLed";
gpios = <&gpio3 0 0>;
};

注意看datasheet ,有WLED_N  WLAN_LED_N  GPO#72,所以是gpio3,当然在dtsi文件上要增加gpio3这一组的定义

并加到ralink,group = "“里


2.开启和关闭无线,无线灯常亮,显然不正确

是否是wled的GPIO模式不正确呢?

同事移植了reg和rdm,用reg s 0;reg r 60,读出来WLED_GPIO_MODE 这一位寄存器值为1

当把这一位寄存器的值,修改为0,则结果正常

那么找关键文件吧

有#define ****_GPIO_MODE_WLED 13,这个看补丁文件看看,当初是BIT(13),即13位为1,现在应该仍是这个意思,但是我需要把它的13位置0,怎么处理?只有继续跟踪

GRP("wled", wled_grp, 1, ****_GPIO_MODE_WLED),这个把WLED的系统打包处理了,继续跟踪

在pinctrl-rt2880.c函数的rt2880_pmx_group_enable()函数里有mode关键字,就是这了

增加:

if (p->groups[group].name = "wled")
{
mode &= ~(p->groups[group].mask << p->groups[group].shift);
}

OK,完成。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值