1 --- a/arch/mips/ath79/setup.c
2 +++ b/arch/mips/ath79/setup.c
3 @@ -164,6 +164,12 @@ static void __init ath79_detect_sys_type
4 rev = id & AR934X_REV_ID_REVISION_MASK;
7 + case REV_ID_MAJOR_QCA9556:
8 + ath79_soc = ATH79_SOC_QCA9556;
10 + rev = id & AR944X_REV_ID_REVISION_MASK;
13 case REV_ID_MAJOR_QCA9558:
14 ath79_soc = ATH79_SOC_QCA9558;
16 --- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
17 +++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
19 #define REV_ID_MAJOR_AR9341 0x0120
20 #define REV_ID_MAJOR_AR9342 0x1120
21 #define REV_ID_MAJOR_AR9344 0x2120
22 +#define REV_ID_MAJOR_QCA9556 0x0130
23 #define REV_ID_MAJOR_QCA9558 0x1130
25 #define AR71XX_REV_ID_MINOR_MASK 0x3
26 --- a/arch/mips/include/asm/mach-ath79/ath79.h
27 +++ b/arch/mips/include/asm/mach-ath79/ath79.h
28 @@ -32,6 +32,7 @@ enum ath79_soc_type {
36 @@ -99,6 +100,11 @@ static inline int soc_is_ar934x(void)
37 return soc_is_ar9341() || soc_is_ar9342() || soc_is_ar9344();
40 +static inline int soc_is_qca9556(void)
42 + return ath79_soc == ATH79_SOC_QCA9556;
45 static inline int soc_is_qca9558(void)
47 return ath79_soc == ATH79_SOC_QCA9558;
48 @@ -106,7 +112,7 @@ static inline int soc_is_qca9558(void)
50 static inline int soc_is_qca955x(void)
52 - return soc_is_qca9558();
53 + return soc_is_qca9556() || soc_is_qca9558();
56 extern void __iomem *ath79_ddr_base;