diff --git a/boards/remote-common/include/periph_common.h b/boards/remote-common/include/periph_common.h
index 5a018d251937804d5555a52ee3ddce8a1d8d9316..51404de41254b01e4d529198889919f26e9feca5 100644
--- a/boards/remote-common/include/periph_common.h
+++ b/boards/remote-common/include/periph_common.h
@@ -21,7 +21,6 @@
 #ifndef PERIPH_COMMON_H
 #define PERIPH_COMMON_H
 
-#include "cc2538_gpio.h"
 #include "periph_cpu.h"
 
 #ifdef __cplusplus
diff --git a/boards/remote-pa/include/board.h b/boards/remote-pa/include/board.h
index 59ff1d90d1ec944fcdd3e3cce2b476209f76329d..407957515b42cc5e71f693bdbabcc67d95cfe7aa 100644
--- a/boards/remote-pa/include/board.h
+++ b/boards/remote-pa/include/board.h
@@ -24,8 +24,6 @@
 #define BOARD_H
 
 #include "cpu.h"
-#include "periph/gpio.h"
-#include "board_common.h"
 
 #ifdef __cplusplus
  extern "C" {
@@ -74,6 +72,11 @@
 #define RF_SWITCH_TOGGLE    (RF_SWITCH_PORT->DATA ^= (1 << RF_SWITCH_PIN))
 /** @} */
 
+/**
+ * @brief Initialize board specific hardware, including clock, LEDs and std-IO
+ */
+void board_init(void);
+
 #ifdef __cplusplus
 } /* end extern "C" */
 #endif
diff --git a/boards/remote-pa/include/periph_conf.h b/boards/remote-pa/include/periph_conf.h
index e9c07e58d3be4431fdebc8ab29df0cdbf4bb41c2..d82249a62d9379aadcf8274430fb182f4c186caf 100644
--- a/boards/remote-pa/include/periph_conf.h
+++ b/boards/remote-pa/include/periph_conf.h
@@ -21,8 +21,6 @@
 #ifndef PERIPH_CONF_H
 #define PERIPH_CONF_H
 
-#include "cc2538_gpio.h"
-#include "periph_cpu.h"
 #include "periph_common.h"
 
 #ifdef __cplusplus
diff --git a/boards/remote-reva/include/board.h b/boards/remote-reva/include/board.h
index b93dd9f8f5e825b35c5bf364b012de7d46f59f8e..637206258d11689e7d65423a01af78bc58e2b816 100644
--- a/boards/remote-reva/include/board.h
+++ b/boards/remote-reva/include/board.h
@@ -23,9 +23,6 @@
 #define BOARD_H
 
 #include "cpu.h"
-#include "periph/gpio.h"
-#include "periph/spi.h"
-#include "board_common.h"
 
 #ifdef __cplusplus
  extern "C" {
@@ -111,6 +108,11 @@
 #define CC1200_GPD2_GPIO    GPIO_PB0
 /** @} */
 
+/**
+ * @brief Initialize board specific hardware, including clock, LEDs and std-IO
+ */
+void board_init(void);
+
 #ifdef __cplusplus
 } /* end extern "C" */
 #endif
diff --git a/boards/remote-reva/include/periph_conf.h b/boards/remote-reva/include/periph_conf.h
index 287144df60158b71b40f925fecd0cf67b5b48984..6ccb84f87fcf5c403870f883a73238ee3a601742 100644
--- a/boards/remote-reva/include/periph_conf.h
+++ b/boards/remote-reva/include/periph_conf.h
@@ -21,8 +21,6 @@
 #ifndef PERIPH_CONF_H
 #define PERIPH_CONF_H
 
-#include "cc2538_gpio.h"
-#include "periph_cpu.h"
 #include "periph_common.h"
 
 #ifdef __cplusplus
diff --git a/boards/remote-revb/include/board.h b/boards/remote-revb/include/board.h
index 9926c72903ec2e08642fb5e944a35d4a8abf5df9..6d1eb842a853e70e02ddfca595117a2083574f34 100644
--- a/boards/remote-revb/include/board.h
+++ b/boards/remote-revb/include/board.h
@@ -23,9 +23,6 @@
 #define BOARD_H
 
 #include "cpu.h"
-#include "periph/gpio.h"
-#include "periph/spi.h"
-#include "board_common.h"
 
 #ifdef __cplusplus
  extern "C" {
@@ -123,6 +120,11 @@
 #define SDCARD_SPI_PARAM_POWER_AH  false
 /** @} */
 
+/**
+ * @brief Initialize board specific hardware, including clock, LEDs and std-IO
+ */
+void board_init(void);
+
 #ifdef __cplusplus
 } /* end extern "C" */
 #endif
diff --git a/cpu/cc2538/include/cpu_conf.h b/cpu/cc2538/include/cpu_conf.h
index 8c7695d46ec317fd5a49e20a80ae9c4c69095d47..7376a90241326015473083ce09857849882bed67 100644
--- a/cpu/cc2538/include/cpu_conf.h
+++ b/cpu/cc2538/include/cpu_conf.h
@@ -26,6 +26,7 @@
 #include "cc2538_gptimer.h"
 #include "cc2538_ioc.h"
 #include "cc2538_soc_adc.h"
+#include "cc2538_ssi.h"
 #include "cc2538_rfcore.h"
 #include "cc2538_sys_ctrl.h"
 
diff --git a/cpu/cc2538/include/periph_cpu.h b/cpu/cc2538/include/periph_cpu.h
index a38ca522e45acb0e527d898608020b1d693bf09c..e57a73ac3e45b4e4cffe184784794a954724ad93 100644
--- a/cpu/cc2538/include/periph_cpu.h
+++ b/cpu/cc2538/include/periph_cpu.h
@@ -21,9 +21,7 @@
 
 #include <stdint.h>
 
-#include "cc2538_gptimer.h"
-#include "cc2538_ssi.h"
-#include "cc2538_gpio.h"
+#include "cpu.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -50,6 +48,8 @@ typedef uint32_t gpio_t;
  */
 #define GPIO_PIN(port, pin) (gpio_t)(((uint32_t)GPIO_A + (port << 12)) | pin)
 
+#define GPIO_UNDEF 99
+
 /**
  * @brief   I2C configuration options
  */