openwrt/target/linux/ath79/dts/qca9561_tplink_eap225-wall-v2.dts
Sander Vanheule 48625a0445 ath79: TP-Link EAP225-Wall v1: convert radios to nvmem-cells
Replace the mtd-cal-data phandle by an nvmem-cell reference to the art
partition for the 2.4GHz ath9k radio.

Add the PCIe node for the ath10k radio to the devicetree, and refer to
the art partition for the calibration data using nvmem-cells.

Use mac-address-increment to ensure the MAC address is set correctly,
and remove the device from the caldata extraction and patching script.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2022-06-16 21:39:32 +02:00

174 lines
3.0 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "qca956x.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tplink,eap225-wall-v2", "qca,qca9561";
model = "TP-Link EAP225-Wall v2";
aliases {
label-mac-device = &eth1;
led-boot = &led_status;
led-failsafe = &led_status;
led-running = &led_status;
led-upgrade = &led_status;
};
keys {
compatible = "gpio-keys";
reset {
label = "Reset button";
linux,code = <KEY_RESTART>;
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
led {
label = "LED button";
linux,code = <KEY_LIGHTS_TOGGLE>;
gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
led_status: status {
label = "white:status";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
default-state = "on";
};
};
gpio-export {
compatible = "gpio-export";
poe_passthrough {
gpio-export,name = "tp-link:poe-passthrough:enable";
gpio-export,output = <0>;
gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
};
};
};
&pcie {
status = "okay";
wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0 0 0 0 0>;
mac-address-increment = <1>;
nvmem-cells = <&macaddr_info_8>, <&calibration_ath10k>;
nvmem-cell-names = "mac-address", "calibration";
};
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x020000>;
read-only;
};
partition@20000 {
label = "partition-table";
reg = <0x020000 0x010000>;
read-only;
};
info: partition@30000 {
label = "info";
reg = <0x030000 0x010000>;
read-only;
};
partition@40000 {
compatible = "openwrt,elf";
label = "firmware";
reg = <0x040000 0xd80000>;
};
partition@dc0000 {
label = "config";
reg = <0xdc0000 0x030000>;
read-only;
};
/* df0000-f30000 undefined in vendor firmware */
partition@f30000 {
label = "mutil-log";
reg = <0xf30000 0x080000>;
read-only;
};
partition@fb0000 {
label = "oops";
reg = <0xfb0000 0x040000>;
read-only;
};
art: partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
calibration_ath9k: calibration@1000 {
reg = <0x1000 0x440>;
};
calibration_ath10k: calibration@5000 {
reg = <0x5000 0x2f20>;
};
};
};
};
};
&eth1 {
status = "okay";
nvmem-cells = <&macaddr_info_8>;
nvmem-cell-names = "mac-address";
};
&wmac {
status = "okay";
nvmem-cells = <&macaddr_info_8>, <&calibration_ath9k>;
nvmem-cell-names = "mac-address", "calibration";
};
&info {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_info_8: macaddr@8 {
reg = <0x8 0x6>;
};
};