openwrt/target/linux/ath79/dts/qca9563_tplink_eap245-v3.dts
Sander Vanheule d4b3b23942 ath79: TP-Link EAP245 v3: convert radios to nvmem-cells
Replace the mtd-cal-data phandle by an nvmem-cell reference from 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 an nvmem-cell.

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

189 lines
3.2 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,eap245-v3", "qca,qca9563";
model = "TP-Link EAP245 v3 / EAP265 HD v1";
aliases {
led-boot = &led_status_green;
led-failsafe = &led_status_amber;
led-running = &led_status_green;
led-upgrade = &led_status_amber;
label-mac-device = &eth0;
};
leds {
compatible = "gpio-leds";
led_status_green: status_green {
label = "green:status";
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
led_status_amber: status_amber {
label = "amber:status";
gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys";
reset {
label = "Reset button";
linux,code = <KEY_RESTART>;
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
};
&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 = "factory-boot";
reg = <0x000000 0x040000>;
read-only;
};
partition@40000 {
label = "u-boot";
reg = <0x040000 0x040000>;
read-only;
};
partition@80000 {
label = "partition-table";
reg = <0x080000 0x010000>;
read-only;
};
info: partition@90000 {
label = "info";
reg = <0x090000 0x010000>;
read-only;
};
partition@a0000 {
label = "art";
reg = <0x0a0000 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>;
};
};
partition@b0000 {
label = "extra-para";
reg = <0x0b0000 0x010000>;
read-only;
};
partition@c0000 {
compatible = "openwrt,elf";
label = "firmware";
reg = <0x0c0000 0xe40000>;
};
partition@f00000 {
label = "config";
reg = <0xf00000 0x030000>;
read-only;
};
partition@f30000 {
label = "mutil-log";
reg = <0xf30000 0x080000>;
read-only;
};
partition@fb0000 {
label = "oops";
reg = <0xfb0000 0x040000>;
read-only;
};
};
};
};
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "sgmii";
qca,ar8327-initvals = <
0x04 0x00080080 /* PAD0 */
0x7c 0x0000007e /* PORT0_STATUS */
0xe0 0xc74164de /* SGMII_CTRL */
>;
};
};
&eth0 {
status = "okay";
phy-handle = <&phy0>;
phy-mode = "sgmii";
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>;
};
};