diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 37d4d48..ce1b5e3 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -603,6 +603,7 @@ config MIPS_MALTA
 
 config MACH_PIC32
 	bool "Microchip PIC32 Family"
+	select HAVE_MACH_HEAD_FILES
 	help
 	  This enables support for the Microchip PIC32 family of platforms.
 
diff --git a/arch/mips/pic32/Platform b/arch/mips/pic32/Platform
index cd2084f4..615ce0d 100644
--- a/arch/mips/pic32/Platform
+++ b/arch/mips/pic32/Platform
@@ -2,6 +2,6 @@
 # PIC32MZDA
 #
 platform-$(CONFIG_PIC32MZDA)	+= pic32/
-cflags-$(CONFIG_PIC32MZDA)	+= -I$(srctree)/arch/mips/include/asm/mach-pic32
+cflags-$(CONFIG_PIC32MZDA)	+= -I$(srctree)/arch/mips/pic32/include
 load-$(CONFIG_PIC32MZDA)	+= 0xffffffff88000000
 all-$(CONFIG_PIC32MZDA)		:= $(COMPRESSION_FNAME).bin
diff --git a/arch/mips/pic32/common/reset.c b/arch/mips/pic32/common/reset.c
index a5fd7a8..5fca663 100644
--- a/arch/mips/pic32/common/reset.c
+++ b/arch/mips/pic32/common/reset.c
@@ -6,7 +6,7 @@
 #include <linux/init.h>
 #include <linux/pm.h>
 #include <asm/reboot.h>
-#include <asm/mach-pic32/pic32.h>
+#include <mach/pic32.h>
 
 #define PIC32_RSWRST		0x10
 
diff --git a/arch/mips/include/asm/mach-pic32/cpu-feature-overrides.h b/arch/mips/pic32/include/mach/cpu-feature-overrides.h
similarity index 100%
rename from arch/mips/include/asm/mach-pic32/cpu-feature-overrides.h
rename to arch/mips/pic32/include/mach/cpu-feature-overrides.h
diff --git a/arch/mips/pic32/include/mach/ioremap.h b/arch/mips/pic32/include/mach/ioremap.h
new file mode 100644
index 0000000..2369393
--- /dev/null
+++ b/arch/mips/pic32/include/mach/ioremap.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/ioremap.h>
diff --git a/arch/mips/include/asm/mach-pic32/irq.h b/arch/mips/pic32/include/mach/irq.h
similarity index 100%
rename from arch/mips/include/asm/mach-pic32/irq.h
rename to arch/mips/pic32/include/mach/irq.h
diff --git a/arch/mips/pic32/include/mach/kernel-entry-init.h b/arch/mips/pic32/include/mach/kernel-entry-init.h
new file mode 100644
index 0000000..19b872be
--- /dev/null
+++ b/arch/mips/pic32/include/mach/kernel-entry-init.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/kernel-entry-init.h>
diff --git a/arch/mips/pic32/include/mach/kmalloc.h b/arch/mips/pic32/include/mach/kmalloc.h
new file mode 100644
index 0000000..4f056db
--- /dev/null
+++ b/arch/mips/pic32/include/mach/kmalloc.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/kmalloc.h>
diff --git a/arch/mips/pic32/include/mach/mangle-port.h b/arch/mips/pic32/include/mach/mangle-port.h
new file mode 100644
index 0000000..b9736e3
--- /dev/null
+++ b/arch/mips/pic32/include/mach/mangle-port.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/mangle-port.h>
diff --git a/arch/mips/pic32/include/mach/mc146818rtc.h b/arch/mips/pic32/include/mach/mc146818rtc.h
new file mode 100644
index 0000000..7284af8
--- /dev/null
+++ b/arch/mips/pic32/include/mach/mc146818rtc.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/mc146818rtc.h>
diff --git a/arch/mips/include/asm/mach-pic32/pic32.h b/arch/mips/pic32/include/mach/pic32.h
similarity index 100%
rename from arch/mips/include/asm/mach-pic32/pic32.h
rename to arch/mips/pic32/include/mach/pic32.h
diff --git a/arch/mips/include/asm/mach-pic32/spaces.h b/arch/mips/pic32/include/mach/spaces.h
similarity index 100%
rename from arch/mips/include/asm/mach-pic32/spaces.h
rename to arch/mips/pic32/include/mach/spaces.h
diff --git a/arch/mips/pic32/include/mach/topology.h b/arch/mips/pic32/include/mach/topology.h
new file mode 100644
index 0000000..86e585b
--- /dev/null
+++ b/arch/mips/pic32/include/mach/topology.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/topology.h>
diff --git a/arch/mips/pic32/include/mach/war.h b/arch/mips/pic32/include/mach/war.h
new file mode 100644
index 0000000..5b0422a
--- /dev/null
+++ b/arch/mips/pic32/include/mach/war.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/war.h>
diff --git a/arch/mips/pic32/pic32mzda/config.c b/arch/mips/pic32/pic32mzda/config.c
index 36afe1b..5223be2 100644
--- a/arch/mips/pic32/pic32mzda/config.c
+++ b/arch/mips/pic32/pic32mzda/config.c
@@ -7,7 +7,7 @@
 #include <linux/io.h>
 #include <linux/of_platform.h>
 
-#include <asm/mach-pic32/pic32.h>
+#include <mach/pic32.h>
 
 #include "pic32mzda.h"
 
diff --git a/arch/mips/pic32/pic32mzda/early_clk.c b/arch/mips/pic32/pic32mzda/early_clk.c
index 6001e50..4ec52e7 100644
--- a/arch/mips/pic32/pic32mzda/early_clk.c
+++ b/arch/mips/pic32/pic32mzda/early_clk.c
@@ -3,7 +3,7 @@
  * Joshua Henderson <joshua.henderson@microchip.com>
  * Copyright (C) 2015 Microchip Technology Inc.  All rights reserved.
  */
-#include <asm/mach-pic32/pic32.h>
+#include <mach/pic32.h>
 
 #include "pic32mzda.h"
 
diff --git a/arch/mips/pic32/pic32mzda/early_console.c b/arch/mips/pic32/pic32mzda/early_console.c
index 25372e6..d05324d 100644
--- a/arch/mips/pic32/pic32mzda/early_console.c
+++ b/arch/mips/pic32/pic32mzda/early_console.c
@@ -3,7 +3,7 @@
  * Joshua Henderson <joshua.henderson@microchip.com>
  * Copyright (C) 2015 Microchip Technology Inc.  All rights reserved.
  */
-#include <asm/mach-pic32/pic32.h>
+#include <mach/pic32.h>
 #include <asm/fw/fw.h>
 #include <asm/setup.h>
 
diff --git a/drivers/clk/microchip/clk-core.c b/drivers/clk/microchip/clk-core.c
index 1b4f023..31b14902 100644
--- a/drivers/clk/microchip/clk-core.c
+++ b/drivers/clk/microchip/clk-core.c
@@ -9,7 +9,7 @@
 #include <linux/interrupt.h>
 #include <linux/io.h>
 #include <linux/iopoll.h>
-#include <asm/mach-pic32/pic32.h>
+#include <mach/pic32.h>
 #include <asm/traps.h>
 
 #include "clk-core.h"
diff --git a/drivers/irqchip/irq-pic32-evic.c b/drivers/irqchip/irq-pic32-evic.c
index 34c4b4f..0e2ce3d 100644
--- a/drivers/irqchip/irq-pic32-evic.c
+++ b/drivers/irqchip/irq-pic32-evic.c
@@ -16,7 +16,7 @@
 
 #include <asm/irq.h>
 #include <asm/traps.h>
-#include <asm/mach-pic32/pic32.h>
+#include <mach/pic32.h>
 
 #define REG_INTCON	0x0000
 #define REG_INTSTAT	0x0020
diff --git a/drivers/pinctrl/pinctrl-pic32.c b/drivers/pinctrl/pinctrl-pic32.c
index e5d6d3f..bbfe124 100644
--- a/drivers/pinctrl/pinctrl-pic32.c
+++ b/drivers/pinctrl/pinctrl-pic32.c
@@ -20,7 +20,7 @@
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 
-#include <asm/mach-pic32/pic32.h>
+#include <mach/pic32.h>
 
 #include "pinctrl-utils.h"
 #include "pinctrl-pic32.h"
diff --git a/drivers/rtc/rtc-pic32.c b/drivers/rtc/rtc-pic32.c
index 2b69467..c070c53 100644
--- a/drivers/rtc/rtc-pic32.c
+++ b/drivers/rtc/rtc-pic32.c
@@ -16,7 +16,7 @@
 #include <linux/rtc.h>
 #include <linux/bcd.h>
 
-#include <asm/mach-pic32/pic32.h>
+#include <mach/pic32.h>
 
 #define PIC32_RTCCON		0x00
 #define PIC32_RTCCON_ON		BIT(15)
diff --git a/drivers/tty/serial/pic32_uart.c b/drivers/tty/serial/pic32_uart.c
index 484b7e8..af62e34 100644
--- a/drivers/tty/serial/pic32_uart.c
+++ b/drivers/tty/serial/pic32_uart.c
@@ -24,7 +24,7 @@
 #include <linux/serial_core.h>
 #include <linux/delay.h>
 
-#include <asm/mach-pic32/pic32.h>
+#include <mach/pic32.h>
 #include "pic32_uart.h"
 
 /* UART name and device definitions */
diff --git a/drivers/watchdog/pic32-dmt.c b/drivers/watchdog/pic32-dmt.c
index f43062b..4aaf1c2 100644
--- a/drivers/watchdog/pic32-dmt.c
+++ b/drivers/watchdog/pic32-dmt.c
@@ -17,7 +17,7 @@
 #include <linux/pm.h>
 #include <linux/watchdog.h>
 
-#include <asm/mach-pic32/pic32.h>
+#include <mach/pic32.h>
 
 /* Deadman Timer Regs */
 #define DMTCON_REG	0x00
diff --git a/drivers/watchdog/pic32-wdt.c b/drivers/watchdog/pic32-wdt.c
index 41715d6..f4abc75 100644
--- a/drivers/watchdog/pic32-wdt.c
+++ b/drivers/watchdog/pic32-wdt.c
@@ -17,7 +17,7 @@
 #include <linux/pm.h>
 #include <linux/watchdog.h>
 
-#include <asm/mach-pic32/pic32.h>
+#include <mach/pic32.h>
 
 /* Watchdog Timer Registers */
 #define WDTCON_REG		0x00
