diff --git a/cpu/mips32r2_common/cpu.c b/cpu/mips32r2_common/cpu.c index b012b751f4..059327591a 100644 --- a/cpu/mips32r2_common/cpu.c +++ b/cpu/mips32r2_common/cpu.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/cpu/mips_pic32mz/include/cpu.h b/cpu/mips32r2_common/include/cpu.h similarity index 73% rename from cpu/mips_pic32mz/include/cpu.h rename to cpu/mips32r2_common/include/cpu.h index 963398c7ec..57002564aa 100644 --- a/cpu/mips_pic32mz/include/cpu.h +++ b/cpu/mips32r2_common/include/cpu.h @@ -9,13 +9,13 @@ */ /** - * @defgroup cpu_mips_pic32mz Microchip PIC32MZ + * @defgroup cpu_mips32r2_common Imagination Technologies MIPS32R2 Common * @ingroup cpu - * @brief CPU definitions for Microchip PIC32MZ devices. + * @brief CPU definitions for MIPS32R2 devices. * @{ * * @file - * @brief CPU definitions for Microchip PIC32MZ devices. + * @brief CPU definitions for MIPS32R2 devices. * * @author Neil Jones */ @@ -23,20 +23,14 @@ #ifndef CPU_H #define CPU_H +#include +#include "cpu_conf.h" +#include "irq.h" + #ifdef __cplusplus extern "C" { #endif -#include -#include -#include -#include "irq.h" - -/** - * @brief We run from flash on PIC32 - */ -#define FLASH_XIP (1) - /** * @brief Print the last instruction's address * diff --git a/cpu/mips32r2_common/include/eic_irq.h b/cpu/mips32r2_common/include/eic_irq.h index 27c606def4..8c9832391b 100644 --- a/cpu/mips32r2_common/include/eic_irq.h +++ b/cpu/mips32r2_common/include/eic_irq.h @@ -7,8 +7,7 @@ */ /** - * @defgroup cpu_mips32r2_common Imagination Technologies MIPS32R2 Common - * @ingroup cpu + * @ingroup cpu_mips32r2_common * @brief Imagination Technologies MIPS32R2 Common implementation * @{ * diff --git a/cpu/mips_pic32_common/include/periph_cpu_common.h b/cpu/mips_pic32_common/include/periph_cpu_common.h index 115bb66025..0d9690161b 100644 --- a/cpu/mips_pic32_common/include/periph_cpu_common.h +++ b/cpu/mips_pic32_common/include/periph_cpu_common.h @@ -26,6 +26,11 @@ extern "C" { #endif +/** + * @brief We run from flash on PIC32 + */ +#define FLASH_XIP (1) + /** * @name Power management configuration * @{ diff --git a/cpu/mips_pic32mx/include/cpu.h b/cpu/mips_pic32mx/include/cpu.h deleted file mode 100644 index 3ebc445ed4..0000000000 --- a/cpu/mips_pic32mx/include/cpu.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2016,2017, Imagination Technologies Limited and/or its - * affiliated group companies. - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details.# - * - */ - -/** - * @defgroup cpu_mips_pic32mx Microchip PIC32MX - * @ingroup cpu - * @brief CPU definitions for Microchip PIC32MX devices. - * @{ - * - * @file - * @brief CPU definitions for pic32mx devices. - * - * @author Neil Jones - */ - -#ifndef CPU_H -#define CPU_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include "irq.h" - -/** - * @brief We run from flash on PIC32 - */ -#define FLASH_XIP (1) - -/** - * @brief Print the last instruction's address - * - * @todo: Not supported - */ -static inline void cpu_print_last_instruction(void) -{ - /* This function must exist else RIOT won't compile */ -} - -/** - * @brief Initialize the CPU, set IRQ priorities - */ -void cpu_init(void); - -#ifdef __cplusplus -} -#endif - -#endif /* CPU_H */ -/** @} */ diff --git a/cpu/mips_pic32mx/include/cpu_conf.h b/cpu/mips_pic32mx/include/cpu_conf.h index 0647ad398d..6d60586cc5 100644 --- a/cpu/mips_pic32mx/include/cpu_conf.h +++ b/cpu/mips_pic32mx/include/cpu_conf.h @@ -9,7 +9,8 @@ */ /** - * @ingroup cpu_mips_pic32mx + * @defgroup cpu_mips_pic32mx PIC32MX + * @ingroup cpu * @{ * * @file @@ -21,6 +22,12 @@ #ifndef CPU_CONF_H #define CPU_CONF_H +#ifdef CPU_MODEL_P32MX470F512H +#include "vendor/p32mx470f512h.h" +#else +#error "No CPU headers for the defined CPU_MODEL found" +#endif + #ifdef __cplusplus extern "C" { #endif diff --git a/cpu/mips_pic32mz/include/cpu_conf.h b/cpu/mips_pic32mz/include/cpu_conf.h index 2b2f70bcbf..f307de809f 100644 --- a/cpu/mips_pic32mz/include/cpu_conf.h +++ b/cpu/mips_pic32mz/include/cpu_conf.h @@ -9,7 +9,8 @@ */ /** - * @ingroup cpu_mips_pic32mz + * @defgroup cpu_mips_pic32mz PIC32MZ + * @ingroup cpu * @{ * * @file @@ -21,6 +22,12 @@ #ifndef CPU_CONF_H #define CPU_CONF_H +#ifdef CPU_MODEL_P32MZ2048EFG100 +#include "vendor/p32mz2048efg100.h" +#else +#error "No CPU headers for the defined CPU_MODEL found" +#endif + #ifdef __cplusplus extern "C" { #endif diff --git a/makefiles/arch/mips.inc.mk b/makefiles/arch/mips.inc.mk index fdee1be271..0438869177 100644 --- a/makefiles/arch/mips.inc.mk +++ b/makefiles/arch/mips.inc.mk @@ -38,6 +38,7 @@ CFLAGS_DBG = -g3 CFLAGS_OPT = -Os CFLAGS += $(CFLAGS_CPU) $(CFLAGS_LINK) $(CFLAGS_OPT) $(CFLAGS_DBG) +CFLAGS += -DCPU_MODEL_$(call uppercase_and_underscore,$(CPU_MODEL)) ifeq ($(USE_HARD_FLOAT),1) CFLAGS += -mhard-float -DMIPS_HARD_FLOAT