mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
e32f70e706
Due to circuit issue or silicon defect, sometimes the WiFi switch button of the Archer C7 v2 can be accidentally triggered multiple times in one second. This will cause WiFi to be unexpectedly shut down and trigger 'irq 23: nobody cared'[1] warning. Increasing the key debounce interval to 1000 ms can fix this issue. This patch also add the missing rfkill key label. [1] Warning Log: ``` [87765.218511] irq 23: nobody cared (try booting with the "irqpoll" option) [87765.225331] CPU: 0 PID: 317 Comm: irq/23-keys Not tainted 5.15.118 #0 ... [87765.486246] handlers: [87765.488543] [<85257547>] 0x800c29a0 threaded [<5c6328a2>] 0x80ffe0b8 [gpio_button_hotplug@4cf73d00+0x1a00] [87765.498364] Disabling IRQ #23 ``` Fixes: https://github.com/openwrt/openwrt/issues/13010 Fixes: https://github.com/openwrt/openwrt/issues/12167 Fixes: https://github.com/openwrt/openwrt/issues/11191 Fixes: https://github.com/openwrt/openwrt/issues/7835 Tested-by: Hans Hasert Signed-off-by: Shiji Yang <yangshiji66@qq.com>
102 lines
1.7 KiB
Plaintext
102 lines
1.7 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
|
|
#include "qca9558_tplink_archer-c.dtsi"
|
|
|
|
/ {
|
|
compatible = "tplink,archer-c7-v2", "qca,qca9558";
|
|
model = "TP-Link Archer C7 v2";
|
|
|
|
aliases {
|
|
label-mac-device = ð1;
|
|
};
|
|
};
|
|
|
|
&keys {
|
|
rfkill {
|
|
label = "rfkill";
|
|
gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RFKILL>;
|
|
linux,input-type = <EV_SW>;
|
|
debounce-interval = <1000>;
|
|
};
|
|
};
|
|
|
|
&leds {
|
|
wlan5g {
|
|
label = "green:wlan5g";
|
|
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
|
linux,default-trigger = "phy0tpt";
|
|
};
|
|
};
|
|
|
|
&mtdparts {
|
|
uboot: partition@0 {
|
|
label = "u-boot";
|
|
reg = <0x000000 0x020000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@20000 {
|
|
label = "firmware";
|
|
reg = <0x020000 0xfd0000>;
|
|
compatible = "tplink,firmware";
|
|
};
|
|
|
|
art: partition@ff0000 {
|
|
label = "art";
|
|
reg = <0xff0000 0x010000>;
|
|
read-only;
|
|
|
|
compatible = "nvmem-cells";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
calibration_art_1000: calibration@1000 {
|
|
reg = <0x1000 0x440>;
|
|
};
|
|
|
|
calibration_art_5000: calibration@5000 {
|
|
reg = <0x5000 0x844>;
|
|
};
|
|
};
|
|
};
|
|
|
|
ð0 {
|
|
nvmem-cells = <&macaddr_uboot_1fc00>;
|
|
nvmem-cell-names = "mac-address";
|
|
mac-address-increment = <1>;
|
|
};
|
|
|
|
ð1 {
|
|
nvmem-cells = <&macaddr_uboot_1fc00>;
|
|
nvmem-cell-names = "mac-address";
|
|
};
|
|
|
|
&pcie1 {
|
|
status = "okay";
|
|
|
|
wifi@0,0 {
|
|
compatible = "qcom,ath10k";
|
|
reg = <0 0 0 0 0>;
|
|
|
|
mac-address-increment = <(-1)>;
|
|
nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_5000>;
|
|
nvmem-cell-names = "mac-address", "calibration";
|
|
};
|
|
};
|
|
|
|
&wmac {
|
|
nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_1000>;
|
|
nvmem-cell-names = "mac-address", "calibration";
|
|
};
|
|
|
|
&uboot {
|
|
compatible = "nvmem-cells";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
macaddr_uboot_1fc00: macaddr@1fc00 {
|
|
reg = <0x1fc00 0x6>;
|
|
};
|
|
};
|