openwrt/target/linux/ath79/dts/qca9563_zte_mf286.dts
Lech Perczak 25eead21c5 ath79: fix 5GHz on QCA9886 variant of ZTE MF286
Recently, a strange variant of ZTE MF286 was discovered, having QCA9886
radio instead of QCA9882 - like MF286A, but having MF286 flash layout
and rest of hardware.
To support both variants in one image, bind calibration data at offset
0x5000 both as "calibration" and "pre-calibration" nvmem-cells, so
ath10k can load caldata for both at runtime.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2023-05-20 15:19:14 +02:00

131 lines
2.5 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
// Copyright (c) 2021 Cezary Jackiewicz
// Copyright (c) 2021, 2022 Lech Perczak
#include "qca9563_zte_mf286.dtsi"
/ {
model = "ZTE MF286";
compatible = "zte,mf286", "qca,qca9563";
ubi-concat {
compatible = "mtd-concat";
devices = <&ubiconcat0 &ubiconcat1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x7840000>;
label = "ubi";
};
};
};
};
&led_debug {
/* Hidden green SMD LED below signal strength LEDs
* Visible through slits underside of the case,
* and slightly through the case below signal state LEDs
*/
color = <LED_COLOR_ID_GREEN>;
label = "green:debug";
};
&boot_flash {
partitions {
partition@0 {
label = "u-boot";
reg = <0x000000 0x080000>;
read-only;
};
partition@80000 {
label = "u-boot-env";
reg = <0x080000 0x020000>;
read-only;
};
};
};
&system_flash {
partitions {
partition@0 {
label = "fota-flag";
reg = <0x000000 0x140000>;
read-only;
};
partition@140000 {
label = "caldata";
reg = <0x140000 0x140000>;
read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
cal_caldata_1000: cal@1000 {
reg = <0x1000 0x440>;
};
cal_caldata_5000: cal@5000 {
reg = <0x5000 0x844>;
};
};
partition@280000 {
label = "mac";
reg = <0x280000 0x140000>;
read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_mac_0: macaddr@0 {
reg = <0x0 0x6>;
};
};
/* This encompasses stock cfg-param, oops, web partitions,
* which can be overwritten safely
*/
ubiconcat0: partition@3c0000 {
label = "ubiconcat0";
reg = <0x3c0000 0xf40000>;
};
/* Kernel MTD size is increased to 4MB from stock 3MB */
partition@1300000 {
label = "kernel";
reg = <0x1300000 0x400000>;
};
/* This encompasses stock rootfs, data, fota partitions,
* which can be overwritten safely
*/
ubiconcat1: partition@1600000 {
label = "ubiconcat1";
reg = <0x1700000 0x6900000>;
};
};
};
&eth0 {
nvmem-cells = <&macaddr_mac_0>;
nvmem-cell-names = "mac-address";
};
&wifi_ath10k {
nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_5000>, <&cal_caldata_5000>;
nvmem-cell-names = "mac-address", "calibration", "pre-calibration";
mac-address-increment = <1>;
};
&wmac {
nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_1000>;
nvmem-cell-names = "mac-address", "calibration";
};