-Index: linux-4.14.61/arch/mips/ath79/Kconfig
-===================================================================
---- linux-4.14.61.orig/arch/mips/ath79/Kconfig
-+++ linux-4.14.61/arch/mips/ath79/Kconfig
+--- a/arch/mips/ath79/Kconfig
++++ b/arch/mips/ath79/Kconfig
@@ -114,6 +114,12 @@ config SOC_QCA955X
select PCI_AR724X if PCI
def_bool n
def_bool n
config ATH79_NVRAM
-Index: linux-4.14.61/arch/mips/ath79/clock.c
-===================================================================
---- linux-4.14.61.orig/arch/mips/ath79/clock.c
-+++ linux-4.14.61/arch/mips/ath79/clock.c
+--- a/arch/mips/ath79/clock.c
++++ b/arch/mips/ath79/clock.c
@@ -523,6 +523,100 @@ static void __init qca955x_clocks_init(v
clk_add_alias("uart", NULL, "ref", NULL);
}
else
BUG();
}
-Index: linux-4.14.61/arch/mips/ath79/common.c
-===================================================================
---- linux-4.14.61.orig/arch/mips/ath79/common.c
-+++ linux-4.14.61/arch/mips/ath79/common.c
+--- a/arch/mips/ath79/common.c
++++ b/arch/mips/ath79/common.c
@@ -107,6 +107,8 @@ void ath79_device_reset_set(u32 mask)
reg = QCA953X_RESET_REG_RESET_MODULE;
else if (soc_is_qca955x())
else
BUG();
-Index: linux-4.14.61/arch/mips/ath79/dev-common.c
-===================================================================
---- linux-4.14.61.orig/arch/mips/ath79/dev-common.c
-+++ linux-4.14.61/arch/mips/ath79/dev-common.c
+--- a/arch/mips/ath79/dev-common.c
++++ b/arch/mips/ath79/dev-common.c
@@ -95,7 +95,9 @@ void __init ath79_register_uart(void)
soc_is_ar913x() ||
soc_is_ar934x() ||
} else {
BUG();
}
-Index: linux-4.14.61/arch/mips/ath79/dev-usb.c
-===================================================================
---- linux-4.14.61.orig/arch/mips/ath79/dev-usb.c
-+++ linux-4.14.61/arch/mips/ath79/dev-usb.c
+--- a/arch/mips/ath79/dev-usb.c
++++ b/arch/mips/ath79/dev-usb.c
@@ -296,6 +296,19 @@ static void __init qca955x_usb_setup(voi
&ath79_ehci_pdata_v2, sizeof(ath79_ehci_pdata_v2));
}
else
BUG();
}
-Index: linux-4.14.61/arch/mips/ath79/dev-wmac.c
-===================================================================
---- linux-4.14.61.orig/arch/mips/ath79/dev-wmac.c
-+++ linux-4.14.61/arch/mips/ath79/dev-wmac.c
+--- a/arch/mips/ath79/dev-wmac.c
++++ b/arch/mips/ath79/dev-wmac.c
@@ -195,6 +195,26 @@ static void qca955x_wmac_setup(void)
#define AR93XX_OTP_READ_DATA \
(soc_is_ar934x() ? AR934X_OTP_READ_DATA : AR9300_OTP_READ_DATA)
else
BUG();
-Index: linux-4.14.61/arch/mips/ath79/early_printk.c
-===================================================================
---- linux-4.14.61.orig/arch/mips/ath79/early_printk.c
-+++ linux-4.14.61/arch/mips/ath79/early_printk.c
+--- a/arch/mips/ath79/early_printk.c
++++ b/arch/mips/ath79/early_printk.c
@@ -120,6 +120,8 @@ static void prom_putchar_init(void)
case REV_ID_MAJOR_QCA9533_V2:
case REV_ID_MAJOR_QCA9556:
_prom_putchar = prom_putchar_ar71xx;
break;
-Index: linux-4.14.61/arch/mips/ath79/gpio.c
-===================================================================
---- linux-4.14.61.orig/arch/mips/ath79/gpio.c
-+++ linux-4.14.61/arch/mips/ath79/gpio.c
+--- a/arch/mips/ath79/gpio.c
++++ b/arch/mips/ath79/gpio.c
@@ -31,7 +31,10 @@ static void __iomem *ath79_gpio_get_func
soc_is_ar913x() ||
soc_is_ar933x())
if (gpio >= AR934X_GPIO_COUNT)
return;
-Index: linux-4.14.61/arch/mips/ath79/irq.c
-===================================================================
---- linux-4.14.61.orig/arch/mips/ath79/irq.c
-+++ linux-4.14.61/arch/mips/ath79/irq.c
+--- a/arch/mips/ath79/irq.c
++++ b/arch/mips/ath79/irq.c
@@ -156,6 +156,87 @@ static void qca955x_irq_init(void)
irq_set_chained_handler(ATH79_CPU_IRQ(3), qca955x_ip3_irq_dispatch);
}
+ else if (soc_is_qca956x() || soc_is_tp9343())
+ qca956x_irq_init();
}
-Index: linux-4.14.61/arch/mips/ath79/pci.c
-===================================================================
---- linux-4.14.61.orig/arch/mips/ath79/pci.c
-+++ linux-4.14.61/arch/mips/ath79/pci.c
+--- a/arch/mips/ath79/pci.c
++++ b/arch/mips/ath79/pci.c
@@ -68,6 +68,21 @@ static const struct ath79_pci_irq qca955
},
};
-+static const struct ath79_pci_irq qca956x_pci_irq_map[] __initconst = {
++static const struct ath79_pci_irq qca956x_pci_irq_map[] = {
+ {
+ .bus = 0,
+ .slot = 0,
} else {
/* No PCI support */
return -ENODEV;
-Index: linux-4.14.61/arch/mips/ath79/setup.c
-===================================================================
---- linux-4.14.61.orig/arch/mips/ath79/setup.c
-+++ linux-4.14.61/arch/mips/ath79/setup.c
+--- a/arch/mips/ath79/setup.c
++++ b/arch/mips/ath79/setup.c
@@ -176,6 +176,18 @@ static void __init ath79_detect_sys_type
rev = id & QCA955X_REV_ID_REVISION_MASK;
break;
else
sprintf(ath79_sys_type, "Atheros AR%s rev %u", chip, rev);
pr_info("SoC: %s\n", ath79_sys_type);
-Index: linux-4.14.61/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
-===================================================================
---- linux-4.14.61.orig/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
-+++ linux-4.14.61/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
+--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
++++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
@@ -143,6 +143,23 @@
#define QCA955X_NFC_BASE 0x1b800200
#define QCA955X_NFC_SIZE 0xb8
/*
* SRIF block
-Index: linux-4.14.61/arch/mips/include/asm/mach-ath79/ath79.h
-===================================================================
---- linux-4.14.61.orig/arch/mips/include/asm/mach-ath79/ath79.h
-+++ linux-4.14.61/arch/mips/include/asm/mach-ath79/ath79.h
+--- a/arch/mips/include/asm/mach-ath79/ath79.h
++++ b/arch/mips/include/asm/mach-ath79/ath79.h
@@ -35,6 +35,8 @@ enum ath79_soc_type {
ATH79_SOC_QCA9533,
ATH79_SOC_QCA9556,