本帖最后由 YanceyChiew 于 2022-11-4 11:19 编辑
确实,我翻了下驱动,根本没有这玩意的用武之地。
现在有个变通的方法,亲测有效,就是把这个gpio假装成一个led灯,配置成default-state = "on",这样系统启动时它会自动拉高,关闭(重启)时会自动拉低,挂起等状态我没有测试但是如果没有keep状态的话应该是会自动拉低的。
这样有个坏处就是gpio被占用了,也就无法从用户态手动硬重置蓝牙设备了(或者可以变通地直接控制灯的状态?),不过正常来说也没见什么软件提供这个功能,所以某种意义上来说还是很完美的。
leds {
compatible = "gpio-leds";
power_led {
led_name = "power_led";
gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_LOW>;
default-state = "on";
};
net_led {
led_name = "net_led";
gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_LOW>;
default-state = "off";
linux,default-trigger = "0.0:00:link";
};
remote_led {
led_name = "remote_led";
gpios = <&gpio_ao GPIOAO_10 GPIO_ACTIVE_LOW>;
default-state = "off";
linux,default-trigger = "rc-feedback";
};
// 修改开始
bluetooth_reset_fake_led {
led_name = "bluetooth_reset_fake_led";
gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
// 修改结束
};
本来是编译了一个overlay,结果看了下amlogic的u-boot要把dtbo搞起来似乎有点麻烦的样子,对boot脚本改动较大,还是算了。
|