summaryrefslogtreecommitdiff
path: root/nuttx/arch/mips/src/pic32mz/pic32mz-config.h
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/arch/mips/src/pic32mz/pic32mz-config.h')
-rw-r--r--nuttx/arch/mips/src/pic32mz/pic32mz-config.h791
1 files changed, 161 insertions, 630 deletions
diff --git a/nuttx/arch/mips/src/pic32mz/pic32mz-config.h b/nuttx/arch/mips/src/pic32mz/pic32mz-config.h
index fee820773..c00062a96 100644
--- a/nuttx/arch/mips/src/pic32mz/pic32mz-config.h
+++ b/nuttx/arch/mips/src/pic32mz/pic32mz-config.h
@@ -41,458 +41,13 @@
************************************************************************************/
#include <nuttx/config.h>
+
+#include <arch/chip/chip.h>
#include <arch/board/board.h>
/************************************************************************************
* Pre-processor Definitions
************************************************************************************/
-/* Interrupt Priorities *************************************************************/
-
-#ifndef CONFIG_PIC32MZ_CTPRIO /* Core Timer Interrupt */
-# define CONFIG_PIC32MZ_CTPRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_CTPRIO < 4
-# error "CONFIG_PIC32MZ_CTPRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_CTPRIO > 31
-# error "CONFIG_PIC32MZ_CTPRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_CS0PRIO /* Core Software Interrupt 0 */
-# define CONFIG_PIC32MZ_CS0PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_CS0PRIO < 4
-# error "CONFIG_PIC32MZ_CS0PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_CS0PRIO > 31
-# error "CONFIG_PIC32MZ_CS0PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_CS1PRIO /* Core Software Interrupt 1 */
-# define CONFIG_PIC32MZ_CS1PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_CS1PRIO < 4
-# error "CONFIG_PIC32MZ_CS1PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_CS1PRIO > 31
-# error "CONFIG_PIC32MZ_CS1PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_INT0PRIO /* External interrupt 0 */
-# define CONFIG_PIC32MZ_INT0PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_INT0PRIO < 4
-# error "CONFIG_PIC32MZ_INT0PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_INT0PRIO > 31
-# error "CONFIG_PIC32MZ_INT0PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_INT1PRIO /* External interrupt 1 */
-# define CONFIG_PIC32MZ_INT1PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_INT1PRIO < 4
-# error "CONFIG_PIC32MZ_INT1PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_INT1PRIO > 31
-# error "CONFIG_PIC32MZ_INT1PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_INT2PRIO /* External interrupt 2 */
-# define CONFIG_PIC32MZ_INT2PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_INT2PRIO < 4
-# error "CONFIG_PIC32MZ_INT2PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_INT2PRIO > 31
-# error "CONFIG_PIC32MZ_INT2PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_INT3PRIO /* External interrupt 3 */
-# define CONFIG_PIC32MZ_INT3PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_INT3PRIO < 4
-# error "CONFIG_PIC32MZ_INT3PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_INT3PRIO > 31
-# error "CONFIG_PIC32MZ_INT3PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_INT4PRIO /* External interrupt 4 */
-# define CONFIG_PIC32MZ_INT4PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_INT4PRIO < 4
-# error "CONFIG_PIC32MZ_INT4PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_INT4PRIO > 31
-# error "CONFIG_PIC32MZ_INT4PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_FSCMPRIO /* Fail-Safe Clock Monitor */
-# define CONFIG_PIC32MZ_FSCMPRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_FSCMPRIO < 4
-# error "CONFIG_PIC32MZ_FSCMPRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_FSCMPRIO > 31
-# error "CONFIG_PIC32MZ_FSCMPRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_T1PRIO /* Timer 1 (System timer) priority */
-# define CONFIG_PIC32MZ_T1PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_T1PRIO < 4
-# error "CONFIG_PIC32MZ_T1PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_T1PRIO > 31
-# error "CONFIG_PIC32MZ_T1PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_T2PRIO /* Timer 2 priority */
-# define CONFIG_PIC32MZ_T2PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_T2PRIO < 4
-# error "CONFIG_PIC32MZ_T2PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_T2PRIO > 31
-# error "CONFIG_PIC32MZ_T2PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_T3PRIO /* Timer 3 priority */
-# define CONFIG_PIC32MZ_T3PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_T3PRIO < 4
-# error "CONFIG_PIC32MZ_T3PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_T3PRIO > 31
-# error "CONFIG_PIC32MZ_T3PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_T4PRIO /* Timer 4 priority */
-# define CONFIG_PIC32MZ_T4PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_T4PRIO < 4
-# error "CONFIG_PIC32MZ_T4PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_T4PRIO > 31
-# error "CONFIG_PIC32MZ_T4PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_T5PRIO /* Timer 5 priority */
-# define CONFIG_PIC32MZ_T5PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_T5PRIO < 4
-# error "CONFIG_PIC32MZ_T5PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_T5PRIO > 31
-# error "CONFIG_PIC32MZ_T5PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_IC1PRIO /* Input Capture 1 */
-# define CONFIG_PIC32MZ_IC1PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_IC1PRIO < 4
-# error "CONFIG_PIC32MZ_IC1PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_IC1PRIO > 31
-# error "CONFIG_PIC32MZ_IC1PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_IC2PRIO /* Input Capture 2 */
-# define CONFIG_PIC32MZ_IC2PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_IC2PRIO < 4
-# error "CONFIG_PIC32MZ_IC2PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_IC2PRIO > 31
-# error "CONFIG_PIC32MZ_IC2PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_IC3PRIO /* Input Capture 3 */
-# define CONFIG_PIC32MZ_IC3PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_IC3PRIO < 4
-# error "CONFIG_PIC32MZ_IC3PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_IC3PRIO > 31
-# error "CONFIG_PIC32MZ_IC3PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_IC4PRIO /* Input Capture 4 */
-# define CONFIG_PIC32MZ_IC4PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_IC4PRIO < 4
-# error "CONFIG_PIC32MZ_IC4PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_IC4PRIO > 31
-# error "CONFIG_PIC32MZ_IC4PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_IC5PRIO /* Input Capture 5 */
-# define CONFIG_PIC32MZ_IC5PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_IC5PRIO < 4
-# error "CONFIG_PIC32MZ_IC5PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_IC5PRIO > 31
-# error "CONFIG_PIC32MZ_IC5PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_OC1PRIO /* Output Compare 1 */
-# define CONFIG_PIC32MZ_OC1PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_OC1PRIO < 4
-# error "CONFIG_PIC32MZ_OC1PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_OC1PRIO > 31
-# error "CONFIG_PIC32MZ_OC1PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_OC2PRIO /* Output Compare 2 */
-# define CONFIG_PIC32MZ_OC2PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_OC2PRIO < 4
-# error "CONFIG_PIC32MZ_OC2PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_OC2PRIO > 31
-# error "CONFIG_PIC32MZ_OC2PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_OC3PRIO /* Output Compare 3 */
-# define CONFIG_PIC32MZ_OC3PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_OC3PRIO < 4
-# error "CONFIG_PIC32MZ_OC3PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_OC3PRIO > 31
-# error "CONFIG_PIC32MZ_OC3PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_OC4PRIO /* Output Compare 4 */
-# define CONFIG_PIC32MZ_OC4PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_OC4PRIO < 4
-# error "CONFIG_PIC32MZ_OC4PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_OC4PRIO > 31
-# error "CONFIG_PIC32MZ_OC4PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_OC5PRIO /* Output Compare 5 */
-# define CONFIG_PIC32MZ_OC5PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_OC5PRIO < 4
-# error "CONFIG_PIC32MZ_OC5PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_OC5PRIO > 31
-# error "CONFIG_PIC32MZ_OC5PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_I2C1PRIO /* I2C 1 */
-# define CONFIG_PIC32MZ_I2C1PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_I2C1PRIO < 4
-# error "CONFIG_PIC32MZ_I2C1PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_I2C1PRIO > 31
-# error "CONFIG_PIC32MZ_I2C1PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_I2C2PRIO /* I2C 2 */
-# define CONFIG_PIC32MZ_I2C2PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_I2C2PRIO < 4
-# error "CONFIG_PIC32MZ_I2C2PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_I2C2PRIO > 31
-# error "CONFIG_PIC32MZ_I2C2PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_SPI1PRIO /* SPI 1 */
-# define CONFIG_PIC32MZ_SPI1PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_SPI1PRIO < 4
-# error "CONFIG_PIC32MZ_SPI1PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_SPI1PRIO > 31
-# error "CONFIG_PIC32MZ_SPI1PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_SPI2PRIO /* SPI 2 */
-# define CONFIG_PIC32MZ_SPI2PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_SPI2PRIO < 4
-# error "CONFIG_PIC32MZ_SPI2PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_SPI2PRIO > 31
-# error "CONFIG_PIC32MZ_SPI2PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_UART1PRIO /* UART 1 */
-# define CONFIG_PIC32MZ_UART1PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_UART1PRIO < 4
-# error "CONFIG_PIC32MZ_UART1PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_UART1PRIO > 31
-# error "CONFIG_PIC32MZ_UART1PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_UART2PRIO /* UART 2 */
-# define CONFIG_PIC32MZ_UART2PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_UART2PRIO < 4
-# error "CONFIG_PIC32MZ_UART2PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_UART2PRIO > 31
-# error "CONFIG_PIC32MZ_UART2PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_CNPRIO /* Input Change Interrupt */
-# define CONFIG_PIC32MZ_CNPRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_CNPRIO < 4
-# error "CONFIG_PIC32MZ_CNPRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_CNPRIO > 31
-# error "CONFIG_PIC32MZ_CNPRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_ADCPRIO /* ADC1 Convert Done */
-# define CONFIG_PIC32MZ_ADCPRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_ADCPRIO < 4
-# error "CONFIG_PIC32MZ_ADCPRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_ADCPRIO > 31
-# error "CONFIG_PIC32MZ_ADCPRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_PMPPRIO /* Parallel Master Port */
-# define CONFIG_PIC32MZ_PMPPRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_PMPPRIO < 4
-# error "CONFIG_PIC32MZ_PMPPRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_PMPPRIO > 31
-# error "CONFIG_PIC32MZ_PMPPRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_CM1PRIO /* Comparator 1 */
-# define CONFIG_PIC32MZ_CM1PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_CM1PRIO < 4
-# error "CONFIG_PIC32MZ_CM1PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_CM1PRIO > 31
-# error "CONFIG_PIC32MZ_CM1PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_CM2PRIO /* Comparator 2 */
-# define CONFIG_PIC32MZ_CM2PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_CM2PRIO < 4
-# error "CONFIG_PIC32MZ_CM2PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_CM2PRIO > 31
-# error "CONFIG_PIC32MZ_CM2PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_FSCMPRIO /* Fail-Safe Clock Monitor */
-# define CONFIG_PIC32MZ_FSCMPRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_FSCMPRIO < 4
-# error "CONFIG_PIC32MZ_FSCMPRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_FSCMPRIO > 31
-# error "CONFIG_PIC32MZ_FSCMPRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_RTCCPRIO /* Real-Time Clock and Calendar */
-# define CONFIG_PIC32MZ_RTCCPRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_RTCCPRIO < 4
-# error "CONFIG_PIC32MZ_RTCCPRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_RTCCPRIO > 31
-# error "CONFIG_PIC32MZ_RTCCPRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_DMA0PRIO /* DMA Channel 0 */
-# define CONFIG_PIC32MZ_DMA0PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_DMA0PRIO < 4
-# error "CONFIG_PIC32MZ_DMA0PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_DMA0PRIO > 31
-# error "CONFIG_PIC32MZ_DMA0PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_DMA1PRIO /* DMA Channel 1 */
-# define CONFIG_PIC32MZ_DMA1PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_DMA1PRIO < 4
-# error "CONFIG_PIC32MZ_DMA1PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_DMA1PRIO > 31
-# error "CONFIG_PIC32MZ_DMA1PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_DMA2PRIO /* DMA Channel 2 */
-# define CONFIG_PIC32MZ_DMA2PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_DMA2PRIO < 4
-# error "CONFIG_PIC32MZ_DMA2PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_DMA2PRIO > 31
-# error "CONFIG_PIC32MZ_DMA2PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_DMA3PRIO /* DMA Channel 3 */
-# define CONFIG_PIC32MZ_DMA3PRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_DMA3PRIO < 4
-# error "CONFIG_PIC32MZ_DMA3PRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_DMA3PRIO > 31
-# error "CONFIG_PIC32MZ_DMA3PRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_FCEPRIO /* Flash Control Event */
-# define CONFIG_PIC32MZ_FCEPRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_FCEPRIO < 4
-# error "CONFIG_PIC32MZ_FCEPRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_FCEPRIO > 31
-# error "CONFIG_PIC32MZ_FCEPRIO is too large"
-#endif
-
-#ifndef CONFIG_PIC32MZ_USBPRIO /* USB */
-# define CONFIG_PIC32MZ_USBPRIO (INT_IPC_MID_PRIORITY << 2)
-#endif
-#if CONFIG_PIC32MZ_USBPRIO < 4
-# error "CONFIG_PIC32MZ_USBPRIO is too small"
-#endif
-#if CONFIG_PIC32MZ_USBPRIO > 31
-# error "CONFIG_PIC32MZ_USBPRIO is too large"
-#endif
-
-/* SYS calls ************************************************************************/
-/* SYS call 1 and 2 are defined for internal use by the PIC32MZ port (see
- * arch/mips/include/mips32/syscall.h). In addition, SYS call 3 is the return from
- * a SYS call in kernel mode. The first four syscall values must, therefore, be
- * reserved (0 is not used).
- */
-
-#ifdef CONFIG_BUILD_KERNEL
-# if !defined(CONFIG_SYS_RESERVED) || CONFIG_SYS_RESERVED < 4
-# error "CONFIG_SYS_RESERVED must be defined to be 4 for a kernel build"
-# elif CONFIG_SYS_RESERVED > 4
-# warning "CONFIG_SYS_RESERVED should be defined to be 4 for a kernel build"
-# endif
-#endif
-
/* UARTs ****************************************************************************/
/* Don't enable UARTs not supported by the chip. */
@@ -592,185 +147,154 @@
/* Device Configuration *************************************************************/
/* DEVCFG3 */
+/* Configurable settings */
#ifndef CONFIG_PIC32MZ_USERID /* User ID */
-# define CONFIG_PIC32MZ_USERID 0x584e /* "NutX" */
+# define CONFIG_PIC32MZ_USERID 0x584e /* "NX" */
#endif
-#ifndef CONFIG_PIC32MZ_PMDL1WAY /* Peripheral module disable configuration */
-# define CONFIG_PIC32MZ_PMDL1WAY 0
+#ifndef CONFIG_PIC32MZ_FMIIEN /* Ethernet MII enable: 0=RMII 1=MII */
+# define CONFIG_PIC32MZ_FMIIEN 1 /* MII enabled */
#endif
-#ifndef CONFIG_PIC32MZ_IOL1WAY /* Peripheral pin select configuration */
-# define CONFIG_PIC32MZ_IOL1WAY 0
+#ifndef CONFIG_PIC32MZ_PGL1WAY /* Permission group lock one way configuration */
+# define CONFIG_PIC32MZ_PGL1WAY 0 /* Allow multiple configurations */
#endif
-#ifndef CONFIG_PIC32MZ_SRSSEL /* Shadow register interrupt priority */
-# define CONFIG_PIC32MZ_SRSSEL INT_IPC_MIN_PRIORITY
+#ifndef CONFIG_PIC32MZ_PMDL1WAY /* Peripheral module disable configuration */
+# define CONFIG_PIC32MZ_PMDL1WAY 0 /* Allow multiple reconfigurations */
#endif
-/* Unless overridden in the .config file, all pins are in the default setting */
-
-#ifndef CONFIG_PIC32MZ_FMIIEN /* Ethernet MII enable: 0=RMII 1=MII */
-# define CONFIG_PIC32MZ_FMIIEN 1 /* MII enabled */
+#ifndef CONFIG_PIC32MZ_IOL1WAY /* Peripheral pin select configuration */
+# define CONFIG_PIC32MZ_IOL1WAY 0 /* Allow multiple reconfigurations */
#endif
#ifndef CONFIG_PIC32MZ_FETHIO /* Ethernet I/O Pins 0=alternate 1=default */
# define CONFIG_PIC32MZ_FETHIO 1 /* Default Ethernet I/O Pins */
#endif
-#ifndef CONFIG_PIC32MZ_FCANIO /* SCM1 pin C selection */
-# define CONFIG_PIC32MZ_FCANIO 1 /* Default CAN I/O Pins */
-#endif
-
-#ifndef CONFIG_PIC32MZ_FSCM1IO /* SCM1 pin C selection */
-# define CONFIG_PIC32MZ_FSCM1IO 1 /* Default pin for SCM1C */
-#endif
-
-/* USB or Ports? */
-
-#ifdef CONFIG_PIC32MZ_USB
-# ifndef CONFIG_PIC32MZ_USBIDO /* USB USBID Selection */
-# define CONFIG_PIC32MZ_USBIDO 1 /* USBID pin is controlled by the USB module */
-# endif
-# ifndef CONFIG_PIC32MZ_VBUSIO /* USB VBUSON Selection */
-# define CONFIG_PIC32MZ_VBUSIO 1 /* VBUSON pin is controlled by the USB module */
-# endif
-#else
-# ifndef CONFIG_PIC32MZ_USBIDO /* USB USBID Selection */
-# define CONFIG_PIC32MZ_USBIDO 0 /* USBID pin is controlled by the Port function */
-# endif
-# ifndef CONFIG_PIC32MZ_VBUSIO /* USB VBUSON Selection */
-# define CONFIG_PIC32MZ_VBUSIO 0 /* VBUSON pin is controlled by the Port function */
+#ifndef CONFIG_PIC32MZ_FUSBIDIO /* USB USBID selection: 0=GPIO 1=USB */
+# ifdef CONFIG_PIC32MZ_USB
+# define CONFIG_PIC32MZ_FUSBIDIO 0 /* USBID pin is controlled by the IOPORT configuration */
+# else
+# define CONFIG_PIC32MZ_FUSBIDIO 1 /* USBID pin is controlled by the USB module */
# endif
#endif
/* DEVCFG2 */
+/* PLL Input Divider bits */
#undef CONFIG_PIC32MZ_PLLIDIV
#if BOARD_PLL_IDIV == 1
-# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_DIV1
+# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_1
#elif BOARD_PLL_IDIV == 2
-# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_DIV2
+# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_2
#elif BOARD_PLL_IDIV == 3
-# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_DIV3
+# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_3
#elif BOARD_PLL_IDIV == 4
-# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_DIV4
+# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_4
#elif BOARD_PLL_IDIV == 5
-# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_DIV5
+# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_5
#elif BOARD_PLL_IDIV == 6
-# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_DIV6
-#elif BOARD_PLL_IDIV == 10
-# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_DIV10
-#elif BOARD_PLL_IDIV == 12
-# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_DIV12
+# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_6
+#elif BOARD_PLL_IDIV == 7
+# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_7
+#elif BOARD_PLL_IDIV == 8
+# define CONFIG_PIC32MZ_PLLIDIV DEVCFG2_FPLLIDIV_8
#else
# error "Unsupported BOARD_PLL_IDIV"
#endif
-#undef CONFIG_PIC32MZ_PLLMULT
-#if BOARD_PLL_MULT == 15
-# define CONFIG_PIC32MZ_PLLMULT DEVCFG2_FPLLMULT_MUL15
-#elif BOARD_PLL_MULT == 16
-# define CONFIG_PIC32MZ_PLLMULT DEVCFG2_FPLLMULT_MUL16
-#elif BOARD_PLL_MULT == 17
-# define CONFIG_PIC32MZ_PLLMULT DEVCFG2_FPLLMULT_MUL17
-#elif BOARD_PLL_MULT == 18
-# define CONFIG_PIC32MZ_PLLMULT DEVCFG2_FPLLMULT_MUL18
-#elif BOARD_PLL_MULT == 19
-# define CONFIG_PIC32MZ_PLLMULT DEVCFG2_FPLLMULT_MUL19
-#elif BOARD_PLL_MULT == 20
-# define CONFIG_PIC32MZ_PLLMULT DEVCFG2_FPLLMULT_MUL20
-#elif BOARD_PLL_MULT == 21
-# define CONFIG_PIC32MZ_PLLMULT DEVCFG2_FPLLMULT_MUL21
-#elif BOARD_PLL_MULT == 24
-# define CONFIG_PIC32MZ_PLLMULT DEVCFG2_FPLLMULT_MUL24
+/* System PLL Divided Input Clock Frequency Range bits */
+
+#if BOARD_PLL_INPUT < 5000000
+# error BOARD_PLL_INPUT too low
+# define CONFIG_PIC32MZ_FPLLRNG DEVCFG2_FPLLRNG_BYPASS /* < 5 MHz */
+#elif BOARD_PLL_INPUT < 9000000
+# define CONFIG_PIC32MZ_FPLLRNG DEVCFG2_FPLLRNG_5_10MHZ /* 5-10 MHz */
+#elif BOARD_PLL_INPUT < 14500000
+# define CONFIG_PIC32MZ_FPLLRNG DEVCFG2_FPLLRNG_8_16MHZ /* 8-16 MHz */
+#elif BOARD_PLL_INPUT < 23500000
+# define CONFIG_PIC32MZ_FPLLRNG DEVCFG2_FPLLRNG_13_26MHZ /* 13-26 MHz */
+#elif BOARD_PLL_INPUT < 39000000
+# define CONFIG_PIC32MZ_FPLLRNG DEVCFG2_FPLLRNG_21_42MHZ /* 21-42 MHz */
+#elif BOARD_PLL_INPUT < 64000000
+# define CONFIG_PIC32MZ_FPLLRNG DEVCFG2_FPLLRNG_34_64MHZ /* 36-64 MHz */
#else
-# error "Unsupported BOARD_PLL_MULT"
+# error BOARD_PLL_INPUT too high
+# define CONFIG_PIC32MZ_FPLLRNG DEVCFG2_FPLLRNG_34_64MHZ /* 36-64 MHz */
#endif
-#undef CONFIG_PIC32MZ_UPLLIDIV
-#if BOARD_UPLL_IDIV == 1
-# define CONFIG_PIC32MZ_UPLLIDIV DEVCFG2_FUPLLIDIV_DIV1
-#elif BOARD_UPLL_IDIV == 2
-# define CONFIG_PIC32MZ_UPLLIDIV DEVCFG2_FUPLLIDIV_DIV2
-#elif BOARD_UPLL_IDIV == 3
-# define CONFIG_PIC32MZ_UPLLIDIV DEVCFG2_FUPLLIDIV_DIV3
-#elif BOARD_UPLL_IDIV == 4
-# define CONFIG_PIC32MZ_UPLLIDIV DEVCFG2_FUPLLIDIV_DIV4
-#elif BOARD_UPLL_IDIV == 5
-# define CONFIG_PIC32MZ_UPLLIDIV DEVCFG2_FUPLLIDIV_DIV5
-#elif BOARD_UPLL_IDIV == 6
-# define CONFIG_PIC32MZ_UPLLIDIV DEVCFG2_FUPLLIDIV_DIV6
-#elif BOARD_UPLL_IDIV == 10
-# define CONFIG_PIC32MZ_UPLLIDIV DEVCFG2_FUPLLIDIV_DIV10
-#elif BOARD_UPLL_IDIV == 12
-# define CONFIG_PIC32MZ_UPLLIDIV DEVCFG2_FUPLLIDIV_DIV12
+/* PLL multiplier */
+
+#undef CONFIG_PIC32MZ_PLLMULT
+#if BOARD_PLL_MULT >= 1 && BOARD_PLL_MULT <= 128
+# define CONFIG_PIC32MZ_PLLMULT ((BOARD_PLL_MULT-1) << DEVCFG2_FPLLIDIV_SHIFT)
#else
-# error "Unsupported BOARD_UPLL_IDIV"
+# error "Unsupported BOARD_PLL_MULT"
#endif
-#ifndef CONFIG_PIC32MZ_FUPLLEN
-# if defined(CONFIG_PIC32MZ_USBDEV) || defined(CONFIG_PIC32MZ_USBHOST)
-# define CONFIG_PIC32MZ_FUPLLEN 0 /* Enable */
-# else
-# define CONFIG_PIC32MZ_FUPLLEN 1 /* Bypass and disable */
-# endif
-#endif
+/* PLL output divider */
#undef CONFIG_PIC32MZ_PLLODIV
-#if BOARD_PLL_ODIV == 1
-# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_DIV1
-#elif BOARD_PLL_ODIV == 2
-# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_DIV2
+#if BOARD_PLL_ODIV == 2
+# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_2
#elif BOARD_PLL_ODIV == 4
-# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_DIV2
+# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_4
#elif BOARD_PLL_ODIV == 8
-# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_DIV2
+# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_8
#elif BOARD_PLL_ODIV == 16
-# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_DIV2
+# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_16
#elif BOARD_PLL_ODIV == 32
-# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_DIV2
-#elif BOARD_PLL_ODIV == 64
-# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_DIV2
-#elif BOARD_PLL_ODIV == 128
-# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_DIV2
+# define CONFIG_PIC32MZ_PLLODIV DEVCFG2_FPLLODIV_32
#else
# error "Unsupported BOARD_PLL_ODIV"
#endif
+/* Not yet configurable settings (REVISIT) */
+
+ /* System PLL Input Clock Select bit */
+#define CONFIG_PIC32MZ_FPLLICLK 0 /* POSC is selected as input to the System PLL */
+ /* USB PLL Input Frequency Select bit */
+#define CONFIG_PIC32MZ_UPLLFSEL DEVCFG2_UPLLFSEL
+
/* DEVCFG1 */
+/* Configurable settings */
+#undef CONFIG_PIC32MZ_FNOSC
+#if defined(BOARD_FNOSC_FRC)
+# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_FRC
+#elif defined(BOARD_FNOSC_SPLL)
+# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_SPLL
+#elif defined(BOARD_FNOSC_POSC)
+# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_POSC
+#elif defined(BOARD_FNOSC_SOSC)
+# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_SOSC
+#elif defined(BOARD_FNOSC_LPRC)
+# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_LPRC
+#elif defined(BOARD_FNOSC_FRCDIV)
+# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_FRCDIV
+#else
+# error "Unknown board FNOSC selection"
+#endif
+
+#undef CONFIG_PIC32MZ_FSOSCEN
#ifdef BOARD_SOSC_ENABLE
# define CONFIG_PIC32MZ_FSOSCEN DEVCFG1_FSOSCEN
#else
# define CONFIG_PIC32MZ_FSOSCEN 0
#endif
+#undef CONFIG_PIC32MZ_IESO
#ifdef BOARD_SOSC_IESO
-# define CONFIG_PIC32MZ_IESO DEVCFG1_IESO
-#else
-# define CONFIG_PIC32MZ_IESO 0
-#endif
-
-#undef CONFIG_PIC32MZ_PBDIV
-#if BOARD_PBDIV == 1
-# define CONFIG_PIC32MZ_PBDIV DEVCFG1_FPBDIV_DIV1
-#elif BOARD_PBDIV == 2
-# define CONFIG_PIC32MZ_PBDIV DEVCFG1_FPBDIV_DIV2
-#elif BOARD_PBDIV == 4
-# define CONFIG_PIC32MZ_PBDIV DEVCFG1_FPBDIV_DIV4
-#elif BOARD_PBDIV == 8
-# define CONFIG_PIC32MZ_PBDIV DEVCFG1_FPBDIV_DIV8
+# define CONFIG_PIC32MZ_IESO DEVCFG1_IESO
#else
-# error "Unsupported BOARD_PBDIV"
+# define CONFIG_PIC32MZ_IESO 0
#endif
#undef CONFIG_PIC32MZ_POSCMOD
#if defined(BOARD_POSC_ECMODE)
# define CONFIG_PIC32MZ_POSCMOD DEVCFG1_POSCMOD_EC
-#elif defined(BOARD_POSC_XTMODE)
-# define CONFIG_PIC32MZ_POSCMOD DEVCFG1_POSCMOD_XT
#elif defined(BOARD_POSC_HSMODE)
# define CONFIG_PIC32MZ_POSCMOD DEVCFG1_POSCMOD_HS
#elif defined(BOARD_POSC_DISABLED)
@@ -779,23 +303,12 @@
# error "Unknown board POSC mode"
#endif
-#undef CONFIG_PIC32MZ_FNOSC
-#if defined(BOARD_FNOSC_FRC)
-# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_FRC
-#elif defined(BOARD_FNOSC_FRCPLL)
-# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_FRCPLL
-#elif defined(BOARD_FNOSC_POSC)
-# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_POSC
-#elif defined(BOARD_FNOSC_POSCPLL)
-# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_POSCPLL
-#elif defined(BOARD_FNOSC_SOSC)
-# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_SOSC
-#elif defined(BOARD_FNOSC_LPRC)
-# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_LPRC
-#elif defined(BOARD_FNOSC_FRCDIV)
-# define CONFIG_PIC32MZ_FNOSC DEVCFG1_FNOSC_FRCDIV
+#ifdef CONFIG_PIC32MZ_OSCIOFNC
+# undef CONFIG_PIC32MZ_OSCIOFNC
+# define CONFIG_PIC32MZ_OSCIOFNC DEVCFG1_OSCIOFNC
#else
-# error "Unknown board FNOSC selection"
+# undef CONFIG_PIC32MZ_OSCIOFNC
+# define CONFIG_PIC32MZ_OSCIOFNC 0
#endif
#undef CONFIG_PIC32MZ_FCKSM
@@ -803,99 +316,117 @@
# if defined(BOARD_POSC_FSCM)
# define CONFIG_PIC32MZ_FCKSM DEVCFG1_FCKSM_BOTH
# else
-# define CONFIG_PIC32MZ_FCKSM DEVCFG1_FCKSM_CSONLY
+# define CONFIG_PIC32MZ_FCKSM DEVCFG1_FCKSM_SWITCH
# endif
#else
-# define CONFIG_PIC32MZ_FCKSM DEVCFG1_FCKSM_NONE
-#endif
-
-#ifndef CONFIG_PIC32MZ_OSCOUT
-# define CONFIG_PIC32MZ_OSCOUT 0
+# if defined(BOARD_POSC_FSCM)
+# define CONFIG_PIC32MZ_FCKSM DEVCFG1_FCKSM_MONITOR
+# else
+# define CONFIG_PIC32MZ_FCKSM DEVCFG1_FCKSM_NONE
+# endif
#endif
-#undef CONFIG_PIC32MZ_WDPS
+#undef CONFIG_PIC32MZ_WDTPS
#if BOARD_WD_PRESCALER == 1
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_1
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_1
#elif BOARD_WD_PRESCALER == 2
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_2
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_2
#elif BOARD_WD_PRESCALER == 4
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_4
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_4
#elif BOARD_WD_PRESCALER == 8
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_8
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_8
#elif BOARD_WD_PRESCALER == 16
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_16
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_16
#elif BOARD_WD_PRESCALER == 32
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_32
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_32
#elif BOARD_WD_PRESCALER == 64
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_64
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_64
#elif BOARD_WD_PRESCALER == 128
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_128
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_128
#elif BOARD_WD_PRESCALER == 256
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_256
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_256
#elif BOARD_WD_PRESCALER == 512
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_512
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_512
#elif BOARD_WD_PRESCALER == 1024
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_1024
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_1024
#elif BOARD_WD_PRESCALER == 2048
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_2048
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_2048
#elif BOARD_WD_PRESCALER == 4096
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_4096
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_4096
#elif BOARD_WD_PRESCALER == 8192
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_8192
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_8192
#elif BOARD_WD_PRESCALER == 16384
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_16384
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_16384
#elif BOARD_WD_PRESCALER == 32768
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_32768
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_32768
#elif BOARD_WD_PRESCALER == 65536
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_65536
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_65536
#elif BOARD_WD_PRESCALER == 131072
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_131072
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_131072
#elif BOARD_WD_PRESCALER == 262144
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_262144
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_262144
#elif BOARD_WD_PRESCALER == 524288
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_524288
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_524288
#elif BOARD_WD_PRESCALER == 1048576
-# define CONFIG_PIC32MZ_WDPS DEVCFG1_WDTPS_1048576
+# define CONFIG_PIC32MZ_WDTPS DEVCFG1_WDTPS_1048576
#else
# error "Unsupported BOARD_WD_PRESCALER"
#endif
-#undef CONFIG_PIC32MZ_WDENABLE
-#if BOARD_WD_ENABLE
-# define CONFIG_PIC32MZ_WDENABLE DEVCFG1_FWDTEN
+#undef CONFIG_PIC32MZ_FWDTEN
+#if CONFIG_PIC32MZ_WDTENABLE
+# define CONFIG_PIC32MZ_FWDTEN DEVCFG1_FWDTEN
#else
-# define CONFIG_PIC32MZ_WDENABLE 0
+# define CONFIG_PIC32MZ_FWDTEN 0
#endif
+/* Not yet configurable settings */
+
+#define CONFIG_PIC32MZ_DMTINV DEVCFG1_FNOSC_FRCDIV
+#define CONFIG_PIC32MZ_WDTSPGM DEVCFG1_WDTSPGM
+#define CONFIG_PIC32MZ_WINDIS DEVCFG1_WINDIS
+#define CONFIG_PIC32MZ_FWDTWINSZ DEVCFG1_FWDTWINSZ_25
+#define CONFIG_PIC32MZ_DMTCNT DEVCFG1_DMTCNT_MASK
+#define CONFIG_PIC32MZ_FDMTEN 0
+
/* DEVCFG0 */
+/* Configurable settings */
-#ifndef CONFIG_PIC32MZ_DEBUGGER /* Background Debugger Enable */
-# define CONFIG_PIC32MZ_DEBUGGER 3 /* disabled */
+#undef CONFIG_PIC32MZ_DEBUGGER
+#ifdef CONFIG_PIC32MZ_DEBUGGER_ENABLE
+# define CONFIG_PIC32MZ_DEBUGGER DEVCFG0_DEBUG_ENABLED
+#else
+# define CONFIG_PIC32MZ_DEBUGGER DEVCFG0_DEBUG_DISABLED
#endif
-#ifndef CONFIG_PIC32MZ_ICESEL /* In-Circuit Emulator/Debugger Communication Channel Select */
-# if defined(CHIP_PIC32MZ1) || defined(CHIP_PIC32MZ2)
-# define CONFIG_PIC32MZ_ICESEL 3 /* Default PGEC1/PGED1 */
-# else
-# define CONFIG_PIC32MZ_ICESEL 1 /* Default PGEC1/PGED1 */
-# endif
+#undef CONFIG_PIC32MZ_JTAGEN
+#ifdef CONFIG_PIC32MZ_JTAG_ENABLE
+# define CONFIG_PIC32MZ_JTAGEN DEVCFG0_JTAGEN
+#else
+# define CONFIG_PIC32MZ_JTAGEN 0
#endif
-#ifndef CONFIG_PIC32MZ_PROGFLASHWP /* Program FLASH write protect */
-# if defined(CHIP_PIC32MZ1) || defined(CHIP_PIC32MZ2)
-# define CONFIG_PIC32MZ_PROGFLASHWP 0x3ff /* Disabled */
-# else
-# define CONFIG_PIC32MZ_PROGFLASHWP 0xff /* Disabled */
-# endif
+#undef CONFIG_PIC32MZ_ICESEL
+#ifdef CONFIG_PIC32MZ_ICESEL_CH2
+# define CONFIG_PIC32MZ_ICESEL DEVCFG0_ICESEL_2
+#else
+# define CONFIG_PIC32MZ_ICESEL DEVCFG0_ICESEL_1
#endif
-#ifndef CONFIG_PIC32MZ_BOOTFLASHWP
-# define CONFIG_PIC32MZ_BOOTFLASHWP 1 /* Disabled */
+#undef CONFIG_PIC32MZ_TRCEN
+#ifdef CONFIG_PIC32MZ_TRACE_ENABLE
+# define CONFIG_PIC32MZ_TRCEN DEVCFG0_TRCEN
+#else
+# define CONFIG_PIC32MZ_TRCEN 0
#endif
-#ifndef CONFIG_PIC32MZ_CODEWP
-# define CONFIG_PIC32MZ_CODEWP 1 /* Disabled */
-#endif
+/* Not yet configurable settings */
+
+#define CONFIG_PIC32MZ_BOOTISA 0 /* microMIPS always */
+#define CONFIG_PIC32MZ_FECCCON DEVCFG0_FECCCON_DISWR
+#define CONFIG_PIC32MZ_FSLEEP DEVCFG0_FSLEEP
+#define CONFIG_PIC32MZ_DBGPER DEVCFG0_DBGPER_MASK
+#define CONFIG_PIC32MZ_EJTAGBEN DEVCFG0_EJTAGBEN
/************************************************************************************
* Public Types