aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/ath79/patches-5.10/940-ath79-add-support-for-booting-QCN550x.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/target/linux/ath79/patches-5.10/940-ath79-add-support-for-booting-QCN550x.patch b/target/linux/ath79/patches-5.10/940-ath79-add-support-for-booting-QCN550x.patch
new file mode 100644
index 0000000000..cf77433634
--- /dev/null
+++ b/target/linux/ath79/patches-5.10/940-ath79-add-support-for-booting-QCN550x.patch
@@ -0,0 +1,48 @@
+From: Wenli Looi <wlooi@ucalgary.ca>
+Date: Sun, 20 Jun 2021 23:32:28 -0700
+Subject: [PATCH] ath79: add support for booting QCN550x
+
+Based on wikidevi, QCN550x is a "Dragonfly" like QCA9561 and QCA9563.
+Treating it as QCA956x seems to work.
+Tested on Netgear EX7300v2 which boots successfully with
+the same CPU clock as the stock firmware.
+
+Link: https://wikidevi.wi-cat.ru/Qualcomm#bgn
+Link: https://wikidevi.wi-cat.ru/Qualcomm_Atheros#.28a.29bgn_2
+Signed-off-by: Wenli Looi <wlooi@ucalgary.ca>
+
+--- a/arch/mips/ath79/early_printk.c
++++ b/arch/mips/ath79/early_printk.c
+@@ -121,6 +121,7 @@ static void prom_putchar_init(void)
+ case REV_ID_MAJOR_QCA9558:
+ case REV_ID_MAJOR_TP9343:
+ case REV_ID_MAJOR_QCA956X:
++ case REV_ID_MAJOR_QCN550X:
+ _prom_putchar = prom_putchar_ar71xx;
+ break;
+
+--- a/arch/mips/ath79/setup.c
++++ b/arch/mips/ath79/setup.c
+@@ -168,6 +168,12 @@ static void __init ath79_detect_sys_type
+ rev = id & QCA956X_REV_ID_REVISION_MASK;
+ break;
+
++ case REV_ID_MAJOR_QCN550X:
++ ath79_soc = ATH79_SOC_QCA956X;
++ chip = "550X";
++ rev = id & QCA956X_REV_ID_REVISION_MASK;
++ break;
++
+ case REV_ID_MAJOR_TP9343:
+ ath79_soc = ATH79_SOC_TP9343;
+ chip = "9343";
+--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
++++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
+@@ -867,6 +867,7 @@
+ #define REV_ID_MAJOR_QCA9558 0x1130
+ #define REV_ID_MAJOR_TP9343 0x0150
+ #define REV_ID_MAJOR_QCA956X 0x1150
++#define REV_ID_MAJOR_QCN550X 0x2170
+
+ #define AR71XX_REV_ID_MINOR_MASK 0x3
+ #define AR71XX_REV_ID_MINOR_AR7130 0x0