From 062fbd85ce50e0e3dcc3123ab1dd8e605b0bfb87 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ga=C3=ABtan=20Harter?= <gaetan.harter@fu-berlin.de>
Date: Mon, 13 Nov 2017 14:54:31 +0100
Subject: [PATCH] cpu/mips32r2_generic: add new cpu that depends on
 mips32r2_common

Prepare to make `mips32r2_common` only a common cpu and not a standalone one.
---
 boards/mips-malta/Makefile.include            |  2 +-
 cpu/mips32r2_generic/Makefile                 |  5 +++++
 cpu/mips32r2_generic/Makefile.features        |  1 +
 cpu/mips32r2_generic/Makefile.include         | 21 +++++++++++++++++++
 .../include/cpu.h                             |  2 +-
 .../include/cpu_conf.h                        |  2 +-
 .../include/periph_cpu.h                      |  6 ------
 7 files changed, 30 insertions(+), 9 deletions(-)
 create mode 100644 cpu/mips32r2_generic/Makefile
 create mode 100644 cpu/mips32r2_generic/Makefile.features
 create mode 100644 cpu/mips32r2_generic/Makefile.include
 rename cpu/{mips32r2_common => mips32r2_generic}/include/cpu.h (92%)
 rename cpu/{mips32r2_common => mips32r2_generic}/include/cpu_conf.h (97%)
 rename cpu/{mips32r2_common => mips32r2_generic}/include/periph_cpu.h (79%)

diff --git a/boards/mips-malta/Makefile.include b/boards/mips-malta/Makefile.include
index 7007f50e07..d79deb16a0 100644
--- a/boards/mips-malta/Makefile.include
+++ b/boards/mips-malta/Makefile.include
@@ -1,4 +1,4 @@
-export CPU = mips32r2_common
+export CPU = mips32r2_generic
 export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/include/
 #export USE_HARD_FLOAT = 1
 export USE_DSP = 1
diff --git a/cpu/mips32r2_generic/Makefile b/cpu/mips32r2_generic/Makefile
new file mode 100644
index 0000000000..daf75bfdb8
--- /dev/null
+++ b/cpu/mips32r2_generic/Makefile
@@ -0,0 +1,5 @@
+MODULE = cpu
+
+DIRS += $(RIOTCPU)/mips32r2_common
+
+include $(RIOTBASE)/Makefile.base
diff --git a/cpu/mips32r2_generic/Makefile.features b/cpu/mips32r2_generic/Makefile.features
new file mode 100644
index 0000000000..df468eb838
--- /dev/null
+++ b/cpu/mips32r2_generic/Makefile.features
@@ -0,0 +1 @@
+-include $(RIOTCPU)/mips32r2_common/Makefile.features
diff --git a/cpu/mips32r2_generic/Makefile.include b/cpu/mips32r2_generic/Makefile.include
new file mode 100644
index 0000000000..d3df4a298b
--- /dev/null
+++ b/cpu/mips32r2_generic/Makefile.include
@@ -0,0 +1,21 @@
+export MEMORY_BASE=0x80000000
+export MEMORY_SIZE=1M
+export APP_START=0x80000000
+
+include $(RIOTMAKE)/arch/mips.inc.mk
+
+export USEMODULE += periph
+export USEMODULE += periph_common
+export USEMODULE += newlib
+
+export USEMODULE += periph_timer
+
+ifeq ($(USE_UHI_SYSCALLS),1)
+  #Use UHI to handle syscalls
+  export LINKFLAGS += -luhi -Tuhi32.ld
+  export USEMODULE += newlib_syscalls_mips_uhi
+else
+  #Use RIOT to handle syscalls (default)
+  export LINKFLAGS += -Tuhi32.ld
+  export USEMODULE += newlib_syscalls_default
+endif
diff --git a/cpu/mips32r2_common/include/cpu.h b/cpu/mips32r2_generic/include/cpu.h
similarity index 92%
rename from cpu/mips32r2_common/include/cpu.h
rename to cpu/mips32r2_generic/include/cpu.h
index b4bf80a907..6c039938ff 100644
--- a/cpu/mips32r2_common/include/cpu.h
+++ b/cpu/mips32r2_generic/include/cpu.h
@@ -7,7 +7,7 @@
  */
 
 /**
- * @defgroup    cpu_mips32r2_commom Imagination Technologies MIPS32R2 Common
+ * @defgroup    cpu_mips32r2_generic Imagination Technologies MIPS32R2 Common
  * @ingroup     cpu
  * @brief       Imagination Technologies MIPS32R2 common
  * @{
diff --git a/cpu/mips32r2_common/include/cpu_conf.h b/cpu/mips32r2_generic/include/cpu_conf.h
similarity index 97%
rename from cpu/mips32r2_common/include/cpu_conf.h
rename to cpu/mips32r2_generic/include/cpu_conf.h
index 54ed0671b0..4349f2ec84 100644
--- a/cpu/mips32r2_common/include/cpu_conf.h
+++ b/cpu/mips32r2_generic/include/cpu_conf.h
@@ -7,7 +7,7 @@
  */
 
 /**
- * @ingroup     cpu_mips32r2_commom
+ * @ingroup     cpu_mips32r2_generic
  * @{
  *
  * @file
diff --git a/cpu/mips32r2_common/include/periph_cpu.h b/cpu/mips32r2_generic/include/periph_cpu.h
similarity index 79%
rename from cpu/mips32r2_common/include/periph_cpu.h
rename to cpu/mips32r2_generic/include/periph_cpu.h
index 776aabe808..d952154e75 100644
--- a/cpu/mips32r2_common/include/periph_cpu.h
+++ b/cpu/mips32r2_generic/include/periph_cpu.h
@@ -10,12 +10,6 @@
 
 /* No peripherals I/O via JTAG or Bootloader using UHI */
 
-/*
- * Note mips32r2_common can be selected in its own right as a CPU
- * for testing on PFGA systems (like BOARD=mips-malta) with limited
- * or no peripherals
- */
-
 #ifndef PERIPH_CPU_H
 #define PERIPH_CPU_H
 
-- 
GitLab