mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 06:08:08 +00:00
e354b01baf
Driver for both soc (2.4GHz Wifi) and pci (5 GHz) now pull the calibration data from the nvmem subsystem. This allows us to move the userspace caldata extraction for the pci-e ath9k supported wifi into the device-tree definition of the device. wmac's nodes are also changed over to use nvmem-cells over OpenWrt's custom mtd-cal-data property. The wifi mac address remains correct after these changes, because When both "mac-address" and "calibration" are defined, the effective mac address comes from the cell corresponding to "mac-address" and mac-address-increment. Test passed on my tplink tl-wdr4310. Signed-off-by: Edward Chow <equu@openmail.cc>
145 lines
2.4 KiB
Plaintext
145 lines
2.4 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
|
|
#include "ar9344.dtsi"
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
aliases {
|
|
led-boot = &led_system;
|
|
led-failsafe = &led_system;
|
|
led-running = &led_system;
|
|
led-upgrade = &led_system;
|
|
};
|
|
|
|
leds: leds {
|
|
compatible = "gpio-leds";
|
|
|
|
wlan2g {
|
|
label = "green:wlan2g";
|
|
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
|
linux,default-trigger = "phy0tpt";
|
|
};
|
|
|
|
led_system: system {
|
|
label = "green:system";
|
|
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
|
|
default-state = "on";
|
|
};
|
|
|
|
qss {
|
|
label = "green:qss";
|
|
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
|
|
ath9k-leds {
|
|
compatible = "gpio-leds";
|
|
|
|
wlan5g {
|
|
label = "green:wlan5g";
|
|
gpios = <&ath9k 0 GPIO_ACTIVE_LOW>;
|
|
linux,default-trigger = "phy1tpt";
|
|
};
|
|
};
|
|
|
|
keys {
|
|
compatible = "gpio-keys";
|
|
|
|
reset {
|
|
linux,code = <KEY_RESTART>;
|
|
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
|
|
debounce-interval = <60>;
|
|
};
|
|
|
|
wifi {
|
|
linux,code = <KEY_RFKILL>;
|
|
linux,input-type = <EV_SW>;
|
|
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
|
debounce-interval = <60>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&ref {
|
|
clock-frequency = <40000000>;
|
|
};
|
|
|
|
&spi {
|
|
status = "okay";
|
|
|
|
flash@0 {
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <33000000>;
|
|
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
uboot: partition@0 {
|
|
label = "u-boot";
|
|
reg = <0x000000 0x020000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@20000 {
|
|
compatible = "tplink,firmware";
|
|
label = "firmware";
|
|
reg = <0x020000 0x7d0000>;
|
|
};
|
|
|
|
art: partition@7f0000 {
|
|
label = "art";
|
|
reg = <0x7f0000 0x010000>;
|
|
read-only;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&pcie {
|
|
status = "okay";
|
|
|
|
ath9k: wifi@0,0 {
|
|
compatible = "pci168c,0033";
|
|
reg = <0x0000 0 0 0 0>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
nvmem-cells = <&macaddr_uboot_1fc00>, <&cal_art_5000>;
|
|
nvmem-cell-names = "mac-address", "calibration";
|
|
};
|
|
};
|
|
|
|
&wmac {
|
|
status = "okay";
|
|
nvmem-cells = <&macaddr_uboot_1fc00>, <&cal_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>;
|
|
};
|
|
};
|
|
|
|
&art {
|
|
compatible = "nvmem-cells";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
cal_art_1000: cal@1000 {
|
|
reg = <0x1000 0x440>;
|
|
};
|
|
|
|
cal_art_5000: cal@5000 {
|
|
reg = <0x5000 0x440>;
|
|
};
|
|
};
|