|
|
@@ -0,0 +1,48 @@
|
|
|
+From: Wenli Looi <[email protected]>
|
|
|
+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 <[email protected]>
|
|
|
+
|
|
|
+--- 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
|