diff --git a/Makefile.dep b/Makefile.dep
index 3443339744960e1b283534271dc32eccffc7ae56..71c21be140b4af5c29236ad4d7a34f6556b978dd 100644
--- a/Makefile.dep
+++ b/Makefile.dep
@@ -11,7 +11,7 @@ ifneq (,$(filter ng_nomac,$(USEMODULE)))
 endif
 
 ifneq (,$(filter ng_at86rf2%,$(USEMODULE)))
-  USEMODULE += ng_at86rf2xx
+  USEMODULE += at86rf2xx
   USEMODULE += ieee802154
 endif
 
diff --git a/boards/iot-lab_M3/include/ng_at86rf2xx_params.h b/boards/iot-lab_M3/include/at86rf2xx_params.h
similarity index 89%
rename from boards/iot-lab_M3/include/ng_at86rf2xx_params.h
rename to boards/iot-lab_M3/include/at86rf2xx_params.h
index b9f01637ecc935b3a85ccba55696c35c31a4a4c3..559c9b6f9ec693a6a9fc84c174e928222729992e 100644
--- a/boards/iot-lab_M3/include/ng_at86rf2xx_params.h
+++ b/boards/iot-lab_M3/include/at86rf2xx_params.h
@@ -16,8 +16,8 @@
  * @author    Kaspar Schleiser <kaspar@schleiser.de>
  */
 
-#ifndef NG_AT86RF2XX_PARAMS_H_
-#define NG_AT86RF2XX_PARAMS_H_
+#ifndef AT86RF2XX_PARAMS_H_
+#define AT86RF2XX_PARAMS_H_
 
 #ifdef __cplusplus
 extern "C" {
@@ -42,5 +42,5 @@ static const  at86rf2xx_params_t at86rf2xx_params[] =
 #ifdef __cplusplus
 }
 #endif
-#endif /* NG_AT86RF2XX_PARAMS_H */
+#endif /* AT86RF2XX_PARAMS_H_ */
 /** @} */
diff --git a/boards/mulle/include/ng_at86rf2xx_params.h b/boards/mulle/include/at86rf2xx_params.h
similarity index 90%
rename from boards/mulle/include/ng_at86rf2xx_params.h
rename to boards/mulle/include/at86rf2xx_params.h
index 9cecea9bf4e36fd68f82525619514f1a84f49e97..2a6e20700ac5a70f71398972556565dc460764b8 100644
--- a/boards/mulle/include/ng_at86rf2xx_params.h
+++ b/boards/mulle/include/at86rf2xx_params.h
@@ -18,8 +18,8 @@
  * @author    Joakim Gebart <joakim.gebart@eistec.se>
  */
 
-#ifndef NG_AT86RF2XX_PARAMS_H_
-#define NG_AT86RF2XX_PARAMS_H_
+#ifndef AT86RF2XX_PARAMS_H_
+#define AT86RF2XX_PARAMS_H_
 
 #ifdef __cplusplus
 extern "C" {
@@ -44,5 +44,5 @@ static const  at86rf2xx_params_t at86rf2xx_params[] =
 #ifdef __cplusplus
 }
 #endif
-#endif /* NG_AT86RF2XX_PARAMS_H */
+#endif /* AT86RF2XX_PARAMS_H */
 /** @} */
diff --git a/boards/samr21-xpro/include/ng_at86rf2xx_params.h b/boards/samr21-xpro/include/at86rf2xx_params.h
similarity index 90%
rename from boards/samr21-xpro/include/ng_at86rf2xx_params.h
rename to boards/samr21-xpro/include/at86rf2xx_params.h
index b4ae732e18682fcdd834c7744a0c5c2bd59c2ce4..fc231b47ca1ca60228e7fe5fc9014d8c8d037415 100644
--- a/boards/samr21-xpro/include/ng_at86rf2xx_params.h
+++ b/boards/samr21-xpro/include/at86rf2xx_params.h
@@ -16,8 +16,8 @@
  * @author    Kaspar Schleiser <kaspar@schleiser.de>
  */
 
-#ifndef NG_AT86RF2XX_PARAMS_H_
-#define NG_AT86RF2XX_PARAMS_H_
+#ifndef AT86RF2XX_PARAMS_H_
+#define AT86RF2XX_PARAMS_H_
 
 #ifdef __cplusplus
 extern "C" {
@@ -42,5 +42,5 @@ static const  at86rf2xx_params_t at86rf2xx_params[] =
 #ifdef __cplusplus
 }
 #endif
-#endif /* NG_AT86RF2XX_PARAMS_H */
+#endif /* AT86RF2XX_PARAMS_H_ */
 /** @} */
diff --git a/drivers/Makefile.include b/drivers/Makefile.include
index 6125961bde984b44c163298bda7744cec0cfd7e2..e15584f92d04bbceefdd4dea4e5f1b3c9a8d567d 100644
--- a/drivers/Makefile.include
+++ b/drivers/Makefile.include
@@ -1,8 +1,8 @@
 ifneq (,$(filter dht,$(USEMODULE)))
     USEMODULE_INCLUDES += $(RIOTBASE)/drivers/dht/include
 endif
-ifneq (,$(filter ng_at86rf2xx,$(USEMODULE)))
-    USEMODULE_INCLUDES += $(RIOTBASE)/drivers/ng_at86rf2xx/include
+ifneq (,$(filter at86rf2xx,$(USEMODULE)))
+    USEMODULE_INCLUDES += $(RIOTBASE)/drivers/at86rf2xx/include
 endif
 ifneq (,$(filter kw2xrf,$(USEMODULE)))
     USEMODULE_INCLUDES += $(RIOTBASE)/drivers/kw2xrf/include
diff --git a/drivers/ng_at86rf2xx/Makefile b/drivers/at86rf2xx/Makefile
similarity index 100%
rename from drivers/ng_at86rf2xx/Makefile
rename to drivers/at86rf2xx/Makefile
diff --git a/drivers/ng_at86rf2xx/ng_at86rf2xx.c b/drivers/at86rf2xx/at86rf2xx.c
similarity index 54%
rename from drivers/ng_at86rf2xx/ng_at86rf2xx.c
rename to drivers/at86rf2xx/at86rf2xx.c
index 75497d249b67a1dcccbfe1675d13703c376635ce..be5ba88b93231effc3e9a6391c262a72ffd29bd4 100644
--- a/drivers/ng_at86rf2xx/ng_at86rf2xx.c
+++ b/drivers/at86rf2xx/at86rf2xx.c
@@ -8,7 +8,7 @@
  */
 
 /**
- * @ingroup     drivers_ng_at86rf2xx
+ * @ingroup     drivers_at86rf2xx
  * @{
  *
  * @file
@@ -28,9 +28,9 @@
 #include "byteorder.h"
 #include "net/ieee802154.h"
 #include "net/ng_netbase.h"
-#include "ng_at86rf2xx_registers.h"
-#include "ng_at86rf2xx_internal.h"
-#include "ng_at86rf2xx_netdev.h"
+#include "at86rf2xx_registers.h"
+#include "at86rf2xx_internal.h"
+#include "at86rf2xx_netdev.h"
 
 #define ENABLE_DEBUG (0)
 #include "debug.h"
@@ -42,18 +42,18 @@
 static void _irq_handler(void *arg)
 {
     msg_t msg;
-    ng_at86rf2xx_t *dev = (ng_at86rf2xx_t *) arg;
+    at86rf2xx_t *dev = (at86rf2xx_t *) arg;
 
     /* tell driver thread about the interrupt */
     msg.type = NG_NETDEV_MSG_TYPE_EVENT;
     msg_send(&msg, dev->mac_pid);
 }
 
-int ng_at86rf2xx_init(ng_at86rf2xx_t *dev, spi_t spi, spi_speed_t spi_speed,
-                      gpio_t cs_pin, gpio_t int_pin,
-                      gpio_t sleep_pin, gpio_t reset_pin)
+int at86rf2xx_init(at86rf2xx_t *dev, spi_t spi, spi_speed_t spi_speed,
+                   gpio_t cs_pin, gpio_t int_pin,
+                   gpio_t sleep_pin, gpio_t reset_pin)
 {
-    dev->driver = &ng_at86rf2xx_driver;
+    dev->driver = &at86rf2xx_driver;
 
     /* initialize device descriptor */
     dev->spi = spi;
@@ -61,7 +61,7 @@ int ng_at86rf2xx_init(ng_at86rf2xx_t *dev, spi_t spi, spi_speed_t spi_speed,
     dev->int_pin = int_pin;
     dev->sleep_pin = sleep_pin;
     dev->reset_pin = reset_pin;
-    dev->idle_state = NG_AT86RF2XX_STATE_TRX_OFF;
+    dev->idle_state = AT86RF2XX_STATE_TRX_OFF;
 
     /* initialise SPI */
     spi_init_master(dev->spi, SPI_CONF_FIRST_RISING, spi_speed);
@@ -75,18 +75,18 @@ int ng_at86rf2xx_init(ng_at86rf2xx_t *dev, spi_t spi, spi_speed_t spi_speed,
     gpio_init_int(dev->int_pin, GPIO_NOPULL, GPIO_RISING, _irq_handler, dev);
 
     /* test if the SPI is set up correctly and the device is responding */
-    if (ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__PART_NUM) !=
-        NG_AT86RF2XX_PARTNUM) {
-        DEBUG("[ng_at86rf2xx] error: unable to read correct part number\n");
+    if (at86rf2xx_reg_read(dev, AT86RF2XX_REG__PART_NUM) !=
+        AT86RF2XX_PARTNUM) {
+        DEBUG("[at86rf2xx] error: unable to read correct part number\n");
         return -1;
     }
 
     /* reset device to default values and put it into RX state */
-    ng_at86rf2xx_reset(dev);
+    at86rf2xx_reset(dev);
     return 0;
 }
 
-void ng_at86rf2xx_reset(ng_at86rf2xx_t *dev)
+void at86rf2xx_reset(at86rf2xx_t *dev)
 {
 #if CPUID_ID_LEN
     uint8_t cpuid[CPUID_ID_LEN];
@@ -101,7 +101,7 @@ void ng_at86rf2xx_reset(ng_at86rf2xx_t *dev)
     gpio_set(dev->reset_pin);
 
     /* Reset state machine to ensure a known state */
-    ng_at86rf2xx_reset_state_machine(dev);
+    at86rf2xx_reset_state_machine(dev);
 
     /* reset options and sequence number */
     dev->seq_nr = 0;
@@ -125,23 +125,23 @@ void ng_at86rf2xx_reset(ng_at86rf2xx_t *dev)
     cpuid[0] |= 0x02;
     /* copy and set long address */
     memcpy(&addr_long, cpuid, 8);
-    ng_at86rf2xx_set_addr_long(dev, NTOHLL(addr_long.uint64.u64));
-    ng_at86rf2xx_set_addr_short(dev, NTOHS(addr_long.uint16[0].u16));
+    at86rf2xx_set_addr_long(dev, NTOHLL(addr_long.uint64.u64));
+    at86rf2xx_set_addr_short(dev, NTOHS(addr_long.uint16[0].u16));
 #else
-    ng_at86rf2xx_set_addr_long(dev, NG_AT86RF2XX_DEFAULT_ADDR_LONG);
-    ng_at86rf2xx_set_addr_short(dev, NG_AT86RF2XX_DEFAULT_ADDR_SHORT);
+    at86rf2xx_set_addr_long(dev, AT86RF2XX_DEFAULT_ADDR_LONG);
+    at86rf2xx_set_addr_short(dev, AT86RF2XX_DEFAULT_ADDR_SHORT);
 #endif
     /* set default PAN id */
-    ng_at86rf2xx_set_pan(dev, NG_AT86RF2XX_DEFAULT_PANID);
+    at86rf2xx_set_pan(dev, AT86RF2XX_DEFAULT_PANID);
     /* set default channel */
-    ng_at86rf2xx_set_chan(dev, NG_AT86RF2XX_DEFAULT_CHANNEL);
+    at86rf2xx_set_chan(dev, AT86RF2XX_DEFAULT_CHANNEL);
     /* set default TX power */
-    ng_at86rf2xx_set_txpower(dev, NG_AT86RF2XX_DEFAULT_TXPOWER);
+    at86rf2xx_set_txpower(dev, AT86RF2XX_DEFAULT_TXPOWER);
     /* set default options */
-    ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_AUTOACK, true);
-    ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_CSMA, true);
-    ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_TELL_RX_START, false);
-    ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_TELL_RX_END, true);
+    at86rf2xx_set_option(dev, AT86RF2XX_OPT_AUTOACK, true);
+    at86rf2xx_set_option(dev, AT86RF2XX_OPT_CSMA, true);
+    at86rf2xx_set_option(dev, AT86RF2XX_OPT_TELL_RX_START, false);
+    at86rf2xx_set_option(dev, AT86RF2XX_OPT_TELL_RX_END, true);
     /* set default protocol */
 #ifdef MODULE_NG_SIXLOWPAN
     dev->proto = NG_NETTYPE_SIXLOWPAN;
@@ -149,44 +149,44 @@ void ng_at86rf2xx_reset(ng_at86rf2xx_t *dev)
     dev->proto = NG_NETTYPE_UNDEF;
 #endif
     /* enable safe mode (protect RX FIFO until reading data starts) */
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__TRX_CTRL_2,
-                          NG_AT86RF2XX_TRX_CTRL_2_MASK__RX_SAFE_MODE);
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__TRX_CTRL_2,
+                        AT86RF2XX_TRX_CTRL_2_MASK__RX_SAFE_MODE);
 #ifdef MODULE_NG_AT86RF212B
-    ng_at86rf2xx_set_freq(dev,NG_AT86RF2XX_FREQ_915MHZ);
+    at86rf2xx_set_freq(dev, AT86RF2XX_FREQ_915MHZ);
 #endif
 
     /* don't populate masked interrupt flags to IRQ_STATUS register */
-    uint8_t tmp = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__TRX_CTRL_1);
-    tmp &= ~(NG_AT86RF2XX_TRX_CTRL_1_MASK__IRQ_MASK_MODE);
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__TRX_CTRL_1, tmp);
+    uint8_t tmp = at86rf2xx_reg_read(dev, AT86RF2XX_REG__TRX_CTRL_1);
+    tmp &= ~(AT86RF2XX_TRX_CTRL_1_MASK__IRQ_MASK_MODE);
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__TRX_CTRL_1, tmp);
 
     /* enable interrupts */
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__IRQ_MASK,
-                          NG_AT86RF2XX_IRQ_STATUS_MASK__TRX_END);
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__IRQ_MASK,
+                        AT86RF2XX_IRQ_STATUS_MASK__TRX_END);
     /* clear interrupt flags */
-    ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__IRQ_STATUS);
+    at86rf2xx_reg_read(dev, AT86RF2XX_REG__IRQ_STATUS);
 
     /* go into RX state */
-    ng_at86rf2xx_set_state(dev, NG_AT86RF2XX_STATE_RX_AACK_ON);
+    at86rf2xx_set_state(dev, AT86RF2XX_STATE_RX_AACK_ON);
 
-    DEBUG("ng_at86rf2xx_reset(): reset complete.\n");
+    DEBUG("at86rf2xx_reset(): reset complete.\n");
 }
 
-bool ng_at86rf2xx_cca(ng_at86rf2xx_t *dev)
+bool at86rf2xx_cca(at86rf2xx_t *dev)
 {
     uint8_t tmp;
     uint8_t status;
 
     /* trigger CCA measurment */
-    tmp = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__PHY_CC_CCA);
-    tmp &= NG_AT86RF2XX_PHY_CC_CCA_MASK__CCA_REQUEST;
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__PHY_CC_CCA, tmp);
+    tmp = at86rf2xx_reg_read(dev, AT86RF2XX_REG__PHY_CC_CCA);
+    tmp &= AT86RF2XX_PHY_CC_CCA_MASK__CCA_REQUEST;
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__PHY_CC_CCA, tmp);
     /* wait for result to be ready */
     do {
-        status = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__TRX_STATUS);
-    } while (!(status & NG_AT86RF2XX_TRX_STATUS_MASK__CCA_DONE));
+        status = at86rf2xx_reg_read(dev, AT86RF2XX_REG__TRX_STATUS);
+    } while (!(status & AT86RF2XX_TRX_STATUS_MASK__CCA_DONE));
     /* return according to measurement */
-    if (status & NG_AT86RF2XX_TRX_STATUS_MASK__CCA_STATUS) {
+    if (status & AT86RF2XX_TRX_STATUS_MASK__CCA_STATUS) {
         return true;
     }
     else {
@@ -194,65 +194,65 @@ bool ng_at86rf2xx_cca(ng_at86rf2xx_t *dev)
     }
 }
 
-size_t ng_at86rf2xx_send(ng_at86rf2xx_t *dev, uint8_t *data, size_t len)
+size_t at86rf2xx_send(at86rf2xx_t *dev, uint8_t *data, size_t len)
 {
     /* check data length */
-    if (len > NG_AT86RF2XX_MAX_PKT_LENGTH) {
-        DEBUG("[ng_at86rf2xx] Error: data to send exceeds max packet size\n");
+    if (len > AT86RF2XX_MAX_PKT_LENGTH) {
+        DEBUG("[at86rf2xx] Error: data to send exceeds max packet size\n");
         return 0;
     }
-    ng_at86rf2xx_tx_prepare(dev);
-    ng_at86rf2xx_tx_load(dev, data, len, 0);
-    ng_at86rf2xx_tx_exec(dev);
+    at86rf2xx_tx_prepare(dev);
+    at86rf2xx_tx_load(dev, data, len, 0);
+    at86rf2xx_tx_exec(dev);
     return len;
 }
 
-void ng_at86rf2xx_tx_prepare(ng_at86rf2xx_t *dev)
+void at86rf2xx_tx_prepare(at86rf2xx_t *dev)
 {
     uint8_t state;
 
     /* make sure ongoing transmissions are finished */
     do {
-        state = ng_at86rf2xx_get_status(dev);
+        state = at86rf2xx_get_status(dev);
     }
-    while (state == NG_AT86RF2XX_STATE_BUSY_RX_AACK ||
-           state == NG_AT86RF2XX_STATE_BUSY_TX_ARET);
-    if (state != NG_AT86RF2XX_STATE_TX_ARET_ON) {
+    while (state == AT86RF2XX_STATE_BUSY_RX_AACK ||
+           state == AT86RF2XX_STATE_BUSY_TX_ARET);
+    if (state != AT86RF2XX_STATE_TX_ARET_ON) {
         dev->idle_state = state;
     }
-    ng_at86rf2xx_set_state(dev, NG_AT86RF2XX_STATE_TX_ARET_ON);
+    at86rf2xx_set_state(dev, AT86RF2XX_STATE_TX_ARET_ON);
     dev->frame_len = IEEE802154_FCS_LEN;
 }
 
-size_t ng_at86rf2xx_tx_load(ng_at86rf2xx_t *dev, uint8_t *data,
-                            size_t len, size_t offset)
+size_t at86rf2xx_tx_load(at86rf2xx_t *dev, uint8_t *data,
+                         size_t len, size_t offset)
 {
     dev->frame_len += (uint8_t)len;
-    ng_at86rf2xx_sram_write(dev, offset + 1, data, len);
+    at86rf2xx_sram_write(dev, offset + 1, data, len);
     return offset + len;
 }
 
-void ng_at86rf2xx_tx_exec(ng_at86rf2xx_t *dev)
+void at86rf2xx_tx_exec(at86rf2xx_t *dev)
 {
     /* write frame length field in FIFO */
-    ng_at86rf2xx_sram_write(dev, 0, &(dev->frame_len), 1);
+    at86rf2xx_sram_write(dev, 0, &(dev->frame_len), 1);
     /* trigger sending of pre-loaded frame */
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__TRX_STATE,
-                           NG_AT86RF2XX_TRX_STATE__TX_START);
-    if (dev->event_cb && (dev->options & NG_AT86RF2XX_OPT_TELL_TX_START)) {
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__TRX_STATE,
+                        AT86RF2XX_TRX_STATE__TX_START);
+    if (dev->event_cb && (dev->options & AT86RF2XX_OPT_TELL_TX_START)) {
         dev->event_cb(NETDEV_EVENT_TX_STARTED, NULL);
     }
 }
 
-size_t ng_at86rf2xx_rx_len(ng_at86rf2xx_t *dev)
+size_t at86rf2xx_rx_len(at86rf2xx_t *dev)
 {
     uint8_t res;
-    ng_at86rf2xx_fb_read(dev, &res, 1);
+    at86rf2xx_fb_read(dev, &res, 1);
     return (size_t)(res - 2);           /* extract the PHR and LQI field */
 }
 
-void ng_at86rf2xx_rx_read(ng_at86rf2xx_t *dev, uint8_t *data, size_t len,
-                          size_t offset)
+void at86rf2xx_rx_read(at86rf2xx_t *dev, uint8_t *data, size_t len,
+                       size_t offset)
 {
     /* when reading from SRAM, the different chips from the AT86RF2xx family
      * behave differently: the AT86F233, the AT86RF232 and the ATRF86212B return
@@ -262,8 +262,8 @@ void ng_at86rf2xx_rx_read(ng_at86rf2xx_t *dev, uint8_t *data, size_t len,
      * the first data byte at position 0.
      */
 #ifndef MODULE_NG_AT86RF231
-    ng_at86rf2xx_sram_read(dev, offset + 1, data, len);
+    at86rf2xx_sram_read(dev, offset + 1, data, len);
 #else
-    ng_at86rf2xx_sram_read(dev, offset, data, len);
+    at86rf2xx_sram_read(dev, offset, data, len);
 #endif
 }
diff --git a/drivers/at86rf2xx/at86rf2xx_getset.c b/drivers/at86rf2xx/at86rf2xx_getset.c
new file mode 100644
index 0000000000000000000000000000000000000000..ea5eb7061ab12c2df86d6d6431b7b8b119ddabdd
--- /dev/null
+++ b/drivers/at86rf2xx/at86rf2xx_getset.c
@@ -0,0 +1,406 @@
+/*
+ * Copyright (C) 2015 Freie Universität Berlin
+ *
+ * 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.
+ */
+
+/**
+ * @ingroup     drivers_at86rf2xx
+ * @{
+ *
+ * @file
+ * @brief       Getter and setter functions for the AT86RF2xx drivers
+ *
+ * @author      Thomas Eichinger <thomas.eichinger@fu-berlin.de>
+ * @author      Hauke Petersen <hauke.petersen@fu-berlin.de>
+ * @author      Baptiste Clenet <bapclenet@gmail.com>
+ *
+ * @}
+ */
+
+#include "at86rf2xx.h"
+#include "at86rf2xx_internal.h"
+#include "at86rf2xx_registers.h"
+#include "periph/spi.h"
+
+#define ENABLE_DEBUG (0)
+#include "debug.h"
+
+#ifdef MODULE_NG_AT86RF212B
+/* See: Table 9-15. Recommended Mapping of TX Power, Frequency Band, and
+ * PHY_TX_PWR (register 0x05), AT86RF212B data sheet. */
+static const uint8_t dbm_to_tx_pow_868[] = {0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x18,
+                                            0x17, 0x15, 0x14, 0x13, 0x12, 0x11,
+                                            0x10, 0x0f, 0x31, 0x30, 0x2f, 0x94,
+                                            0x93, 0x91, 0x90, 0x29, 0x49, 0x48,
+                                            0x47, 0xad, 0xcd, 0xcc, 0xcb, 0xea,
+                                            0xe9, 0xe8, 0xe7, 0xe6, 0xe4, 0x80,
+                                            0xa0};
+static const uint8_t dbm_to_tx_pow_915[] = {0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x17,
+                                            0x16, 0x15, 0x14, 0x13, 0x12, 0x11,
+                                            0x10, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b,
+                                            0x09, 0x91, 0x08, 0x07, 0x05, 0x27,
+                                            0x04, 0x03, 0x02, 0x01, 0x00, 0x86,
+                                            0x40, 0x84, 0x83, 0x82, 0x80, 0xc1,
+                                            0xc0};
+int16_t tx_pow_to_dbm(at86rf2xx_freq_t freq, uint8_t reg) {
+    for(int i = 0; i < 37; i++){
+        if(freq == AT86RF2XX_FREQ_868MHZ){
+            if (dbm_to_tx_pow_868[i] == reg) {
+                return i -25;
+            }
+        } else if (freq == AT86RF2XX_FREQ_915MHZ){
+            if (dbm_to_tx_pow_915[i] == reg) {
+                return i -25;
+            }
+        }
+    }
+    return 0;
+}
+
+#elif MODULE_NG_AT86RF233
+static const int16_t tx_pow_to_dbm[] = {4, 4, 3, 3, 2, 2, 1,
+                                        0, -1, -2, -3, -4, -6, -8, -12, -17};
+static const uint8_t dbm_to_tx_pow[] = {0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e,
+                                        0x0e, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c,
+                                        0x0b, 0x0b, 0x0a, 0x09, 0x08, 0x07,
+                                        0x06, 0x05, 0x03,0x00};
+#else
+static const int16_t tx_pow_to_dbm[] = {3, 3, 2, 2, 1, 1, 0,
+                                        -1, -2, -3, -4, -5, -7, -9, -12, -17};
+static const uint8_t dbm_to_tx_pow[] = {0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e,
+                                        0x0e, 0x0d, 0x0d, 0x0c, 0x0c, 0x0b,
+                                        0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06,
+                                        0x05, 0x03, 0x00};
+#endif
+
+uint16_t at86rf2xx_get_addr_short(at86rf2xx_t *dev)
+{
+    return (dev->addr_short[0] << 8) | dev->addr_short[1];
+}
+
+void at86rf2xx_set_addr_short(at86rf2xx_t *dev, uint16_t addr)
+{
+    dev->addr_short[0] = addr >> 8;
+    dev->addr_short[1] = addr & 0xff;
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__SHORT_ADDR_0,
+                        dev->addr_short[0]);
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__SHORT_ADDR_1,
+                        dev->addr_short[1]);
+}
+
+uint64_t at86rf2xx_get_addr_long(at86rf2xx_t *dev)
+{
+    uint64_t addr;
+    uint8_t *ap = (uint8_t *)(&addr);
+    for (int i = 0; i < 8; i++) {
+        ap[i] = dev->addr_long[7 - i];
+    }
+    return addr;
+}
+
+void at86rf2xx_set_addr_long(at86rf2xx_t *dev, uint64_t addr)
+{
+    for (int i = 0; i < 8; i++) {
+        dev->addr_long[i] = (addr >> ((7 - i) * 8));
+        at86rf2xx_reg_write(dev, (AT86RF2XX_REG__IEEE_ADDR_0 + i),
+                            dev->addr_long[i]);
+    }
+}
+
+uint8_t at86rf2xx_get_chan(at86rf2xx_t *dev)
+{
+    return dev->chan;
+}
+
+void at86rf2xx_set_chan(at86rf2xx_t *dev, uint8_t channel)
+{
+    uint8_t tmp;
+
+    if (channel < AT86RF2XX_MIN_CHANNEL
+        || channel > AT86RF2XX_MAX_CHANNEL) {
+        return;
+    }
+    dev->chan = channel;
+    tmp = at86rf2xx_reg_read(dev, AT86RF2XX_REG__PHY_CC_CCA);
+    tmp &= ~(AT86RF2XX_PHY_CC_CCA_MASK__CHANNEL);
+    tmp |= (channel & AT86RF2XX_PHY_CC_CCA_MASK__CHANNEL);
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__PHY_CC_CCA, tmp);
+}
+
+#ifdef MODULE_NG_AT86RF212B
+at86rf2xx_freq_t at86rf2xx_get_freq(at86rf2xx_t *dev)
+{
+    return dev->freq;
+}
+
+void at86rf2xx_set_freq(at86rf2xx_t *dev, at86rf2xx_freq_t freq)
+{
+    uint8_t trx_ctrl2 = 0, rf_ctrl0 = 0;
+    trx_ctrl2 = at86rf2xx_reg_read(dev, AT86RF2XX_REG__TRX_CTRL_2);
+    trx_ctrl2 &= ~(AT86RF2XX_TRX_CTRL_2_MASK__FREQ_MODE);
+    rf_ctrl0 = at86rf2xx_reg_read(dev, AT86RF2XX_REG__RF_CTRL_0);
+    /* Erase previous conf for GC_TX_OFFS */
+    rf_ctrl0 &= ~AT86RF2XX_RF_CTRL_0_MASK__GC_TX_OFFS;
+
+    trx_ctrl2 |= AT86RF2XX_TRX_CTRL_2_MASK__SUB_MODE;
+    rf_ctrl0 |= AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__2DB;
+
+    switch(freq) {
+        case AT86RF2XX_FREQ_915MHZ:
+            if (dev->chan == 0) {
+                at86rf2xx_set_chan(dev,AT86RF2XX_DEFAULT_CHANNEL);
+            } else {
+                at86rf2xx_set_chan(dev,dev->chan);
+            }
+            break;
+
+        case AT86RF2XX_FREQ_868MHZ:
+            /* Channel = 0 for 868MHz means 868.3MHz, only one available */
+            at86rf2xx_set_chan(dev,0x00);
+            break;
+
+        default:
+            DEBUG("at86rf2xx: Trying to set unknown frequency 0x%lx\n",
+                (unsigned long) freq);
+            return;
+    }
+    dev->freq = freq;
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__TRX_CTRL_2, trx_ctrl2);
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__RF_CTRL_0, rf_ctrl0);
+}
+#endif
+
+uint16_t at86rf2xx_get_pan(at86rf2xx_t *dev)
+{
+    return dev->pan;
+}
+
+void at86rf2xx_set_pan(at86rf2xx_t *dev, uint16_t pan)
+{
+    dev->pan = pan;
+    DEBUG("pan0: %u, pan1: %u\n", (uint8_t)pan, pan >> 8);
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__PAN_ID_0, (uint8_t)pan);
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__PAN_ID_1, (pan >> 8));
+}
+
+int16_t at86rf2xx_get_txpower(at86rf2xx_t *dev)
+{
+#ifdef MODULE_NG_AT86RF212B
+    uint8_t txpower = at86rf2xx_reg_read(dev, AT86RF2XX_REG__PHY_TX_PWR);
+    DEBUG("txpower value: %x\n", txpower);
+    return tx_pow_to_dbm(dev->freq, txpower);
+#else
+    uint8_t txpower = at86rf2xx_reg_read(dev, AT86RF2XX_REG__PHY_TX_PWR)
+                & AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR;
+    return tx_pow_to_dbm[txpower];
+#endif
+}
+
+void at86rf2xx_set_txpower(at86rf2xx_t *dev, int16_t txpower)
+{
+#ifdef MODULE_NG_AT86RF212B
+    txpower += 25;
+#else
+    txpower += 17;
+#endif
+    if (txpower < 0) {
+        txpower = 0;
+#ifdef MODULE_NG_AT86RF212B
+    }
+    else if (txpower > 36) {
+        txpower = 36;
+#elif MODULE_NG_AT86RF233
+    }
+    else if (txpower > 21) {
+        txpower = 21;
+#else
+    }
+    else if (txpower > 20) {
+        txpower = 20;
+#endif
+    }
+#ifdef MODULE_NG_AT86RF212B
+    if (dev->freq == AT86RF2XX_FREQ_915MHZ) {
+        at86rf2xx_reg_write(dev, AT86RF2XX_REG__PHY_TX_PWR,
+                            dbm_to_tx_pow_915[txpower]);
+    }
+    else if (dev->freq == AT86RF2XX_FREQ_868MHZ) {
+        at86rf2xx_reg_write(dev, AT86RF2XX_REG__PHY_TX_PWR,
+                            dbm_to_tx_pow_868[txpower]);
+    }
+    else {
+        return;
+    }
+#else
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__PHY_TX_PWR,
+                        dbm_to_tx_pow[txpower]);
+#endif
+}
+
+uint8_t at86rf2xx_get_max_retries(at86rf2xx_t *dev)
+{
+    return (at86rf2xx_reg_read(dev, AT86RF2XX_REG__XAH_CTRL_0) >> 4);
+}
+
+void at86rf2xx_set_max_retries(at86rf2xx_t *dev, uint8_t max)
+{
+    max = (max > 7) ? 7 : max;
+    uint8_t tmp = at86rf2xx_reg_read(dev, AT86RF2XX_REG__XAH_CTRL_0);
+    tmp &= ~(AT86RF2XX_XAH_CTRL_0__MAX_FRAME_RETRIES);
+    tmp |= (max << 4);
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__XAH_CTRL_0, tmp);
+}
+
+void at86rf2xx_set_option(at86rf2xx_t *dev, uint16_t option, bool state)
+{
+    uint8_t tmp;
+
+    DEBUG("set option %i to %i\n", option, state);
+
+    /* set option field */
+    if (state) {
+        dev->options |= option;
+        /* trigger option specific actions */
+        switch (option) {
+            case AT86RF2XX_OPT_CSMA:
+                DEBUG("[at86rf2xx] opt: enabling CSMA mode (NOT IMPLEMENTED)\n");
+                /* TODO: en/disable csma */
+                break;
+            case AT86RF2XX_OPT_PROMISCUOUS:
+                DEBUG("[at86rf2xx] opt: enabling PROMISCUOUS mode\n");
+                /* disable auto ACKs in promiscuous mode */
+                tmp = at86rf2xx_reg_read(dev, AT86RF2XX_REG__CSMA_SEED_1);
+                tmp |= AT86RF2XX_CSMA_SEED_1__AACK_DIS_ACK;
+                at86rf2xx_reg_write(dev, AT86RF2XX_REG__CSMA_SEED_1, tmp);
+                /* enable promiscuous mode */
+                tmp = at86rf2xx_reg_read(dev, AT86RF2XX_REG__XAH_CTRL_1);
+                tmp |= AT86RF2XX_XAH_CTRL_1__AACK_PROM_MODE;
+                at86rf2xx_reg_write(dev, AT86RF2XX_REG__XAH_CTRL_1, tmp);
+                break;
+            case AT86RF2XX_OPT_AUTOACK:
+                DEBUG("[at86rf2xx] opt: enabling auto ACKs\n");
+                tmp = at86rf2xx_reg_read(dev, AT86RF2XX_REG__CSMA_SEED_1);
+                tmp &= ~(AT86RF2XX_CSMA_SEED_1__AACK_DIS_ACK);
+                at86rf2xx_reg_write(dev, AT86RF2XX_REG__CSMA_SEED_1, tmp);
+                break;
+            case AT86RF2XX_OPT_TELL_RX_START:
+                DEBUG("[at86rf2xx] opt: enabling SFD IRQ\n");
+                tmp = at86rf2xx_reg_read(dev, AT86RF2XX_REG__IRQ_MASK);
+                tmp |= AT86RF2XX_IRQ_STATUS_MASK__RX_START;
+                at86rf2xx_reg_write(dev, AT86RF2XX_REG__IRQ_MASK, tmp);
+                break;
+            default:
+                /* do nothing */
+                break;
+        }
+    }
+    else {
+        dev->options &= ~(option);
+        /* trigger option specific actions */
+        switch (option) {
+            case AT86RF2XX_OPT_CSMA:
+                DEBUG("[at86rf2xx] opt: disabling CSMA mode (NOT IMPLEMENTED)\n");
+                /* TODO: en/disable csma */
+                break;
+            case AT86RF2XX_OPT_PROMISCUOUS:
+                DEBUG("[at86rf2xx] opt: disabling PROMISCUOUS mode\n");
+                /* disable promiscuous mode */
+                tmp = at86rf2xx_reg_read(dev, AT86RF2XX_REG__XAH_CTRL_1);
+                tmp &= ~(AT86RF2XX_XAH_CTRL_1__AACK_PROM_MODE);
+                at86rf2xx_reg_write(dev, AT86RF2XX_REG__XAH_CTRL_1, tmp);
+                /* re-enable AUTOACK only if the option is set */
+                if (dev->options & AT86RF2XX_OPT_AUTOACK) {
+                    tmp = at86rf2xx_reg_read(dev,
+                                             AT86RF2XX_REG__CSMA_SEED_1);
+                    tmp &= ~(AT86RF2XX_CSMA_SEED_1__AACK_DIS_ACK);
+                    at86rf2xx_reg_write(dev, AT86RF2XX_REG__CSMA_SEED_1,
+                                        tmp);
+                }
+                break;
+            case AT86RF2XX_OPT_AUTOACK:
+                DEBUG("[at86rf2xx] opt: disabling auto ACKs\n");
+                tmp = at86rf2xx_reg_read(dev, AT86RF2XX_REG__CSMA_SEED_1);
+                tmp |= AT86RF2XX_CSMA_SEED_1__AACK_DIS_ACK;
+                at86rf2xx_reg_write(dev, AT86RF2XX_REG__CSMA_SEED_1, tmp);
+                break;
+            case AT86RF2XX_OPT_TELL_RX_START:
+                DEBUG("[at86rf2xx] opt: disabling SFD IRQ\n");
+                tmp = at86rf2xx_reg_read(dev, AT86RF2XX_REG__IRQ_MASK);
+                tmp &= ~AT86RF2XX_IRQ_STATUS_MASK__RX_START;
+                at86rf2xx_reg_write(dev, AT86RF2XX_REG__IRQ_MASK, tmp);
+                break;
+            default:
+                /* do nothing */
+                break;
+        }
+    }
+}
+
+static inline void _set_state(at86rf2xx_t *dev, uint8_t state)
+{
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__TRX_STATE, state);
+    while (at86rf2xx_get_status(dev) != state);
+}
+
+static inline void _force_trx_off(at86rf2xx_t *dev)
+{
+    at86rf2xx_reg_write(dev, AT86RF2XX_REG__TRX_STATE, AT86RF2XX_TRX_STATE__FORCE_TRX_OFF);
+    while (at86rf2xx_get_status(dev) != AT86RF2XX_STATE_TRX_OFF);
+}
+
+void at86rf2xx_set_state(at86rf2xx_t *dev, uint8_t state)
+{
+    uint8_t old_state = at86rf2xx_get_status(dev);
+
+    if (state == old_state) {
+        return;
+    }
+    /* make sure there is no ongoing transmission, or state transition already
+     * in progress */
+    while (old_state == AT86RF2XX_STATE_BUSY_RX_AACK ||
+           old_state == AT86RF2XX_STATE_BUSY_TX_ARET ||
+           old_state == AT86RF2XX_STATE_IN_PROGRESS) {
+        old_state = at86rf2xx_get_status(dev);
+    }
+
+    /* we need to go via PLL_ON if we are moving between RX_AACK_ON <-> TX_ARET_ON */
+    if ((old_state == AT86RF2XX_STATE_RX_AACK_ON &&
+             state == AT86RF2XX_STATE_TX_ARET_ON) ||
+        (old_state == AT86RF2XX_STATE_TX_ARET_ON &&
+             state == AT86RF2XX_STATE_RX_AACK_ON)) {
+        _set_state(dev, AT86RF2XX_STATE_PLL_ON);
+    }
+    /* check if we need to wake up from sleep mode */
+    else if (old_state == AT86RF2XX_STATE_SLEEP) {
+        DEBUG("at86rf2xx: waking up from sleep mode\n");
+        gpio_clear(dev->sleep_pin);
+        while (at86rf2xx_get_status(dev) != AT86RF2XX_STATE_TRX_OFF);
+    }
+
+    if (state == AT86RF2XX_STATE_SLEEP) {
+        /* First go to TRX_OFF */
+        _force_trx_off(dev);
+        /* Go to SLEEP mode from TRX_OFF */
+        gpio_set(dev->sleep_pin);
+    } else {
+        _set_state(dev, state);
+    }
+}
+
+void at86rf2xx_reset_state_machine(at86rf2xx_t *dev)
+{
+    uint8_t old_state;
+
+    /* Wake up */
+    gpio_clear(dev->sleep_pin);
+
+    /* Wait for any state transitions to complete before forcing TRX_OFF */
+    do {
+        old_state = at86rf2xx_get_status(dev);
+    } while (old_state == AT86RF2XX_STATE_IN_PROGRESS);
+
+    _force_trx_off(dev);
+}
diff --git a/drivers/ng_at86rf2xx/ng_at86rf2xx_internal.c b/drivers/at86rf2xx/at86rf2xx_internal.c
similarity index 53%
rename from drivers/ng_at86rf2xx/ng_at86rf2xx_internal.c
rename to drivers/at86rf2xx/at86rf2xx_internal.c
index 95511009a8638c30b827e85edec24d1b781ddcfd..c18d5c576e940d2ba92260f6a3e1c04a86e0f881 100644
--- a/drivers/ng_at86rf2xx/ng_at86rf2xx_internal.c
+++ b/drivers/at86rf2xx/at86rf2xx_internal.c
@@ -8,7 +8,7 @@
  */
 
 /**
- * @ingroup     drivers_ng_at86rf2xx
+ * @ingroup     drivers_at86rf2xx
  * @{
  *
  * @file
@@ -24,30 +24,30 @@
 
 #include "periph/spi.h"
 #include "periph/gpio.h"
-#include "ng_at86rf2xx_internal.h"
-#include "ng_at86rf2xx_registers.h"
+#include "at86rf2xx_internal.h"
+#include "at86rf2xx_registers.h"
 
-void ng_at86rf2xx_reg_write(const ng_at86rf2xx_t *dev,
-                            const uint8_t addr,
-                            const uint8_t value)
+void at86rf2xx_reg_write(const at86rf2xx_t *dev,
+                         const uint8_t addr,
+                         const uint8_t value)
 {
     spi_acquire(dev->spi);
     gpio_clear(dev->cs_pin);
     spi_transfer_reg(dev->spi,
-                     NG_AT86RF2XX_ACCESS_REG | NG_AT86RF2XX_ACCESS_WRITE | addr,
+                     AT86RF2XX_ACCESS_REG | AT86RF2XX_ACCESS_WRITE | addr,
                      value, 0);
     gpio_set(dev->cs_pin);
     spi_release(dev->spi);
 }
 
-uint8_t ng_at86rf2xx_reg_read(const ng_at86rf2xx_t *dev, const uint8_t addr)
+uint8_t at86rf2xx_reg_read(const at86rf2xx_t *dev, const uint8_t addr)
 {
     char value;
 
     spi_acquire(dev->spi);
     gpio_clear(dev->cs_pin);
     spi_transfer_reg(dev->spi,
-                     NG_AT86RF2XX_ACCESS_REG | NG_AT86RF2XX_ACCESS_READ | addr,
+                     AT86RF2XX_ACCESS_REG | AT86RF2XX_ACCESS_READ | addr,
                      0, &value);
     gpio_set(dev->cs_pin);
     spi_release(dev->spi);
@@ -55,52 +55,52 @@ uint8_t ng_at86rf2xx_reg_read(const ng_at86rf2xx_t *dev, const uint8_t addr)
     return (uint8_t)value;
 }
 
-void ng_at86rf2xx_sram_read(const ng_at86rf2xx_t *dev,
-                            const uint8_t offset,
-                            uint8_t *data,
-                            const size_t len)
+void at86rf2xx_sram_read(const at86rf2xx_t *dev,
+                         const uint8_t offset,
+                         uint8_t *data,
+                         const size_t len)
 {
     spi_acquire(dev->spi);
     gpio_clear(dev->cs_pin);
     spi_transfer_reg(dev->spi,
-                     NG_AT86RF2XX_ACCESS_SRAM | NG_AT86RF2XX_ACCESS_READ,
+                     AT86RF2XX_ACCESS_SRAM | AT86RF2XX_ACCESS_READ,
                      (char)offset, NULL);
-    spi_transfer_bytes(dev->spi, NULL, (char*)data, len);
+    spi_transfer_bytes(dev->spi, NULL, (char *)data, len);
     gpio_set(dev->cs_pin);
     spi_release(dev->spi);
 }
 
-void ng_at86rf2xx_sram_write(const ng_at86rf2xx_t *dev,
-                             const uint8_t offset,
-                             const uint8_t *data,
-                             const size_t len)
+void at86rf2xx_sram_write(const at86rf2xx_t *dev,
+                          const uint8_t offset,
+                          const uint8_t *data,
+                          const size_t len)
 {
     spi_acquire(dev->spi);
     gpio_clear(dev->cs_pin);
     spi_transfer_reg(dev->spi,
-                     NG_AT86RF2XX_ACCESS_SRAM | NG_AT86RF2XX_ACCESS_WRITE,
+                     AT86RF2XX_ACCESS_SRAM | AT86RF2XX_ACCESS_WRITE,
                      (char)offset, NULL);
-    spi_transfer_bytes(dev->spi, (char*)data, NULL, len);
+    spi_transfer_bytes(dev->spi, (char *)data, NULL, len);
     gpio_set(dev->cs_pin);
     spi_release(dev->spi);
 }
 
-void ng_at86rf2xx_fb_read(const ng_at86rf2xx_t *dev,
-                          uint8_t *data,
-                          const size_t len)
+void at86rf2xx_fb_read(const at86rf2xx_t *dev,
+                       uint8_t *data,
+                       const size_t len)
 {
     spi_acquire(dev->spi);
     gpio_clear(dev->cs_pin);
     spi_transfer_byte(dev->spi,
-                      NG_AT86RF2XX_ACCESS_FB | NG_AT86RF2XX_ACCESS_READ,
+                      AT86RF2XX_ACCESS_FB | AT86RF2XX_ACCESS_READ,
                       NULL);
     spi_transfer_bytes(dev->spi, NULL, (char *)data, len);
     gpio_set(dev->cs_pin);
     spi_release(dev->spi);
 }
 
-uint8_t ng_at86rf2xx_get_status(const ng_at86rf2xx_t *dev)
+uint8_t at86rf2xx_get_status(const at86rf2xx_t *dev)
 {
-    return (ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__TRX_STATUS)
-            & NG_AT86RF2XX_TRX_STATUS_MASK__TRX_STATUS);
+    return (at86rf2xx_reg_read(dev, AT86RF2XX_REG__TRX_STATUS)
+            & AT86RF2XX_TRX_STATUS_MASK__TRX_STATUS);
 }
diff --git a/drivers/ng_at86rf2xx/ng_at86rf2xx_netdev.c b/drivers/at86rf2xx/at86rf2xx_netdev.c
similarity index 71%
rename from drivers/ng_at86rf2xx/ng_at86rf2xx_netdev.c
rename to drivers/at86rf2xx/at86rf2xx_netdev.c
index 009bb39da68ceb336405588a118ac4fed70417e4..3be39058f54aa09a727cf7151a00b82c637a5319 100644
--- a/drivers/ng_at86rf2xx/ng_at86rf2xx_netdev.c
+++ b/drivers/at86rf2xx/at86rf2xx_netdev.c
@@ -7,7 +7,7 @@
  */
 
 /**
- * @ingroup     drivers_ng_at86rf2xx
+ * @ingroup     drivers_at86rf2xx
  * @{
  *
  * @file
@@ -22,10 +22,10 @@
 #include "net/eui64.h"
 #include "net/ieee802154.h"
 #include "net/ng_netbase.h"
-#include "ng_at86rf2xx.h"
-#include "ng_at86rf2xx_netdev.h"
-#include "ng_at86rf2xx_internal.h"
-#include "ng_at86rf2xx_registers.h"
+#include "at86rf2xx.h"
+#include "at86rf2xx_netdev.h"
+#include "at86rf2xx_internal.h"
+#include "at86rf2xx_registers.h"
 
 #define ENABLE_DEBUG (0)
 #include "debug.h"
@@ -33,7 +33,7 @@
 #define _MAX_MHR_OVERHEAD   (25)
 
 /* TODO: generalize and move to (gnrc_)ieee802154 */
-static size_t _make_data_frame_hdr(ng_at86rf2xx_t *dev, uint8_t *buf,
+static size_t _make_data_frame_hdr(at86rf2xx_t *dev, uint8_t *buf,
                                    ng_netif_hdr_t *hdr)
 {
     int pos = 0;
@@ -45,7 +45,7 @@ static size_t _make_data_frame_hdr(ng_at86rf2xx_t *dev, uint8_t *buf,
     /* if AUTOACK is enabled, then we also expect ACKs for this packet */
     if (!(hdr->flags & NG_NETIF_HDR_FLAGS_BROADCAST) &&
         !(hdr->flags & NG_NETIF_HDR_FLAGS_MULTICAST) &&
-        (dev->options & NG_AT86RF2XX_OPT_AUTOACK)) {
+        (dev->options & AT86RF2XX_OPT_AUTOACK)) {
         buf[0] |= IEEE802154_FCF_ACK_REQ;
     }
 
@@ -80,7 +80,7 @@ static size_t _make_data_frame_hdr(ng_at86rf2xx_t *dev, uint8_t *buf,
     }
 
     /* fill in source PAN ID (if applicable */
-    if (dev->options & NG_AT86RF2XX_OPT_USE_SRC_PAN) {
+    if (dev->options & AT86RF2XX_OPT_USE_SRC_PAN) {
         buf[pos++] = (uint8_t)((dev->pan) & 0xff);
         buf[pos++] = (uint8_t)((dev->pan) >> 8);
     } else {
@@ -88,7 +88,7 @@ static size_t _make_data_frame_hdr(ng_at86rf2xx_t *dev, uint8_t *buf,
     }
 
     /* fill in source address */
-    if (dev->options & NG_AT86RF2XX_OPT_SRC_ADDR_LONG) {
+    if (dev->options & AT86RF2XX_OPT_SRC_ADDR_LONG) {
         buf[1] |= IEEE802154_FCF_SRC_ADDR_LONG;
         memcpy(&(buf[pos]), dev->addr_long, 8);
         pos += 8;
@@ -211,7 +211,7 @@ static ng_pktsnip_t *_make_netif_hdr(uint8_t *mhr)
 
 static int _send(ng_netdev_t *netdev, ng_pktsnip_t *pkt)
 {
-    ng_at86rf2xx_t *dev = (ng_at86rf2xx_t *)netdev;
+    at86rf2xx_t *dev = (at86rf2xx_t *)netdev;
     ng_pktsnip_t *snip;
     uint8_t mhr[IEEE802154_MAX_HDR_LEN];
     size_t len;
@@ -227,30 +227,30 @@ static int _send(ng_netdev_t *netdev, ng_pktsnip_t *pkt)
     /* create 802.15.4 header */
     len = _make_data_frame_hdr(dev, mhr, (ng_netif_hdr_t *)pkt->data);
     if (len == 0) {
-        DEBUG("[ng_at86rf2xx] error: unable to create 802.15.4 header\n");
+        DEBUG("[at86rf2xx] error: unable to create 802.15.4 header\n");
         ng_pktbuf_release(pkt);
         return -ENOMSG;
     }
     /* check if packet (header + payload + FCS) fits into FIFO */
     snip = pkt->next;
-    if ((ng_pkt_len(snip) + len + 2) > NG_AT86RF2XX_MAX_PKT_LENGTH) {
-        printf("[ng_at86rf2xx] error: packet too large (%u byte) to be send\n",
+    if ((ng_pkt_len(snip) + len + 2) > AT86RF2XX_MAX_PKT_LENGTH) {
+        printf("[at86rf2xx] error: packet too large (%u byte) to be send\n",
                ng_pkt_len(snip) + len + 2);
         ng_pktbuf_release(pkt);
         return -EOVERFLOW;
     }
 
-    ng_at86rf2xx_tx_prepare(dev);
+    at86rf2xx_tx_prepare(dev);
     /* put header into FIFO */
-    len = ng_at86rf2xx_tx_load(dev, mhr, len, 0);
+    len = at86rf2xx_tx_load(dev, mhr, len, 0);
     /* load packet data into FIFO */
     while (snip) {
-        len = ng_at86rf2xx_tx_load(dev, snip->data, snip->size, len);
+        len = at86rf2xx_tx_load(dev, snip->data, snip->size, len);
         snip = snip->next;
     }
     /* send data out directly if pre-loading id disabled */
-    if (!(dev->options & NG_AT86RF2XX_OPT_PRELOADING)) {
-        ng_at86rf2xx_tx_exec(dev);
+    if (!(dev->options & AT86RF2XX_OPT_PRELOADING)) {
+        at86rf2xx_tx_exec(dev);
     }
     /* release packet */
     ng_pktbuf_release(pkt);
@@ -258,7 +258,7 @@ static int _send(ng_netdev_t *netdev, ng_pktsnip_t *pkt)
     return (int)len;
 }
 
-static void _receive_data(ng_at86rf2xx_t *dev)
+static void _receive_data(at86rf2xx_t *dev)
 {
     uint8_t mhr[IEEE802154_MAX_HDR_LEN];
     size_t pkt_len, hdr_len;
@@ -266,7 +266,7 @@ static void _receive_data(ng_at86rf2xx_t *dev)
     ng_netif_hdr_t *netif;
 
     /* get the size of the received packet (unlocks frame buffer protection) */
-    pkt_len = ng_at86rf2xx_rx_len(dev);
+    pkt_len = at86rf2xx_rx_len(dev);
 
     /* abort here already if no event callback is registered */
     if (!dev->event_cb) {
@@ -274,66 +274,66 @@ static void _receive_data(ng_at86rf2xx_t *dev)
     }
 
     /* in raw mode, just read the binary dump into the packet buffer */
-    if (dev->options & NG_AT86RF2XX_OPT_RAWDUMP) {
+    if (dev->options & AT86RF2XX_OPT_RAWDUMP) {
         payload = ng_pktbuf_add(NULL, NULL, pkt_len, NG_NETTYPE_UNDEF);
         if (payload == NULL ) {
-            DEBUG("[ng_at86rf2xx] error: unable to allocate RAW data\n");
+            DEBUG("[at86rf2xx] error: unable to allocate RAW data\n");
             return;
         }
-        ng_at86rf2xx_rx_read(dev, payload->data, pkt_len, 0);
+        at86rf2xx_rx_read(dev, payload->data, pkt_len, 0);
         dev->event_cb(NETDEV_EVENT_RX_COMPLETE, payload);
         return;
     }
 
     /* get FCF field and compute 802.15.4 header length */
-    ng_at86rf2xx_rx_read(dev, mhr, 2, 0);
+    at86rf2xx_rx_read(dev, mhr, 2, 0);
     hdr_len = _get_frame_hdr_len(mhr);
     if (hdr_len == 0) {
-        DEBUG("[ng_at86rf2xx] error: unable parse incoming frame header\n");
+        DEBUG("[at86rf2xx] error: unable parse incoming frame header\n");
         return;
     }
     /* read the rest of the header and parse the netif header from it */
-    ng_at86rf2xx_rx_read(dev, &(mhr[2]), hdr_len - 2, 2);
+    at86rf2xx_rx_read(dev, &(mhr[2]), hdr_len - 2, 2);
     hdr = _make_netif_hdr(mhr);
     if (hdr == NULL) {
-        DEBUG("[ng_at86rf2xx] error: unable to allocate netif header\n");
+        DEBUG("[at86rf2xx] error: unable to allocate netif header\n");
         return;
     }
     /* fill missing fields in netif header */
     netif = (ng_netif_hdr_t *)hdr->data;
     netif->if_pid = dev->mac_pid;
-    ng_at86rf2xx_rx_read(dev, &(netif->lqi), 1, pkt_len);
-    netif->rssi = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__PHY_ED_LEVEL);
+    at86rf2xx_rx_read(dev, &(netif->lqi), 1, pkt_len);
+    netif->rssi = at86rf2xx_reg_read(dev, AT86RF2XX_REG__PHY_ED_LEVEL);
 
     /* allocate payload */
     payload = ng_pktbuf_add(hdr, NULL, (pkt_len - hdr_len), dev->proto);
     if (payload == NULL) {
-        DEBUG("[ng_at86rf2xx] error: unable to allocate incoming payload\n");
+        DEBUG("[at86rf2xx] error: unable to allocate incoming payload\n");
         ng_pktbuf_release(hdr);
         return;
     }
     /* copy payload */
-    ng_at86rf2xx_rx_read(dev, payload->data, payload->size, hdr_len);
+    at86rf2xx_rx_read(dev, payload->data, payload->size, hdr_len);
     /* finish up and send data to upper layers */
     dev->event_cb(NETDEV_EVENT_RX_COMPLETE, payload);
 }
 
-static int _set_state(ng_at86rf2xx_t *dev, netopt_state_t state)
+static int _set_state(at86rf2xx_t *dev, netopt_state_t state)
 {
     switch (state) {
         case NETOPT_STATE_SLEEP:
-            ng_at86rf2xx_set_state(dev, NG_AT86RF2XX_STATE_TRX_OFF);
+            at86rf2xx_set_state(dev, AT86RF2XX_STATE_TRX_OFF);
             break;
         case NETOPT_STATE_IDLE:
-            ng_at86rf2xx_set_state(dev, NG_AT86RF2XX_STATE_RX_AACK_ON);
+            at86rf2xx_set_state(dev, AT86RF2XX_STATE_RX_AACK_ON);
             break;
         case NETOPT_STATE_TX:
-            if (dev->options & NG_AT86RF2XX_OPT_PRELOADING) {
-                ng_at86rf2xx_tx_exec(dev);
+            if (dev->options & AT86RF2XX_OPT_PRELOADING) {
+                at86rf2xx_tx_exec(dev);
             }
             break;
         case NETOPT_STATE_RESET:
-            ng_at86rf2xx_reset(dev);
+            at86rf2xx_reset(dev);
             break;
         default:
             return -ENOTSUP;
@@ -341,17 +341,17 @@ static int _set_state(ng_at86rf2xx_t *dev, netopt_state_t state)
     return sizeof(netopt_state_t);
 }
 
-netopt_state_t _get_state(ng_at86rf2xx_t *dev)
+netopt_state_t _get_state(at86rf2xx_t *dev)
 {
-    switch (ng_at86rf2xx_get_status(dev)) {
-        case NG_AT86RF2XX_STATE_SLEEP:
+    switch (at86rf2xx_get_status(dev)) {
+        case AT86RF2XX_STATE_SLEEP:
             return NETOPT_STATE_SLEEP;
-        case NG_AT86RF2XX_STATE_BUSY_RX_AACK:
+        case AT86RF2XX_STATE_BUSY_RX_AACK:
             return NETOPT_STATE_RX;
-        case NG_AT86RF2XX_STATE_BUSY_TX_ARET:
-        case NG_AT86RF2XX_STATE_TX_ARET_ON:
+        case AT86RF2XX_STATE_BUSY_TX_ARET:
+        case AT86RF2XX_STATE_TX_ARET_ON:
             return NETOPT_STATE_TX;
-        case NG_AT86RF2XX_STATE_RX_AACK_ON:
+        case AT86RF2XX_STATE_RX_AACK_ON:
         default:
             return NETOPT_STATE_IDLE;
     }
@@ -362,7 +362,7 @@ static int _get(ng_netdev_t *device, netopt_t opt, void *val, size_t max_len)
     if (device == NULL) {
         return -ENODEV;
     }
-    ng_at86rf2xx_t *dev = (ng_at86rf2xx_t *) device;
+    at86rf2xx_t *dev = (at86rf2xx_t *) device;
 
     switch (opt) {
 
@@ -370,14 +370,14 @@ static int _get(ng_netdev_t *device, netopt_t opt, void *val, size_t max_len)
             if (max_len < sizeof(uint16_t)) {
                 return -EOVERFLOW;
             }
-            *((uint16_t *)val) = ng_at86rf2xx_get_addr_short(dev);
+            *((uint16_t *)val) = at86rf2xx_get_addr_short(dev);
             return sizeof(uint16_t);
 
         case NETOPT_ADDRESS_LONG:
             if (max_len < sizeof(uint64_t)) {
                 return -EOVERFLOW;
             }
-            *((uint64_t *)val) = ng_at86rf2xx_get_addr_long(dev);
+            *((uint64_t *)val) = at86rf2xx_get_addr_long(dev);
             return sizeof(uint64_t);
 
         case NETOPT_ADDR_LEN:
@@ -391,7 +391,7 @@ static int _get(ng_netdev_t *device, netopt_t opt, void *val, size_t max_len)
             if (max_len < sizeof(uint16_t)) {
                 return -EOVERFLOW;
             }
-            if (dev->options & NG_AT86RF2XX_OPT_SRC_ADDR_LONG) {
+            if (dev->options & AT86RF2XX_OPT_SRC_ADDR_LONG) {
                 *((uint16_t *)val) = 8;
             }
             else {
@@ -410,12 +410,12 @@ static int _get(ng_netdev_t *device, netopt_t opt, void *val, size_t max_len)
             if (max_len < sizeof(eui64_t)) {
                 return -EOVERFLOW;
             }
-            if (dev->options & NG_AT86RF2XX_OPT_SRC_ADDR_LONG) {
-                uint64_t addr = ng_at86rf2xx_get_addr_long(dev);
+            if (dev->options & AT86RF2XX_OPT_SRC_ADDR_LONG) {
+                uint64_t addr = at86rf2xx_get_addr_long(dev);
                 ieee802154_get_iid(val, (uint8_t *)&addr, 8);
             }
             else {
-                uint16_t addr = ng_at86rf2xx_get_addr_short(dev);
+                uint16_t addr = at86rf2xx_get_addr_short(dev);
                 ieee802154_get_iid(val, (uint8_t *)&addr, 2);
             }
             return sizeof(eui64_t);
@@ -432,21 +432,21 @@ static int _get(ng_netdev_t *device, netopt_t opt, void *val, size_t max_len)
                 return -EOVERFLOW;
             }
             ((uint8_t *)val)[1] = 0;
-            ((uint8_t *)val)[0] = ng_at86rf2xx_get_chan(dev);
+            ((uint8_t *)val)[0] = at86rf2xx_get_chan(dev);
             return sizeof(uint16_t);
 
         case NETOPT_TX_POWER:
             if (max_len < sizeof(int16_t)) {
                 return -EOVERFLOW;
             }
-            *((uint16_t *)val) = ng_at86rf2xx_get_txpower(dev);
+            *((uint16_t *)val) = at86rf2xx_get_txpower(dev);
             return sizeof(uint16_t);
 
         case NETOPT_MAX_PACKET_SIZE:
             if (max_len < sizeof(int16_t)) {
                 return -EOVERFLOW;
             }
-            *((uint16_t *)val) = NG_AT86RF2XX_MAX_PKT_LENGTH - _MAX_MHR_OVERHEAD;
+            *((uint16_t *)val) = AT86RF2XX_MAX_PKT_LENGTH - _MAX_MHR_OVERHEAD;
             return sizeof(uint16_t);
 
         case NETOPT_STATE:
@@ -457,7 +457,7 @@ static int _get(ng_netdev_t *device, netopt_t opt, void *val, size_t max_len)
             break;
 
         case NETOPT_PRELOADING:
-            if (dev->options & NG_AT86RF2XX_OPT_PRELOADING) {
+            if (dev->options & AT86RF2XX_OPT_PRELOADING) {
                 *((netopt_enable_t *)val) = NETOPT_ENABLE;
             }
             else {
@@ -466,7 +466,7 @@ static int _get(ng_netdev_t *device, netopt_t opt, void *val, size_t max_len)
             return sizeof(netopt_enable_t);
 
         case NETOPT_AUTOACK:
-            if (dev->options & NG_AT86RF2XX_OPT_AUTOACK) {
+            if (dev->options & AT86RF2XX_OPT_AUTOACK) {
                 *((netopt_enable_t *)val) = NETOPT_ENABLE;
             }
             else {
@@ -478,11 +478,11 @@ static int _get(ng_netdev_t *device, netopt_t opt, void *val, size_t max_len)
             if (max_len < sizeof(uint8_t)) {
                 return -EOVERFLOW;
             }
-            *((uint8_t *)val) = ng_at86rf2xx_get_max_retries(dev);
+            *((uint8_t *)val) = at86rf2xx_get_max_retries(dev);
             return sizeof(uint8_t);
 
         case NETOPT_PROMISCUOUSMODE:
-            if (dev->options & NG_AT86RF2XX_OPT_PROMISCUOUS) {
+            if (dev->options & AT86RF2XX_OPT_PROMISCUOUS) {
                 *((netopt_enable_t *)val) = NETOPT_ENABLE;
             }
             else {
@@ -491,7 +491,7 @@ static int _get(ng_netdev_t *device, netopt_t opt, void *val, size_t max_len)
             return sizeof(netopt_enable_t);
 
         case NETOPT_RAWMODE:
-            if (dev->options & NG_AT86RF2XX_OPT_RAWDUMP) {
+            if (dev->options & AT86RF2XX_OPT_RAWDUMP) {
                 *((netopt_enable_t *)val) = NETOPT_ENABLE;
             }
             else {
@@ -500,7 +500,7 @@ static int _get(ng_netdev_t *device, netopt_t opt, void *val, size_t max_len)
             return sizeof(netopt_enable_t);
 
         case NETOPT_IS_CHANNEL_CLR:
-            if (ng_at86rf2xx_cca(dev)) {
+            if (at86rf2xx_cca(dev)) {
                 *((netopt_enable_t *)val) = NETOPT_ENABLE;
             }
             else {
@@ -510,22 +510,22 @@ static int _get(ng_netdev_t *device, netopt_t opt, void *val, size_t max_len)
 
         case NETOPT_RX_START_IRQ:
             *((netopt_enable_t *)val) =
-                !!(dev->options & NG_AT86RF2XX_OPT_TELL_RX_START);
+                !!(dev->options & AT86RF2XX_OPT_TELL_RX_START);
             return sizeof(netopt_enable_t);
 
         case NETOPT_RX_END_IRQ:
             *((netopt_enable_t *)val) =
-                !!(dev->options & NG_AT86RF2XX_OPT_TELL_RX_END);
+                !!(dev->options & AT86RF2XX_OPT_TELL_RX_END);
             return sizeof(netopt_enable_t);
 
         case NETOPT_TX_START_IRQ:
             *((netopt_enable_t *)val) =
-                !!(dev->options & NG_AT86RF2XX_OPT_TELL_TX_START);
+                !!(dev->options & AT86RF2XX_OPT_TELL_TX_START);
             return sizeof(netopt_enable_t);
 
         case NETOPT_TX_END_IRQ:
             *((netopt_enable_t *)val) =
-                !!(dev->options & NG_AT86RF2XX_OPT_TELL_TX_END);
+                !!(dev->options & AT86RF2XX_OPT_TELL_TX_END);
             return sizeof(netopt_enable_t);
 
         default:
@@ -537,7 +537,7 @@ static int _get(ng_netdev_t *device, netopt_t opt, void *val, size_t max_len)
 
 static int _set(ng_netdev_t *device, netopt_t opt, void *val, size_t len)
 {
-    ng_at86rf2xx_t *dev = (ng_at86rf2xx_t *) device;
+    at86rf2xx_t *dev = (at86rf2xx_t *) device;
 
     if (dev == NULL) {
         return -ENODEV;
@@ -548,14 +548,14 @@ static int _set(ng_netdev_t *device, netopt_t opt, void *val, size_t len)
             if (len > sizeof(uint16_t)) {
                 return -EOVERFLOW;
             }
-            ng_at86rf2xx_set_addr_short(dev, *((uint16_t*)val));
+            at86rf2xx_set_addr_short(dev, *((uint16_t*)val));
             return sizeof(uint16_t);
 
         case NETOPT_ADDRESS_LONG:
             if (len > sizeof(uint64_t)) {
                 return -EOVERFLOW;
             }
-            ng_at86rf2xx_set_addr_long(dev, *((uint64_t*)val));
+            at86rf2xx_set_addr_long(dev, *((uint64_t*)val));
             return sizeof(uint64_t);
 
         case NETOPT_SRC_LEN:
@@ -563,12 +563,12 @@ static int _set(ng_netdev_t *device, netopt_t opt, void *val, size_t len)
                 return -EOVERFLOW;
             }
             if (*((uint16_t *)val) == 2) {
-                ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_SRC_ADDR_LONG,
-                                        false);
+                at86rf2xx_set_option(dev, AT86RF2XX_OPT_SRC_ADDR_LONG,
+                                     false);
             }
             else if (*((uint16_t *)val) == 8) {
-                ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_SRC_ADDR_LONG,
-                                        true);
+                at86rf2xx_set_option(dev, AT86RF2XX_OPT_SRC_ADDR_LONG,
+                                     true);
             }
             else {
                 return -ENOTSUP;
@@ -579,7 +579,7 @@ static int _set(ng_netdev_t *device, netopt_t opt, void *val, size_t len)
             if (len > sizeof(uint16_t)) {
                 return -EOVERFLOW;
             }
-            ng_at86rf2xx_set_pan(dev, *((uint16_t *)val));
+            at86rf2xx_set_pan(dev, *((uint16_t *)val));
             return sizeof(uint16_t);
 
         case NETOPT_CHANNEL:
@@ -587,18 +587,18 @@ static int _set(ng_netdev_t *device, netopt_t opt, void *val, size_t len)
                 return -EINVAL;
             }
             uint8_t chan = ((uint8_t *)val)[0];
-            if (chan < NG_AT86RF2XX_MIN_CHANNEL ||
-                chan > NG_AT86RF2XX_MAX_CHANNEL) {
+            if (chan < AT86RF2XX_MIN_CHANNEL ||
+                chan > AT86RF2XX_MAX_CHANNEL) {
                 return -ENOTSUP;
             }
-            ng_at86rf2xx_set_chan(dev, chan);
+            at86rf2xx_set_chan(dev, chan);
             return sizeof(uint16_t);
 
         case NETOPT_TX_POWER:
             if (len > sizeof(int16_t)) {
                 return -EOVERFLOW;
             }
-            ng_at86rf2xx_set_txpower(dev, *((int16_t *)val));
+            at86rf2xx_set_txpower(dev, *((int16_t *)val));
             return sizeof(uint16_t);
 
         case NETOPT_STATE:
@@ -608,50 +608,50 @@ static int _set(ng_netdev_t *device, netopt_t opt, void *val, size_t len)
             return _set_state(dev, *((netopt_state_t *)val));
 
         case NETOPT_AUTOACK:
-            ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_AUTOACK,
-                                    ((bool *)val)[0]);
+            at86rf2xx_set_option(dev, AT86RF2XX_OPT_AUTOACK,
+                                 ((bool *)val)[0]);
             return sizeof(netopt_enable_t);
 
         case NETOPT_RETRANS:
             if (len > sizeof(uint8_t)) {
                 return -EOVERFLOW;
             }
-            ng_at86rf2xx_set_max_retries(dev, *((uint8_t *)val));
+            at86rf2xx_set_max_retries(dev, *((uint8_t *)val));
             return sizeof(uint8_t);
 
         case NETOPT_PRELOADING:
-            ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_PRELOADING,
-                                    ((bool *)val)[0]);
+            at86rf2xx_set_option(dev, AT86RF2XX_OPT_PRELOADING,
+                                 ((bool *)val)[0]);
             return sizeof(netopt_enable_t);
 
         case NETOPT_PROMISCUOUSMODE:
-            ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_PROMISCUOUS,
-                                    ((bool *)val)[0]);
+            at86rf2xx_set_option(dev, AT86RF2XX_OPT_PROMISCUOUS,
+                                 ((bool *)val)[0]);
             return sizeof(netopt_enable_t);
 
         case NETOPT_RAWMODE:
-            ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_RAWDUMP,
-                                    ((bool *)val)[0]);
+            at86rf2xx_set_option(dev, AT86RF2XX_OPT_RAWDUMP,
+                                 ((bool *)val)[0]);
             return sizeof(netopt_enable_t);
 
         case NETOPT_RX_START_IRQ:
-            ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_TELL_RX_START,
-                                    ((bool *)val)[0]);
+            at86rf2xx_set_option(dev, AT86RF2XX_OPT_TELL_RX_START,
+                                 ((bool *)val)[0]);
             return sizeof(netopt_enable_t);
 
         case NETOPT_RX_END_IRQ:
-            ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_TELL_RX_END,
-                                    ((bool *)val)[0]);
+            at86rf2xx_set_option(dev, AT86RF2XX_OPT_TELL_RX_END,
+                                 ((bool *)val)[0]);
             return sizeof(netopt_enable_t);
 
         case NETOPT_TX_START_IRQ:
-            ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_TELL_TX_START,
-                                    ((bool *)val)[0]);
+            at86rf2xx_set_option(dev, AT86RF2XX_OPT_TELL_TX_START,
+                                 ((bool *)val)[0]);
             return sizeof(netopt_enable_t);
 
         case NETOPT_TX_END_IRQ:
-            ng_at86rf2xx_set_option(dev, NG_AT86RF2XX_OPT_TELL_TX_END,
-                                    ((bool *)val)[0]);
+            at86rf2xx_set_option(dev, AT86RF2XX_OPT_TELL_TX_END,
+                                 ((bool *)val)[0]);
             return sizeof(netopt_enable_t);
 
         default:
@@ -689,38 +689,38 @@ static int _rem_event_cb(ng_netdev_t *dev, ng_netdev_event_cb_t cb)
 
 static void _isr_event(ng_netdev_t *device, uint32_t event_type)
 {
-    ng_at86rf2xx_t *dev = (ng_at86rf2xx_t *) device;
+    at86rf2xx_t *dev = (at86rf2xx_t *) device;
     uint8_t irq_mask;
     uint8_t state;
 
     /* read (consume) device status */
-    irq_mask = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__IRQ_STATUS);
+    irq_mask = at86rf2xx_reg_read(dev, AT86RF2XX_REG__IRQ_STATUS);
 
-    state = ng_at86rf2xx_get_status(dev);
+    state = at86rf2xx_get_status(dev);
 
-    if (irq_mask & NG_AT86RF2XX_IRQ_STATUS_MASK__RX_START) {
+    if (irq_mask & AT86RF2XX_IRQ_STATUS_MASK__RX_START) {
         dev->event_cb(NETDEV_EVENT_RX_STARTED, NULL);
-        DEBUG("[ng_at86rf2xx] EVT - RX_START\n");
+        DEBUG("[at86rf2xx] EVT - RX_START\n");
     }
-    if (irq_mask & NG_AT86RF2XX_IRQ_STATUS_MASK__TRX_END) {
-        if (state == NG_AT86RF2XX_STATE_RX_AACK_ON || state == NG_AT86RF2XX_STATE_BUSY_RX_AACK) {
-            DEBUG("[ng_at86rf2xx] EVT - RX_END\n");
-            if (!(dev->options & NG_AT86RF2XX_OPT_TELL_RX_END)) {
+    if (irq_mask & AT86RF2XX_IRQ_STATUS_MASK__TRX_END) {
+        if (state == AT86RF2XX_STATE_RX_AACK_ON || state == AT86RF2XX_STATE_BUSY_RX_AACK) {
+            DEBUG("[at86rf2xx] EVT - RX_END\n");
+            if (!(dev->options & AT86RF2XX_OPT_TELL_RX_END)) {
                 return;
             }
             _receive_data(dev);
         }
-        else if (state == NG_AT86RF2XX_STATE_TX_ARET_ON) {
-            ng_at86rf2xx_set_state(dev, dev->idle_state);
-            if (dev->event_cb && (dev->options & NG_AT86RF2XX_OPT_TELL_TX_END)) {
+        else if (state == AT86RF2XX_STATE_TX_ARET_ON) {
+            at86rf2xx_set_state(dev, dev->idle_state);
+            if (dev->event_cb && (dev->options & AT86RF2XX_OPT_TELL_TX_END)) {
                 dev->event_cb(NETDEV_EVENT_TX_COMPLETE, NULL);
             }
-            DEBUG("[ng_at86rf2xx] EVT - TX_END\n");
+            DEBUG("[at86rf2xx] EVT - TX_END\n");
         }
     }
 }
 
-const ng_netdev_driver_t ng_at86rf2xx_driver = {
+const ng_netdev_driver_t at86rf2xx_driver = {
     .send_data = _send,
     .add_event_callback = _add_event_cb,
     .rem_event_callback = _rem_event_cb,
diff --git a/drivers/ng_at86rf2xx/include/ng_at86rf2xx_internal.h b/drivers/at86rf2xx/include/at86rf2xx_internal.h
similarity index 71%
rename from drivers/ng_at86rf2xx/include/ng_at86rf2xx_internal.h
rename to drivers/at86rf2xx/include/at86rf2xx_internal.h
index c5e8ca424cfb2ffdcf52f1c5323db3382d026965..b32b2a4066225c18e7939ccb13fd85c7cefcdded 100644
--- a/drivers/ng_at86rf2xx/include/ng_at86rf2xx_internal.h
+++ b/drivers/at86rf2xx/include/at86rf2xx_internal.h
@@ -8,7 +8,7 @@
  */
 
 /**
- * @ingroup     drivers_ng_at86rf2xx
+ * @ingroup     drivers_at86rf2xx
  * @{
  *
  * @file
@@ -19,12 +19,12 @@
  * @author      Hauke Petersen <hauke.petersen@fu-berlin.de>
  */
 
-#ifndef NG_AT86RF2XX_INTERNAL_H_
-#define NG_AT86RF2XX_INTERNAL_H_
+#ifndef AT86RF2XX_INTERNAL_H_
+#define AT86RF2XX_INTERNAL_H_
 
 #include <stdint.h>
 
-#include "ng_at86rf2xx.h"
+#include "at86rf2xx.h"
 
 
 #ifdef __cplusplus
@@ -39,7 +39,7 @@ extern "C" {
  *
  * @return              the value of the specified register
  */
-uint8_t ng_at86rf2xx_reg_read(const ng_at86rf2xx_t *dev, const uint8_t addr);
+uint8_t at86rf2xx_reg_read(const at86rf2xx_t *dev, const uint8_t addr);
 
 /**
  * @brief   Write to a register at address `addr` from device `dev`.
@@ -48,8 +48,8 @@ uint8_t ng_at86rf2xx_reg_read(const ng_at86rf2xx_t *dev, const uint8_t addr);
  * @param[in] addr      address of the register to write
  * @param[in] value     value to write to the given register
  */
-void ng_at86rf2xx_reg_write(const ng_at86rf2xx_t *dev, const uint8_t addr,
-                            const uint8_t value);
+void at86rf2xx_reg_write(const at86rf2xx_t *dev, const uint8_t addr,
+                         const uint8_t value);
 
 /**
  * @brief   Read a chunk of data from the SRAM of the given device
@@ -59,10 +59,10 @@ void ng_at86rf2xx_reg_write(const ng_at86rf2xx_t *dev, const uint8_t addr,
  * @param[out] data     buffer to read data into
  * @param[in]  len      number of bytes to read from SRAM
  */
-void ng_at86rf2xx_sram_read(const ng_at86rf2xx_t *dev,
-                            const uint8_t offset,
-                            uint8_t *data,
-                            const size_t len);
+void at86rf2xx_sram_read(const at86rf2xx_t *dev,
+                         const uint8_t offset,
+                         uint8_t *data,
+                         const size_t len);
 
 /**
  * @brief   Write a chunk of data into the SRAM of the given device
@@ -72,10 +72,10 @@ void ng_at86rf2xx_sram_read(const ng_at86rf2xx_t *dev,
  * @param[in] data      data to copy into SRAM
  * @param[in] len       number of bytes to write to SRAM
  */
-void ng_at86rf2xx_sram_write(const ng_at86rf2xx_t *dev,
-                             const uint8_t offset,
-                             const uint8_t *data,
-                             const size_t len);
+void at86rf2xx_sram_write(const at86rf2xx_t *dev,
+                          const uint8_t offset,
+                          const uint8_t *data,
+                          const size_t len);
 
 /**
  * @brief   Read the internal frame buffer of the given device
@@ -87,8 +87,8 @@ void ng_at86rf2xx_sram_write(const ng_at86rf2xx_t *dev,
  * @param[out] data     buffer to copy the data to
  * @param[in]  len      number of bytes to read from the frame buffer
  */
-void ng_at86rf2xx_fb_read(const ng_at86rf2xx_t *dev,
-                          uint8_t *data, const size_t len);
+void at86rf2xx_fb_read(const at86rf2xx_t *dev,
+                       uint8_t *data, const size_t len);
 
 /**
  * @brief   Convenience function for reading the status of the given device
@@ -97,11 +97,11 @@ void ng_at86rf2xx_fb_read(const ng_at86rf2xx_t *dev,
  *
  * @return              internal status of the given device
  */
-uint8_t ng_at86rf2xx_get_status(const ng_at86rf2xx_t *dev);
+uint8_t at86rf2xx_get_status(const at86rf2xx_t *dev);
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* NG_AT86RF2XX_INTERNAL_H_ */
+#endif /* AT86RF2XX_INTERNAL_H_ */
 /** @} */
diff --git a/drivers/ng_at86rf2xx/include/ng_at86rf2xx_netdev.h b/drivers/at86rf2xx/include/at86rf2xx_netdev.h
similarity index 74%
rename from drivers/ng_at86rf2xx/include/ng_at86rf2xx_netdev.h
rename to drivers/at86rf2xx/include/at86rf2xx_netdev.h
index 2085fb3e6e3c24850fbb9e8f8d642d17582a0a7c..304046a6866980ec59a32dcded642023da35d9ee 100644
--- a/drivers/ng_at86rf2xx/include/ng_at86rf2xx_netdev.h
+++ b/drivers/at86rf2xx/include/at86rf2xx_netdev.h
@@ -7,7 +7,7 @@
  */
 
 /**
- * @ingroup     drivers_ng_at86rf2xx
+ * @ingroup     drivers_at86rf2xx
  * @{
  *
  * @file
@@ -16,8 +16,8 @@
  * @author      Hauke Petersen <hauke.petersen@fu-berlin.de>
  */
 
-#ifndef NG_AT86RF2XX_NETDEV_H_
-#define NG_AT86RF2XX_NETDEV_H_
+#ifndef AT86RF2XX_NETDEV_H_
+#define AT86RF2XX_NETDEV_H_
 
 #include "net/ng_netdev.h"
 
@@ -28,11 +28,11 @@ extern "C" {
 /**
  * @brief   Reference to the netdev device driver struct
  */
-extern const ng_netdev_driver_t ng_at86rf2xx_driver;
+extern const ng_netdev_driver_t at86rf2xx_driver;
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* NG_AT86RF2XX_NETDEV_H_ */
+#endif /* AT86RF2XX_NETDEV_H_ */
 /** @} */
diff --git a/drivers/at86rf2xx/include/at86rf2xx_registers.h b/drivers/at86rf2xx/include/at86rf2xx_registers.h
new file mode 100644
index 0000000000000000000000000000000000000000..e55d9290150190bb8706267c69dc088a5e93f907
--- /dev/null
+++ b/drivers/at86rf2xx/include/at86rf2xx_registers.h
@@ -0,0 +1,341 @@
+/*
+ * Copyright (C) 2013 Alaeddine Weslati <alaeddine.weslati@inria.fr>
+ * Copyright (C) 2015 Freie Universität Berlin
+ *
+ * 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.
+ */
+
+/**
+ * @ingroup     drivers_at86rf2xx
+ * @{
+ *
+ * @file
+ * @brief       Register and command definitions for AT86RF2xx devices
+ *
+ * @author      Alaeddine Weslati <alaeddine.weslati@inria.fr>
+ * @author      Thomas Eichinger <thomas.eichinger@fu-berlin.de>
+ * @author      Hauke Petersen <hauke.petersen@fu-berlin.de>
+ * @author      Kaspar Schleiser <kaspar@schleiser.de>
+ */
+
+#ifndef AT86RF2XX_REGISTERS_H_
+#define AT86RF2XX_REGISTERS_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief   Constant part numbers of the AT86RF2xx device family
+ * @{
+ */
+#define NG_AT86RF212B_PARTNUM       (0x07)
+#define NG_AT86RF231_PARTNUM        (0x03)
+#define NG_AT86RF232_PARTNUM        (0x0a)
+#define NG_AT86RF233_PARTNUM        (0x0b)
+/** @} */
+
+/**
+ * @brief   Assign the part number for the device we are building the driver for
+ * @{
+ */
+#ifdef MODULE_NG_AT86RF212B
+#define AT86RF2XX_PARTNUM           NG_AT86RF212B_PARTNUM
+#elif MODULE_NG_AT86RF232
+#define AT86RF2XX_PARTNUM           NG_AT86RF232_PARTNUM
+#elif MODULE_NG_AT86RF233
+#define AT86RF2XX_PARTNUM           NG_AT86RF233_PARTNUM
+#else /* MODULE_NG_AT86RF231 as default device */
+#define AT86RF2XX_PARTNUM           NG_AT86RF231_PARTNUM
+#endif
+/** @} */
+
+/**
+ * @brief   SPI access specifiers
+ * @{
+ */
+#define AT86RF2XX_ACCESS_REG                                    (0x80)
+#define AT86RF2XX_ACCESS_FB                                     (0x20)
+#define AT86RF2XX_ACCESS_SRAM                                   (0x00)
+#define AT86RF2XX_ACCESS_READ                                   (0x00)
+#define AT86RF2XX_ACCESS_WRITE                                  (0x40)
+/** @} */
+
+/**
+ * @brief   Register addresses
+ * @{
+ */
+#define AT86RF2XX_REG__TRX_STATUS                               (0x01)
+#define AT86RF2XX_REG__TRX_STATE                                (0x02)
+#define AT86RF2XX_REG__TRX_CTRL_0                               (0x03)
+#define AT86RF2XX_REG__TRX_CTRL_1                               (0x04)
+#define AT86RF2XX_REG__PHY_TX_PWR                               (0x05)
+#define AT86RF2XX_REG__PHY_RSSI                                 (0x06)
+#define AT86RF2XX_REG__PHY_ED_LEVEL                             (0x07)
+#define AT86RF2XX_REG__PHY_CC_CCA                               (0x08)
+#define AT86RF2XX_REG__CCA_THRES                                (0x09)
+#define AT86RF2XX_REG__RX_CTRL                                  (0x0A)
+#define AT86RF2XX_REG__SFD_VALUE                                (0x0B)
+#define AT86RF2XX_REG__TRX_CTRL_2                               (0x0C)
+#define AT86RF2XX_REG__ANT_DIV                                  (0x0D)
+#define AT86RF2XX_REG__IRQ_MASK                                 (0x0E)
+#define AT86RF2XX_REG__IRQ_STATUS                               (0x0F)
+#define AT86RF2XX_REG__VREG_CTRL                                (0x10)
+#define AT86RF2XX_REG__BATMON                                   (0x11)
+#define AT86RF2XX_REG__XOSC_CTRL                                (0x12)
+#define AT86RF2XX_REG__CC_CTRL_1                                (0x14)
+#define AT86RF2XX_REG__RX_SYN                                   (0x15)
+#ifdef MODULE_NG_AT86RF212B
+#define AT86RF2XX_REG__RF_CTRL_0                                (0x16)
+#endif
+#define AT86RF2XX_REG__XAH_CTRL_1                               (0x17)
+#define AT86RF2XX_REG__FTN_CTRL                                 (0x18)
+#define AT86RF2XX_REG__PLL_CF                                   (0x1A)
+#define AT86RF2XX_REG__PLL_DCU                                  (0x1B)
+#define AT86RF2XX_REG__PART_NUM                                 (0x1C)
+#define AT86RF2XX_REG__VERSION_NUM                              (0x1D)
+#define AT86RF2XX_REG__MAN_ID_0                                 (0x1E)
+#define AT86RF2XX_REG__MAN_ID_1                                 (0x1F)
+#define AT86RF2XX_REG__SHORT_ADDR_0                             (0x20)
+#define AT86RF2XX_REG__SHORT_ADDR_1                             (0x21)
+#define AT86RF2XX_REG__PAN_ID_0                                 (0x22)
+#define AT86RF2XX_REG__PAN_ID_1                                 (0x23)
+#define AT86RF2XX_REG__IEEE_ADDR_0                              (0x24)
+#define AT86RF2XX_REG__IEEE_ADDR_1                              (0x25)
+#define AT86RF2XX_REG__IEEE_ADDR_2                              (0x26)
+#define AT86RF2XX_REG__IEEE_ADDR_3                              (0x27)
+#define AT86RF2XX_REG__IEEE_ADDR_4                              (0x28)
+#define AT86RF2XX_REG__IEEE_ADDR_5                              (0x29)
+#define AT86RF2XX_REG__IEEE_ADDR_6                              (0x2A)
+#define AT86RF2XX_REG__IEEE_ADDR_7                              (0x2B)
+#define AT86RF2XX_REG__XAH_CTRL_0                               (0x2C)
+#define AT86RF2XX_REG__CSMA_SEED_0                              (0x2D)
+#define AT86RF2XX_REG__CSMA_SEED_1                              (0x2E)
+#define AT86RF2XX_REG__CSMA_BE                                  (0x2F)
+#define AT86RF2XX_REG__TST_CTRL_DIGI                            (0x36)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the TRX_CTRL_0 register
+ * @{
+ */
+#define AT86RF2XX_TRX_CTRL_0_MASK__PAD_IO                       (0xC0)
+#define AT86RF2XX_TRX_CTRL_0_MASK__PAD_IO_CLKM                  (0x30)
+#define AT86RF2XX_TRX_CTRL_0_MASK__CLKM_SHA_SEL                 (0x08)
+#define AT86RF2XX_TRX_CTRL_0_MASK__CLKM_CTRL                    (0x07)
+
+#define AT86RF2XX_TRX_CTRL_0_DEFAULT__PAD_IO                    (0x00)
+#define AT86RF2XX_TRX_CTRL_0_DEFAULT__PAD_IO_CLKM               (0x10)
+#define AT86RF2XX_TRX_CTRL_0_DEFAULT__CLKM_SHA_SEL              (0x08)
+#define AT86RF2XX_TRX_CTRL_0_DEFAULT__CLKM_CTRL                 (0x01)
+
+#define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__OFF                     (0x00)
+#define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__1MHz                    (0x01)
+#define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__2MHz                    (0x02)
+#define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__4MHz                    (0x03)
+#define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__8MHz                    (0x04)
+#define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__16MHz                   (0x05)
+#define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__250kHz                  (0x06)
+#define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__62_5kHz                 (0x07)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the TRX_CTRL_1 register
+ * @{
+ */
+#define AT86RF2XX_TRX_CTRL_1_MASK__PA_EXT_EN                    (0x80)
+#define AT86RF2XX_TRX_CTRL_1_MASK__IRQ_2_EXT_EN                 (0x40)
+#define AT86RF2XX_TRX_CTRL_1_MASK__TX_AUTO_CRC_ON               (0x20)
+#define AT86RF2XX_TRX_CTRL_1_MASK__RX_BL_CTRL                   (0x10)
+#define AT86RF2XX_TRX_CTRL_1_MASK__SPI_CMD_MODE                 (0x0C)
+#define AT86RF2XX_TRX_CTRL_1_MASK__IRQ_MASK_MODE                (0x02)
+#define AT86RF2XX_TRX_CTRL_1_MASK__IRQ_POLARITY                 (0x01)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the TRX_CTRL_2 register
+ * @{
+ */
+#define AT86RF2XX_TRX_CTRL_2_MASK__RX_SAFE_MODE                 (0x80)
+#define AT86RF2XX_TRX_CTRL_2_MASK__FREQ_MODE                    (0x3F)
+#define AT86RF2XX_TRX_CTRL_2_MASK__TRX_OFF_AVDD_EN              (0x40)
+#define AT86RF2XX_TRX_CTRL_2_MASK__OQPSK_SCRAM_EN               (0x20)
+#define AT86RF2XX_TRX_CTRL_2_MASK__ALT_SPECTRUM                 (0x10)
+#define AT86RF2XX_TRX_CTRL_2_MASK__BPSK_OQPSK                   (0x08)
+#define AT86RF2XX_TRX_CTRL_2_MASK__SUB_MODE                     (0x04)
+#define AT86RF2XX_TRX_CTRL_2_MASK__OQPSK_DATA_RATE              (0x03)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the IRQ_STATUS register
+ * @{
+ */
+#define AT86RF2XX_IRQ_STATUS_MASK__BAT_LOW                      (0x80)
+#define AT86RF2XX_IRQ_STATUS_MASK__TRX_UR                       (0x40)
+#define AT86RF2XX_IRQ_STATUS_MASK__AMI                          (0x20)
+#define AT86RF2XX_IRQ_STATUS_MASK__CCA_ED_DONE                  (0x10)
+#define AT86RF2XX_IRQ_STATUS_MASK__TRX_END                      (0x08)
+#define AT86RF2XX_IRQ_STATUS_MASK__RX_START                     (0x04)
+#define AT86RF2XX_IRQ_STATUS_MASK__PLL_UNLOCK                   (0x02)
+#define AT86RF2XX_IRQ_STATUS_MASK__PLL_LOCK                     (0x01)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the TRX_STATUS register
+ * @{
+ */
+#define AT86RF2XX_TRX_STATUS_MASK__CCA_DONE                     (0x80)
+#define AT86RF2XX_TRX_STATUS_MASK__CCA_STATUS                   (0x40)
+#define AT86RF2XX_TRX_STATUS_MASK__TRX_STATUS                   (0x1F)
+
+#define AT86RF2XX_TRX_STATUS__P_ON                              (0x00)
+#define AT86RF2XX_TRX_STATUS__BUSY_RX                           (0x01)
+#define AT86RF2XX_TRX_STATUS__BUSY_TX                           (0x02)
+#define AT86RF2XX_TRX_STATUS__RX_ON                             (0x06)
+#define AT86RF2XX_TRX_STATUS__TRX_OFF                           (0x08)
+#define AT86RF2XX_TRX_STATUS__PLL_ON                            (0x09)
+#define AT86RF2XX_TRX_STATUS__SLEEP                             (0x0F)
+#define AT86RF2XX_TRX_STATUS__BUSY_RX_AACK                      (0x11)
+#define AT86RF2XX_TRX_STATUS__BUSY_TX_ARET                      (0x12)
+#define AT86RF2XX_TRX_STATUS__RX_AACK_ON                        (0x16)
+#define AT86RF2XX_TRX_STATUS__TX_ARET_ON                        (0x19)
+#define AT86RF2XX_TRX_STATUS__RX_ON_NOCLK                       (0x1C)
+#define AT86RF2XX_TRX_STATUS__RX_AACK_ON_NOCLK                  (0x1D)
+#define AT86RF2XX_TRX_STATUS__BUSY_RX_AACK_NOCLK                (0x1E)
+#define AT86RF2XX_TRX_STATUS__STATE_TRANSITION_IN_PROGRESS      (0x1F)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the TRX_STATE register
+ * @{
+ */
+#define AT86RF2XX_TRX_STATE_MASK__TRAC                          (0xe0)
+
+#define AT86RF2XX_TRX_STATE__NOP                                (0x00)
+#define AT86RF2XX_TRX_STATE__TX_START                           (0x02)
+#define AT86RF2XX_TRX_STATE__FORCE_TRX_OFF                      (0x03)
+#define AT86RF2XX_TRX_STATE__FORCE_PLL_ON                       (0x04)
+#define AT86RF2XX_TRX_STATE__RX_ON                              (0x06)
+#define AT86RF2XX_TRX_STATE__TRX_OFF                            (0x08)
+#define AT86RF2XX_TRX_STATE__PLL_ON                             (0x09)
+#define AT86RF2XX_TRX_STATE__RX_AACK_ON                         (0x16)
+#define AT86RF2XX_TRX_STATE__TX_ARET_ON                         (0x19)
+#define AT86RF2XX_TRX_STATE__TRAC_SUCCESS                       (0x00)
+#define AT86RF2XX_TRX_STATE__TRAC_SUCCESS_DATA_PENDING          (0x20)
+#define AT86RF2XX_TRX_STATE__TRAC_SUCCESS_WAIT_FOR_ACK          (0x40)
+#define AT86RF2XX_TRX_STATE__TRAC_CHANNEL_ACCESS_FAILURE        (0x60)
+#define AT86RF2XX_TRX_STATE__TRAC_NO_ACK                        (0xa0)
+#define AT86RF2XX_TRX_STATE__TRAC_INVALID                       (0xe0)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the PHY_CCA register
+ * @{
+ */
+#define AT86RF2XX_PHY_CC_CCA_MASK__CCA_REQUEST                  (0x80)
+#define AT86RF2XX_PHY_CC_CCA_MASK__CCA_MODE                     (0x60)
+#define AT86RF2XX_PHY_CC_CCA_MASK__CHANNEL                      (0x1F)
+
+#define AT86RF2XX_PHY_CC_CCA_DEFAULT__CCA_MODE                  (0x20)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the PHY_TX_PWR register
+ * @{
+ */
+#ifdef MODULE_NG_AT86RF212B
+#define AT86RF2XX_PHY_TX_PWR_MASK__PA_BOOST                     (0x80)
+#define AT86RF2XX_PHY_TX_PWR_MASK__GC_PA                        (0x60)
+#define AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR                       (0x1F)
+#elif  MODULE_NG_AT86RF231
+#define AT86RF2XX_PHY_TX_PWR_MASK__PA_BUF_LT                    (0xC0)
+#define AT86RF2XX_PHY_TX_PWR_MASK__PA_LT                        (0x30)
+#define AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR                       (0x0F)
+#else
+#define AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR                       (0x0F)
+#endif
+#define AT86RF2XX_PHY_TX_PWR_DEFAULT__PA_BUF_LT                 (0xC0)
+#define AT86RF2XX_PHY_TX_PWR_DEFAULT__PA_LT                     (0x00)
+#define AT86RF2XX_PHY_TX_PWR_DEFAULT__TX_PWR                    (0x00)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the PHY_RSSI register
+ * @{
+ */
+#define AT86RF2XX_PHY_RSSI_MASK__RX_CRC_VALID                   (0x80)
+#define AT86RF2XX_PHY_RSSI_MASK__RND_VALUE                      (0x60)
+#define AT86RF2XX_PHY_RSSI_MASK__RSSI                           (0x1F)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the XOSC_CTRL register
+ * @{
+ */
+#define AT86RF2XX_XOSC_CTRL__XTAL_MODE_CRYSTAL                  (0xF0)
+#define AT86RF2XX_XOSC_CTRL__XTAL_MODE_EXTERNAL                 (0xF0)
+/** @} */
+
+/**
+ * @brief   Timing values
+ * @{
+ */
+#define AT86RF2XX_TIMING__VCC_TO_P_ON                           (330)
+#define AT86RF2XX_TIMING__SLEEP_TO_TRX_OFF                      (380)
+#define AT86RF2XX_TIMING__TRX_OFF_TO_PLL_ON                     (110)
+#define AT86RF2XX_TIMING__TRX_OFF_TO_RX_ON                      (110)
+#define AT86RF2XX_TIMING__PLL_ON_TO_BUSY_TX                     (16)
+#define AT86RF2XX_TIMING__RESET                                 (100)
+#define AT86RF2XX_TIMING__RESET_TO_TRX_OFF                      (37)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the XAH_CTRL_0 register
+ * @{
+ */
+#define AT86RF2XX_XAH_CTRL_0__MAX_FRAME_RETRIES                 (0xF0)
+#define AT86RF2XX_XAH_CTRL_0__MAX_CSMA_RETRIES                  (0x0E)
+#define AT86RF2XX_XAH_CTRL_0__SLOTTED_OPERATION                 (0x01)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the XAH_CTRL_1 register
+ * @{
+ */
+#define AT86RF2XX_XAH_CTRL_1__AACK_FLTR_RES_FT                  (0x20)
+#define AT86RF2XX_XAH_CTRL_1__AACK_UPLD_RES_FT                  (0x10)
+#define AT86RF2XX_XAH_CTRL_1__AACK_ACK_TIME                     (0x04)
+#define AT86RF2XX_XAH_CTRL_1__AACK_PROM_MODE                    (0x02)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the CSMA_SEED_1 register
+ * @{
+ */
+#define AT86RF2XX_CSMA_SEED_1__AACK_SET_PD                      (0x20)
+#define AT86RF2XX_CSMA_SEED_1__AACK_DIS_ACK                     (0x10)
+#define AT86RF2XX_CSMA_SEED_1__AACK_I_AM_COORD                  (0x08)
+/** @} */
+
+/**
+ * @brief   Bitfield definitions for the RF_CTRL_0 register
+ * @{
+ */
+#ifdef MODULE_NG_AT86RF212B
+#define AT86RF2XX_RF_CTRL_0_MASK__PA_LT                         (0xC0)
+#define AT86RF2XX_RF_CTRL_0_MASK__GC_TX_OFFS                    (0x03)
+
+#define AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__0DB                     (0x01)
+#define AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__1DB                     (0x02)
+#define AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__2DB                     (0x03)
+#endif
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AT86RF2XX_REGISTERS_H_ */
+/** @} */
diff --git a/drivers/include/ng_at86rf2xx.h b/drivers/include/at86rf2xx.h
similarity index 72%
rename from drivers/include/ng_at86rf2xx.h
rename to drivers/include/at86rf2xx.h
index 66e6230f206a11d7567686e693a030869a78beb8..56db698b97598aae7491190a7384fb51d8dbf982 100644
--- a/drivers/include/ng_at86rf2xx.h
+++ b/drivers/include/at86rf2xx.h
@@ -7,7 +7,7 @@
  */
 
 /**
- * @defgroup    drivers_ng_at86rf2xx AT86RF2xx based drivers
+ * @defgroup    drivers_at86rf2xx AT86RF2xx based drivers
  * @ingroup     drivers
  *
  * This module contains drivers for radio devices in Atmel's AT86RF2xx series.
@@ -23,8 +23,8 @@
  * @author      Kaspar Schleiser <kaspar@schleiser.de>
  */
 
-#ifndef NG_AT86RF2XX_H_
-#define NG_AT86RF2XX_H_
+#ifndef AT86RF2XX_H_
+#define AT86RF2XX_H_
 
 #include <stdint.h>
 
@@ -32,7 +32,7 @@
 #include "periph/spi.h"
 #include "periph/gpio.h"
 #include "net/ng_netdev.h"
-#include "ng_at86rf2xx.h"
+#include "at86rf2xx.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -41,14 +41,14 @@ extern "C" {
 /**
  * @brief   Maximum possible packet size in byte
  */
-#define NG_AT86RF2XX_MAX_PKT_LENGTH     (127)
+#define AT86RF2XX_MAX_PKT_LENGTH        (127)
 
 /**
  * @brief   Default addresses used if the CPUID module is not present
  * @{
  */
-#define NG_AT86RF2XX_DEFAULT_ADDR_SHORT (0x0230)
-#define NG_AT86RF2XX_DEFAULT_ADDR_LONG  (0x1222334455667788)
+#define AT86RF2XX_DEFAULT_ADDR_SHORT    (0x0230)
+#define AT86RF2XX_DEFAULT_ADDR_LONG     (0x1222334455667788)
 /** @} */
 
 /**
@@ -57,13 +57,13 @@ extern "C" {
   */
 #ifdef MODULE_NG_AT86RF212B
 /* the AT86RF212B has a sub-1GHz radio */
-#define NG_AT86RF2XX_MIN_CHANNEL        (0)
-#define NG_AT86RF2XX_MAX_CHANNEL        (10)
-#define NG_AT86RF2XX_DEFAULT_CHANNEL    (5)
+#define AT86RF2XX_MIN_CHANNEL           (0)
+#define AT86RF2XX_MAX_CHANNEL           (10)
+#define AT86RF2XX_DEFAULT_CHANNEL       (5)
 #else
-#define NG_AT86RF2XX_MIN_CHANNEL        (11U)
-#define NG_AT86RF2XX_MAX_CHANNEL        (26U)
-#define NG_AT86RF2XX_DEFAULT_CHANNEL    (26U)
+#define AT86RF2XX_MIN_CHANNEL           (11U)
+#define AT86RF2XX_MAX_CHANNEL           (26U)
+#define AT86RF2XX_DEFAULT_CHANNEL       (26U)
 #endif
 /** @} */
 
@@ -72,49 +72,49 @@ extern "C" {
  *
  * @todo    Read some global network stack specific configuration value
  */
-#define NG_AT86RF2XX_DEFAULT_PANID      (0x0023)
+#define AT86RF2XX_DEFAULT_PANID         (0x0023)
 
 /**
  * @brief   Default TX power (0dBm)
  */
-#define NG_AT86RF2XX_DEFAULT_TXPOWER    (0U)
+#define AT86RF2XX_DEFAULT_TXPOWER       (0U)
 
 /**
  * @brief   Flags for device internal states (see datasheet)
  * @{
  */
-#define NG_AT86RF2XX_STATE_TRX_OFF      (0x08)  /**< idle */
-#define NG_AT86RF2XX_STATE_PLL_ON       (0x09)  /**< ready to transmit */
-#define NG_AT86RF2XX_STATE_SLEEP        (0x0f)  /**< sleep mode */
-#define NG_AT86RF2XX_STATE_BUSY_RX_AACK (0x11)  /**< busy receiving data */
-#define NG_AT86RF2XX_STATE_BUSY_TX_ARET (0x12)  /**< busy transmitting data */
-#define NG_AT86RF2XX_STATE_RX_AACK_ON   (0x16)  /**< wait for incoming data */
-#define NG_AT86RF2XX_STATE_TX_ARET_ON   (0x19)  /**< ready for sending data */
-#define NG_AT86RF2XX_STATE_IN_PROGRESS  (0x1f)  /**< ongoing state conversion */
+#define AT86RF2XX_STATE_TRX_OFF      (0x08)     /**< idle */
+#define AT86RF2XX_STATE_PLL_ON       (0x09)     /**< ready to transmit */
+#define AT86RF2XX_STATE_SLEEP        (0x0f)     /**< sleep mode */
+#define AT86RF2XX_STATE_BUSY_RX_AACK (0x11)     /**< busy receiving data */
+#define AT86RF2XX_STATE_BUSY_TX_ARET (0x12)     /**< busy transmitting data */
+#define AT86RF2XX_STATE_RX_AACK_ON   (0x16)     /**< wait for incoming data */
+#define AT86RF2XX_STATE_TX_ARET_ON   (0x19)     /**< ready for sending data */
+#define AT86RF2XX_STATE_IN_PROGRESS  (0x1f)     /**< ongoing state conversion */
 /** @} */
 
 /**
  * @brief   Internal device option flags
  * @{
  */
-#define NG_AT86RF2XX_OPT_AUTOACK        (0x0001)    /**< auto ACKs active */
-#define NG_AT86RF2XX_OPT_CSMA           (0x0002)    /**< CSMA active */
-#define NG_AT86RF2XX_OPT_PROMISCUOUS    (0x0004)    /**< promiscuous mode
+#define AT86RF2XX_OPT_AUTOACK        (0x0001)       /**< auto ACKs active */
+#define AT86RF2XX_OPT_CSMA           (0x0002)       /**< CSMA active */
+#define AT86RF2XX_OPT_PROMISCUOUS    (0x0004)       /**< promiscuous mode
                                                      *   active */
-#define NG_AT86RF2XX_OPT_PRELOADING     (0x0008)    /**< preloading enabled */
-#define NG_AT86RF2XX_OPT_TELL_TX_START  (0x0010)    /**< notify MAC layer on TX
+#define AT86RF2XX_OPT_PRELOADING     (0x0008)       /**< preloading enabled */
+#define AT86RF2XX_OPT_TELL_TX_START  (0x0010)       /**< notify MAC layer on TX
                                                      *   start */
-#define NG_AT86RF2XX_OPT_TELL_TX_END    (0x0020)    /**< notify MAC layer on TX
+#define AT86RF2XX_OPT_TELL_TX_END    (0x0020)       /**< notify MAC layer on TX
                                                      *   finished */
-#define NG_AT86RF2XX_OPT_TELL_RX_START  (0x0040)    /**< notify MAC layer on RX
+#define AT86RF2XX_OPT_TELL_RX_START  (0x0040)       /**< notify MAC layer on RX
                                                      *   start */
-#define NG_AT86RF2XX_OPT_TELL_RX_END    (0x0080)    /**< notify MAC layer on RX
+#define AT86RF2XX_OPT_TELL_RX_END    (0x0080)       /**< notify MAC layer on RX
                                                      *   finished */
-#define NG_AT86RF2XX_OPT_RAWDUMP        (0x0100)    /**< pass RAW frame data to
+#define AT86RF2XX_OPT_RAWDUMP        (0x0100)       /**< pass RAW frame data to
                                                      *   upper layer */
-#define NG_AT86RF2XX_OPT_SRC_ADDR_LONG  (0x0200)    /**< send data using long
+#define AT86RF2XX_OPT_SRC_ADDR_LONG  (0x0200)       /**< send data using long
                                                      *   source address */
-#define NG_AT86RF2XX_OPT_USE_SRC_PAN    (0x0400)    /**< do not compress source
+#define AT86RF2XX_OPT_USE_SRC_PAN    (0x0400)       /**< do not compress source
                                                      *   PAN ID */
 /** @} */
 
@@ -123,9 +123,9 @@ extern "C" {
   * @{
   */
 typedef enum {
-    NG_AT86RF2XX_FREQ_915MHZ,    /**< frequency 915MHz enabled */
-    NG_AT86RF2XX_FREQ_868MHZ,    /**< frequency 868MHz enabled */
-} ng_at86rf2xx_freq_t;
+    AT86RF2XX_FREQ_915MHZ,       /**< frequency 915MHz enabled */
+    AT86RF2XX_FREQ_868MHZ,       /**< frequency 868MHz enabled */
+} at86rf2xx_freq_t;
 /** @} */
 
 /**
@@ -149,13 +149,13 @@ typedef struct {
     uint16_t pan;                       /**< currently used PAN ID */
     uint8_t chan;                       /**< currently used channel */
 #ifdef MODULE_NG_AT86RF212B
-    ng_at86rf2xx_freq_t freq;           /**< currently used frequency */
+    at86rf2xx_freq_t freq;              /**< currently used frequency */
 #endif
     uint8_t addr_short[2];              /**< the radio's short address */
     uint8_t addr_long[8];               /**< the radio's long address */
     uint16_t options;                   /**< state of used options */
     uint8_t idle_state;                 /**< state to return to after sending */
-} ng_at86rf2xx_t;
+} at86rf2xx_t;
 
 /**
  * @brief struct holding all params needed for device initialization
@@ -183,16 +183,16 @@ typedef struct at86rf2xx_params {
  * @return                  0 on success
  * @return                  <0 on error
  */
-int ng_at86rf2xx_init(ng_at86rf2xx_t *dev, spi_t spi, spi_speed_t spi_speed,
-                      gpio_t cs_pin, gpio_t int_pin,
-                      gpio_t sleep_pin, gpio_t reset_pin);
+int at86rf2xx_init(at86rf2xx_t *dev, spi_t spi, spi_speed_t spi_speed,
+                   gpio_t cs_pin, gpio_t int_pin,
+                   gpio_t sleep_pin, gpio_t reset_pin);
 
 /**
  * @brief   Trigger a hardware reset and configure radio with default values
  *
  * @param[in] dev           device to reset
  */
-void ng_at86rf2xx_reset(ng_at86rf2xx_t *dev);
+void at86rf2xx_reset(at86rf2xx_t *dev);
 
 /**
  * @brief   Trigger a clear channel assessment
@@ -202,7 +202,7 @@ void ng_at86rf2xx_reset(ng_at86rf2xx_t *dev);
  * @return                  true if channel is clear
  * @return                  false if channel is busy
  */
-bool ng_at86rf2xx_cca(ng_at86rf2xx_t *dev);
+bool at86rf2xx_cca(at86rf2xx_t *dev);
 
 /**
  * @brief   Get the short address of the given device
@@ -211,7 +211,7 @@ bool ng_at86rf2xx_cca(ng_at86rf2xx_t *dev);
  *
  * @return                  the currently set (2-byte) short address
  */
-uint16_t ng_at86rf2xx_get_addr_short(ng_at86rf2xx_t *dev);
+uint16_t at86rf2xx_get_addr_short(at86rf2xx_t *dev);
 
 /**
  * @brief   Set the short address of the given device
@@ -219,7 +219,7 @@ uint16_t ng_at86rf2xx_get_addr_short(ng_at86rf2xx_t *dev);
  * @param[in] dev           device to write to
  * @param[in] addr          (2-byte) short address to set
  */
-void ng_at86rf2xx_set_addr_short(ng_at86rf2xx_t *dev, uint16_t addr);
+void at86rf2xx_set_addr_short(at86rf2xx_t *dev, uint16_t addr);
 
 /**
  * @brief   Get the configured long address of the given device
@@ -228,7 +228,7 @@ void ng_at86rf2xx_set_addr_short(ng_at86rf2xx_t *dev, uint16_t addr);
  *
  * @return                  the currently set (8-byte) long address
  */
-uint64_t ng_at86rf2xx_get_addr_long(ng_at86rf2xx_t *dev);
+uint64_t at86rf2xx_get_addr_long(at86rf2xx_t *dev);
 
 /**
  * @brief   Set the long address of the given device
@@ -236,7 +236,7 @@ uint64_t ng_at86rf2xx_get_addr_long(ng_at86rf2xx_t *dev);
  * @param[in] dev           device to write to
  * @param[in] addr          (8-byte) long address to set
  */
-void ng_at86rf2xx_set_addr_long(ng_at86rf2xx_t *dev, uint64_t addr);
+void at86rf2xx_set_addr_long(at86rf2xx_t *dev, uint64_t addr);
 
 /**
  * @brief   Get the configured channel of the given device
@@ -245,7 +245,7 @@ void ng_at86rf2xx_set_addr_long(ng_at86rf2xx_t *dev, uint64_t addr);
  *
  * @return                  the currently set channel
  */
-uint8_t ng_at86rf2xx_get_chan(ng_at86rf2xx_t *dev);
+uint8_t at86rf2xx_get_chan(at86rf2xx_t *dev);
 
 /**
  * @brief   Set the channel of the given device
@@ -253,7 +253,7 @@ uint8_t ng_at86rf2xx_get_chan(ng_at86rf2xx_t *dev);
  * @param[in] dev           device to write to
  * @param[in] chan          channel to set
  */
-void ng_at86rf2xx_set_chan(ng_at86rf2xx_t *dev, uint8_t chan);
+void at86rf2xx_set_chan(at86rf2xx_t *dev, uint8_t chan);
 
 #ifdef MODULE_NG_AT86RF212B
 /**
@@ -263,7 +263,7 @@ void ng_at86rf2xx_set_chan(ng_at86rf2xx_t *dev, uint8_t chan);
  *
  * @return                  the currently set frequency
  */
-ng_at86rf2xx_freq_t ng_at86rf2xx_get_freq(ng_at86rf2xx_t *dev);
+at86rf2xx_freq_t at86rf2xx_get_freq(at86rf2xx_t *dev);
 
 /**
  * @brief   Set the frequency of the given device
@@ -271,7 +271,7 @@ ng_at86rf2xx_freq_t ng_at86rf2xx_get_freq(ng_at86rf2xx_t *dev);
  * @param[in] dev           device to write to
  * @param[in] chan          frequency to set
  */
-void ng_at86rf2xx_set_freq(ng_at86rf2xx_t *dev, ng_at86rf2xx_freq_t freq);
+void at86rf2xx_set_freq(at86rf2xx_t *dev, at86rf2xx_freq_t freq);
 #endif
 
 /**
@@ -281,7 +281,7 @@ void ng_at86rf2xx_set_freq(ng_at86rf2xx_t *dev, ng_at86rf2xx_freq_t freq);
  *
  * @return                  the currently set PAN ID
  */
-uint16_t ng_at86rf2xx_get_pan(ng_at86rf2xx_t *dev);
+uint16_t at86rf2xx_get_pan(at86rf2xx_t *dev);
 
 /**
  * @brief   Set the PAN ID of the given device
@@ -289,7 +289,7 @@ uint16_t ng_at86rf2xx_get_pan(ng_at86rf2xx_t *dev);
  * @param[in] dev           device to write to
  * @param[in] pan           PAN ID to set
  */
-void ng_at86rf2xx_set_pan(ng_at86rf2xx_t *dev, uint16_t pan);
+void at86rf2xx_set_pan(at86rf2xx_t *dev, uint16_t pan);
 
 /**
  * @brief   Get the configured transmission power of the given device [in dBm]
@@ -298,7 +298,7 @@ void ng_at86rf2xx_set_pan(ng_at86rf2xx_t *dev, uint16_t pan);
  *
  * @return                  configured transmission power in dBm
  */
-int16_t ng_at86rf2xx_get_txpower(ng_at86rf2xx_t *dev);
+int16_t at86rf2xx_get_txpower(at86rf2xx_t *dev);
 
 /**
  * @brief   Set the transmission power of the given device [in dBm]
@@ -311,7 +311,7 @@ int16_t ng_at86rf2xx_get_txpower(ng_at86rf2xx_t *dev);
  * @param[in] dev           device to write to
  * @param[in] txpower       transmission power in dBm
  */
-void ng_at86rf2xx_set_txpower(ng_at86rf2xx_t *dev, int16_t txpower);
+void at86rf2xx_set_txpower(at86rf2xx_t *dev, int16_t txpower);
 
 /**
  * @brief   Get the maximum number of retransmissions
@@ -320,7 +320,7 @@ void ng_at86rf2xx_set_txpower(ng_at86rf2xx_t *dev, int16_t txpower);
  *
  * @return                  configured number of retransmissions
  */
-uint8_t ng_at86rf2xx_get_max_retries(ng_at86rf2xx_t *dev);
+uint8_t at86rf2xx_get_max_retries(at86rf2xx_t *dev);
 
 /**
  * @brief   Set the maximum number of retransmissions
@@ -332,7 +332,7 @@ uint8_t ng_at86rf2xx_get_max_retries(ng_at86rf2xx_t *dev);
  * @param[in] dev           device to write to
  * @param[in] max           the maximum number of retransmissions
  */
-void ng_at86rf2xx_set_max_retries(ng_at86rf2xx_t *dev, uint8_t max);
+void at86rf2xx_set_max_retries(at86rf2xx_t *dev, uint8_t max);
 
 /**
  * @brief   Enable or disable driver specific options
@@ -341,7 +341,7 @@ void ng_at86rf2xx_set_max_retries(ng_at86rf2xx_t *dev, uint8_t max);
  * @param[in] option        option to enable/disable
  * @param[in] state         true for enable, false for disable
  */
-void ng_at86rf2xx_set_option(ng_at86rf2xx_t *dev, uint16_t option, bool state);
+void at86rf2xx_set_option(at86rf2xx_t *dev, uint16_t option, bool state);
 
 /**
  * @brief   Set the state of the given device (trigger a state change)
@@ -349,7 +349,7 @@ void ng_at86rf2xx_set_option(ng_at86rf2xx_t *dev, uint16_t option, bool state);
  * @param[in] dev           device to change state of
  * @param[in] state         the targeted new state
  */
-void ng_at86rf2xx_set_state(ng_at86rf2xx_t *dev, uint8_t state);
+void at86rf2xx_set_state(at86rf2xx_t *dev, uint8_t state);
 
 /**
  * @brief   Reset the internal state machine to TRX_OFF mode.
@@ -360,7 +360,7 @@ void ng_at86rf2xx_set_state(ng_at86rf2xx_t *dev, uint8_t state);
  *
  * @param[in] dev           device to operate on
  */
-void ng_at86rf2xx_reset_state_machine(ng_at86rf2xx_t *dev);
+void at86rf2xx_reset_state_machine(at86rf2xx_t *dev);
 
 /**
  * @brief   Convenience function for simply sending data
@@ -374,7 +374,7 @@ void ng_at86rf2xx_reset_state_machine(ng_at86rf2xx_t *dev);
  * @return                  number of bytes that were actually send
  * @return                  0 on error
  */
-size_t ng_at86rf2xx_send(ng_at86rf2xx_t *dev, uint8_t *data, size_t len);
+size_t at86rf2xx_send(at86rf2xx_t *dev, uint8_t *data, size_t len);
 
 /**
  * @brief   Prepare for sending of data
@@ -384,7 +384,7 @@ size_t ng_at86rf2xx_send(ng_at86rf2xx_t *dev, uint8_t *data, size_t len);
  *
  * @param[in] dev            device to prepare for sending
  */
-void ng_at86rf2xx_tx_prepare(ng_at86rf2xx_t *dev);
+void at86rf2xx_tx_prepare(at86rf2xx_t *dev);
 
 /**
  * @brief   Load chunks of data into the transmit buffer of the given device
@@ -396,15 +396,15 @@ void ng_at86rf2xx_tx_prepare(ng_at86rf2xx_t *dev);
  *
  * @return                  offset + number of bytes written
  */
-size_t ng_at86rf2xx_tx_load(ng_at86rf2xx_t *dev, uint8_t *data, size_t len,
-                            size_t offset);
+size_t at86rf2xx_tx_load(at86rf2xx_t *dev, uint8_t *data, size_t len,
+                         size_t offset);
 
 /**
  * @brief   Trigger sending of data previously loaded into transmit buffer
  *
  * @param[in] dev           device to trigger
  */
-void ng_at86rf2xx_tx_exec(ng_at86rf2xx_t *dev);
+void at86rf2xx_tx_exec(at86rf2xx_t *dev);
 
 /**
  * @brief   Read the length of a received packet
@@ -413,7 +413,7 @@ void ng_at86rf2xx_tx_exec(ng_at86rf2xx_t *dev);
  *
  * @return                  overall length of a received packet in byte
  */
-size_t ng_at86rf2xx_rx_len(ng_at86rf2xx_t *dev);
+size_t at86rf2xx_rx_len(at86rf2xx_t *dev);
 
 /**
  * @brief   Read a chunk of data from the receive buffer of the given device
@@ -423,12 +423,12 @@ size_t ng_at86rf2xx_rx_len(ng_at86rf2xx_t *dev);
  * @param[in]  len          number of bytes to read from device
  * @param[in]  offset       offset in the receive buffer
  */
-void ng_at86rf2xx_rx_read(ng_at86rf2xx_t *dev, uint8_t *data, size_t len,
-                          size_t offset);
+void at86rf2xx_rx_read(at86rf2xx_t *dev, uint8_t *data, size_t len,
+                       size_t offset);
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* NG_AT86RF2XX_H_ */
+#endif /* AT86RF2XX_H_ */
 /** @} */
diff --git a/drivers/ng_at86rf2xx/include/ng_at86rf2xx_registers.h b/drivers/ng_at86rf2xx/include/ng_at86rf2xx_registers.h
deleted file mode 100644
index 94c328a6dacb9bee87569da4df2917f273b993af..0000000000000000000000000000000000000000
--- a/drivers/ng_at86rf2xx/include/ng_at86rf2xx_registers.h
+++ /dev/null
@@ -1,341 +0,0 @@
-/*
- * Copyright (C) 2013 Alaeddine Weslati <alaeddine.weslati@inria.fr>
- * Copyright (C) 2015 Freie Universität Berlin
- *
- * 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.
- */
-
-/**
- * @ingroup     drivers_ng_at86rf2xx
- * @{
- *
- * @file
- * @brief       Register and command definitions for AT86RF2xx devices
- *
- * @author      Alaeddine Weslati <alaeddine.weslati@inria.fr>
- * @author      Thomas Eichinger <thomas.eichinger@fu-berlin.de>
- * @author      Hauke Petersen <hauke.petersen@fu-berlin.de>
- * @author      Kaspar Schleiser <kaspar@schleiser.de>
- */
-
-#ifndef NG_AT86RF2XX_REGISTERS_H_
-#define NG_AT86RF2XX_REGISTERS_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief   Constant part numbers of the AT86RF2xx device family
- * @{
- */
-#define NG_AT86RF212B_PARTNUM       (0x07)
-#define NG_AT86RF231_PARTNUM        (0x03)
-#define NG_AT86RF232_PARTNUM        (0x0a)
-#define NG_AT86RF233_PARTNUM        (0x0b)
-/** @} */
-
-/**
- * @brief   Assign the part number for the device we are building the driver for
- * @{
- */
-#ifdef MODULE_NG_AT86RF212B
-#define NG_AT86RF2XX_PARTNUM        NG_AT86RF212B_PARTNUM
-#elif MODULE_NG_AT86RF232
-#define NG_AT86RF2XX_PARTNUM        NG_AT86RF232_PARTNUM
-#elif MODULE_NG_AT86RF233
-#define NG_AT86RF2XX_PARTNUM        NG_AT86RF233_PARTNUM
-#else /* MODULE_NG_AT86RF231 as default device */
-#define NG_AT86RF2XX_PARTNUM        NG_AT86RF231_PARTNUM
-#endif
-/** @} */
-
-/**
- * @brief   SPI access specifiers
- * @{
- */
-#define NG_AT86RF2XX_ACCESS_REG                                 (0x80)
-#define NG_AT86RF2XX_ACCESS_FB                                  (0x20)
-#define NG_AT86RF2XX_ACCESS_SRAM                                (0x00)
-#define NG_AT86RF2XX_ACCESS_READ                                (0x00)
-#define NG_AT86RF2XX_ACCESS_WRITE                               (0x40)
-/** @} */
-
-/**
- * @brief   Register addresses
- * @{
- */
-#define NG_AT86RF2XX_REG__TRX_STATUS                            (0x01)
-#define NG_AT86RF2XX_REG__TRX_STATE                             (0x02)
-#define NG_AT86RF2XX_REG__TRX_CTRL_0                            (0x03)
-#define NG_AT86RF2XX_REG__TRX_CTRL_1                            (0x04)
-#define NG_AT86RF2XX_REG__PHY_TX_PWR                            (0x05)
-#define NG_AT86RF2XX_REG__PHY_RSSI                              (0x06)
-#define NG_AT86RF2XX_REG__PHY_ED_LEVEL                          (0x07)
-#define NG_AT86RF2XX_REG__PHY_CC_CCA                            (0x08)
-#define NG_AT86RF2XX_REG__CCA_THRES                             (0x09)
-#define NG_AT86RF2XX_REG__RX_CTRL                               (0x0A)
-#define NG_AT86RF2XX_REG__SFD_VALUE                             (0x0B)
-#define NG_AT86RF2XX_REG__TRX_CTRL_2                            (0x0C)
-#define NG_AT86RF2XX_REG__ANT_DIV                               (0x0D)
-#define NG_AT86RF2XX_REG__IRQ_MASK                              (0x0E)
-#define NG_AT86RF2XX_REG__IRQ_STATUS                            (0x0F)
-#define NG_AT86RF2XX_REG__VREG_CTRL                             (0x10)
-#define NG_AT86RF2XX_REG__BATMON                                (0x11)
-#define NG_AT86RF2XX_REG__XOSC_CTRL                             (0x12)
-#define NG_AT86RF2XX_REG__CC_CTRL_1                             (0x14)
-#define NG_AT86RF2XX_REG__RX_SYN                                (0x15)
-#ifdef MODULE_NG_AT86RF212B
-#define NG_AT86RF2XX_REG__RF_CTRL_0                             (0x16)
-#endif
-#define NG_AT86RF2XX_REG__XAH_CTRL_1                            (0x17)
-#define NG_AT86RF2XX_REG__FTN_CTRL                              (0x18)
-#define NG_AT86RF2XX_REG__PLL_CF                                (0x1A)
-#define NG_AT86RF2XX_REG__PLL_DCU                               (0x1B)
-#define NG_AT86RF2XX_REG__PART_NUM                              (0x1C)
-#define NG_AT86RF2XX_REG__VERSION_NUM                           (0x1D)
-#define NG_AT86RF2XX_REG__MAN_ID_0                              (0x1E)
-#define NG_AT86RF2XX_REG__MAN_ID_1                              (0x1F)
-#define NG_AT86RF2XX_REG__SHORT_ADDR_0                          (0x20)
-#define NG_AT86RF2XX_REG__SHORT_ADDR_1                          (0x21)
-#define NG_AT86RF2XX_REG__PAN_ID_0                              (0x22)
-#define NG_AT86RF2XX_REG__PAN_ID_1                              (0x23)
-#define NG_AT86RF2XX_REG__IEEE_ADDR_0                           (0x24)
-#define NG_AT86RF2XX_REG__IEEE_ADDR_1                           (0x25)
-#define NG_AT86RF2XX_REG__IEEE_ADDR_2                           (0x26)
-#define NG_AT86RF2XX_REG__IEEE_ADDR_3                           (0x27)
-#define NG_AT86RF2XX_REG__IEEE_ADDR_4                           (0x28)
-#define NG_AT86RF2XX_REG__IEEE_ADDR_5                           (0x29)
-#define NG_AT86RF2XX_REG__IEEE_ADDR_6                           (0x2A)
-#define NG_AT86RF2XX_REG__IEEE_ADDR_7                           (0x2B)
-#define NG_AT86RF2XX_REG__XAH_CTRL_0                            (0x2C)
-#define NG_AT86RF2XX_REG__CSMA_SEED_0                           (0x2D)
-#define NG_AT86RF2XX_REG__CSMA_SEED_1                           (0x2E)
-#define NG_AT86RF2XX_REG__CSMA_BE                               (0x2F)
-#define NG_AT86RF2XX_REG__TST_CTRL_DIGI                         (0x36)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the TRX_CTRL_0 register
- * @{
- */
-#define NG_AT86RF2XX_TRX_CTRL_0_MASK__PAD_IO                    (0xC0)
-#define NG_AT86RF2XX_TRX_CTRL_0_MASK__PAD_IO_CLKM               (0x30)
-#define NG_AT86RF2XX_TRX_CTRL_0_MASK__CLKM_SHA_SEL              (0x08)
-#define NG_AT86RF2XX_TRX_CTRL_0_MASK__CLKM_CTRL                 (0x07)
-
-#define NG_AT86RF2XX_TRX_CTRL_0_DEFAULT__PAD_IO                 (0x00)
-#define NG_AT86RF2XX_TRX_CTRL_0_DEFAULT__PAD_IO_CLKM            (0x10)
-#define NG_AT86RF2XX_TRX_CTRL_0_DEFAULT__CLKM_SHA_SEL           (0x08)
-#define NG_AT86RF2XX_TRX_CTRL_0_DEFAULT__CLKM_CTRL              (0x01)
-
-#define NG_AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__OFF                  (0x00)
-#define NG_AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__1MHz                 (0x01)
-#define NG_AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__2MHz                 (0x02)
-#define NG_AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__4MHz                 (0x03)
-#define NG_AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__8MHz                 (0x04)
-#define NG_AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__16MHz                (0x05)
-#define NG_AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__250kHz               (0x06)
-#define NG_AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__62_5kHz              (0x07)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the TRX_CTRL_1 register
- * @{
- */
-#define NG_AT86RF2XX_TRX_CTRL_1_MASK__PA_EXT_EN                 (0x80)
-#define NG_AT86RF2XX_TRX_CTRL_1_MASK__IRQ_2_EXT_EN              (0x40)
-#define NG_AT86RF2XX_TRX_CTRL_1_MASK__TX_AUTO_CRC_ON            (0x20)
-#define NG_AT86RF2XX_TRX_CTRL_1_MASK__RX_BL_CTRL                (0x10)
-#define NG_AT86RF2XX_TRX_CTRL_1_MASK__SPI_CMD_MODE              (0x0C)
-#define NG_AT86RF2XX_TRX_CTRL_1_MASK__IRQ_MASK_MODE             (0x02)
-#define NG_AT86RF2XX_TRX_CTRL_1_MASK__IRQ_POLARITY              (0x01)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the TRX_CTRL_2 register
- * @{
- */
-#define NG_AT86RF2XX_TRX_CTRL_2_MASK__RX_SAFE_MODE              (0x80)
-#define NG_AT86RF2XX_TRX_CTRL_2_MASK__FREQ_MODE                 (0x3F)
-#define NG_AT86RF2XX_TRX_CTRL_2_MASK__TRX_OFF_AVDD_EN           (0x40)
-#define NG_AT86RF2XX_TRX_CTRL_2_MASK__OQPSK_SCRAM_EN            (0x20)
-#define NG_AT86RF2XX_TRX_CTRL_2_MASK__ALT_SPECTRUM              (0x10)
-#define NG_AT86RF2XX_TRX_CTRL_2_MASK__BPSK_OQPSK                (0x08)
-#define NG_AT86RF2XX_TRX_CTRL_2_MASK__SUB_MODE                  (0x04)
-#define NG_AT86RF2XX_TRX_CTRL_2_MASK__OQPSK_DATA_RATE           (0x03)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the IRQ_STATUS register
- * @{
- */
-#define NG_AT86RF2XX_IRQ_STATUS_MASK__BAT_LOW                   (0x80)
-#define NG_AT86RF2XX_IRQ_STATUS_MASK__TRX_UR                    (0x40)
-#define NG_AT86RF2XX_IRQ_STATUS_MASK__AMI                       (0x20)
-#define NG_AT86RF2XX_IRQ_STATUS_MASK__CCA_ED_DONE               (0x10)
-#define NG_AT86RF2XX_IRQ_STATUS_MASK__TRX_END                   (0x08)
-#define NG_AT86RF2XX_IRQ_STATUS_MASK__RX_START                  (0x04)
-#define NG_AT86RF2XX_IRQ_STATUS_MASK__PLL_UNLOCK                (0x02)
-#define NG_AT86RF2XX_IRQ_STATUS_MASK__PLL_LOCK                  (0x01)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the TRX_STATUS register
- * @{
- */
-#define NG_AT86RF2XX_TRX_STATUS_MASK__CCA_DONE                  (0x80)
-#define NG_AT86RF2XX_TRX_STATUS_MASK__CCA_STATUS                (0x40)
-#define NG_AT86RF2XX_TRX_STATUS_MASK__TRX_STATUS                (0x1F)
-
-#define NG_AT86RF2XX_TRX_STATUS__P_ON                           (0x00)
-#define NG_AT86RF2XX_TRX_STATUS__BUSY_RX                        (0x01)
-#define NG_AT86RF2XX_TRX_STATUS__BUSY_TX                        (0x02)
-#define NG_AT86RF2XX_TRX_STATUS__RX_ON                          (0x06)
-#define NG_AT86RF2XX_TRX_STATUS__TRX_OFF                        (0x08)
-#define NG_AT86RF2XX_TRX_STATUS__PLL_ON                         (0x09)
-#define NG_AT86RF2XX_TRX_STATUS__SLEEP                          (0x0F)
-#define NG_AT86RF2XX_TRX_STATUS__BUSY_RX_AACK                   (0x11)
-#define NG_AT86RF2XX_TRX_STATUS__BUSY_TX_ARET                   (0x12)
-#define NG_AT86RF2XX_TRX_STATUS__RX_AACK_ON                     (0x16)
-#define NG_AT86RF2XX_TRX_STATUS__TX_ARET_ON                     (0x19)
-#define NG_AT86RF2XX_TRX_STATUS__RX_ON_NOCLK                    (0x1C)
-#define NG_AT86RF2XX_TRX_STATUS__RX_AACK_ON_NOCLK               (0x1D)
-#define NG_AT86RF2XX_TRX_STATUS__BUSY_RX_AACK_NOCLK             (0x1E)
-#define NG_AT86RF2XX_TRX_STATUS__STATE_TRANSITION_IN_PROGRESS   (0x1F)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the TRX_STATE register
- * @{
- */
-#define NG_AT86RF2XX_TRX_STATE_MASK__TRAC                       (0xe0)
-
-#define NG_AT86RF2XX_TRX_STATE__NOP                             (0x00)
-#define NG_AT86RF2XX_TRX_STATE__TX_START                        (0x02)
-#define NG_AT86RF2XX_TRX_STATE__FORCE_TRX_OFF                   (0x03)
-#define NG_AT86RF2XX_TRX_STATE__FORCE_PLL_ON                    (0x04)
-#define NG_AT86RF2XX_TRX_STATE__RX_ON                           (0x06)
-#define NG_AT86RF2XX_TRX_STATE__TRX_OFF                         (0x08)
-#define NG_AT86RF2XX_TRX_STATE__PLL_ON                          (0x09)
-#define NG_AT86RF2XX_TRX_STATE__RX_AACK_ON                      (0x16)
-#define NG_AT86RF2XX_TRX_STATE__TX_ARET_ON                      (0x19)
-#define NG_AT86RF2XX_TRX_STATE__TRAC_SUCCESS                    (0x00)
-#define NG_AT86RF2XX_TRX_STATE__TRAC_SUCCESS_DATA_PENDING       (0x20)
-#define NG_AT86RF2XX_TRX_STATE__TRAC_SUCCESS_WAIT_FOR_ACK       (0x40)
-#define NG_AT86RF2XX_TRX_STATE__TRAC_CHANNEL_ACCESS_FAILURE     (0x60)
-#define NG_AT86RF2XX_TRX_STATE__TRAC_NO_ACK                     (0xa0)
-#define NG_AT86RF2XX_TRX_STATE__TRAC_INVALID                    (0xe0)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the PHY_CCA register
- * @{
- */
-#define NG_AT86RF2XX_PHY_CC_CCA_MASK__CCA_REQUEST               (0x80)
-#define NG_AT86RF2XX_PHY_CC_CCA_MASK__CCA_MODE                  (0x60)
-#define NG_AT86RF2XX_PHY_CC_CCA_MASK__CHANNEL                   (0x1F)
-
-#define NG_AT86RF2XX_PHY_CC_CCA_DEFAULT__CCA_MODE               (0x20)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the PHY_TX_PWR register
- * @{
- */
-#ifdef MODULE_NG_AT86RF212B
-#define NG_AT86RF2XX_PHY_TX_PWR_MASK__PA_BOOST                  (0x80)
-#define NG_AT86RF2XX_PHY_TX_PWR_MASK__GC_PA                     (0x60)
-#define NG_AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR                    (0x1F)
-#elif  MODULE_NG_AT86RF231
-#define NG_AT86RF2XX_PHY_TX_PWR_MASK__PA_BUF_LT                 (0xC0)
-#define NG_AT86RF2XX_PHY_TX_PWR_MASK__PA_LT                     (0x30)
-#define NG_AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR                    (0x0F)
-#else
-#define NG_AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR                    (0x0F)
-#endif
-#define NG_AT86RF2XX_PHY_TX_PWR_DEFAULT__PA_BUF_LT              (0xC0)
-#define NG_AT86RF2XX_PHY_TX_PWR_DEFAULT__PA_LT                  (0x00)
-#define NG_AT86RF2XX_PHY_TX_PWR_DEFAULT__TX_PWR                 (0x00)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the PHY_RSSI register
- * @{
- */
-#define NG_AT86RF2XX_PHY_RSSI_MASK__RX_CRC_VALID                (0x80)
-#define NG_AT86RF2XX_PHY_RSSI_MASK__RND_VALUE                   (0x60)
-#define NG_AT86RF2XX_PHY_RSSI_MASK__RSSI                        (0x1F)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the XOSC_CTRL register
- * @{
- */
-#define NG_AT86RF2XX_XOSC_CTRL__XTAL_MODE_CRYSTAL               (0xF0)
-#define NG_AT86RF2XX_XOSC_CTRL__XTAL_MODE_EXTERNAL              (0xF0)
-/** @} */
-
-/**
- * @brief   Timing values
- * @{
- */
-#define NG_AT86RF2XX_TIMING__VCC_TO_P_ON                        (330)
-#define NG_AT86RF2XX_TIMING__SLEEP_TO_TRX_OFF                   (380)
-#define NG_AT86RF2XX_TIMING__TRX_OFF_TO_PLL_ON                  (110)
-#define NG_AT86RF2XX_TIMING__TRX_OFF_TO_RX_ON                   (110)
-#define NG_AT86RF2XX_TIMING__PLL_ON_TO_BUSY_TX                  (16)
-#define NG_AT86RF2XX_TIMING__RESET                              (100)
-#define NG_AT86RF2XX_TIMING__RESET_TO_TRX_OFF                   (37)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the XAH_CTRL_0 register
- * @{
- */
-#define NG_AT86RF2XX_XAH_CTRL_0__MAX_FRAME_RETRIES              (0xF0)
-#define NG_AT86RF2XX_XAH_CTRL_0__MAX_CSMA_RETRIES               (0x0E)
-#define NG_AT86RF2XX_XAH_CTRL_0__SLOTTED_OPERATION              (0x01)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the XAH_CTRL_1 register
- * @{
- */
-#define NG_AT86RF2XX_XAH_CTRL_1__AACK_FLTR_RES_FT               (0x20)
-#define NG_AT86RF2XX_XAH_CTRL_1__AACK_UPLD_RES_FT               (0x10)
-#define NG_AT86RF2XX_XAH_CTRL_1__AACK_ACK_TIME                  (0x04)
-#define NG_AT86RF2XX_XAH_CTRL_1__AACK_PROM_MODE                 (0x02)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the CSMA_SEED_1 register
- * @{
- */
-#define NG_AT86RF2XX_CSMA_SEED_1__AACK_SET_PD                   (0x20)
-#define NG_AT86RF2XX_CSMA_SEED_1__AACK_DIS_ACK                  (0x10)
-#define NG_AT86RF2XX_CSMA_SEED_1__AACK_I_AM_COORD               (0x08)
-/** @} */
-
-/**
- * @brief   Bitfield definitions for the RF_CTRL_0 register
- * @{
- */
-#ifdef MODULE_NG_AT86RF212B
-#define NG_AT86RF2XX_RF_CTRL_0_MASK__PA_LT                      (0xC0)
-#define NG_AT86RF2XX_RF_CTRL_0_MASK__GC_TX_OFFS                 (0x03)
-
-#define NG_AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__0DB                  (0x01)
-#define NG_AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__1DB                  (0x02)
-#define NG_AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__2DB                  (0x03)
-#endif
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* NG_AT86RF2XX_REGISTERS_H_ */
-/** @} */
diff --git a/drivers/ng_at86rf2xx/ng_at86rf2xx_getset.c b/drivers/ng_at86rf2xx/ng_at86rf2xx_getset.c
deleted file mode 100644
index 3cee746e3464d52038729b6029d9e131a002db01..0000000000000000000000000000000000000000
--- a/drivers/ng_at86rf2xx/ng_at86rf2xx_getset.c
+++ /dev/null
@@ -1,401 +0,0 @@
-/*
- * Copyright (C) 2015 Freie Universität Berlin
- *
- * 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.
- */
-
-/**
- * @ingroup     drivers_ng_at86rf2xx
- * @{
- *
- * @file
- * @brief       Getter and setter functions for the AT86RF2xx drivers
- *
- * @author      Thomas Eichinger <thomas.eichinger@fu-berlin.de>
- * @author      Hauke Petersen <hauke.petersen@fu-berlin.de>
- * @author      Baptiste Clenet <bapclenet@gmail.com>
- *
- * @}
- */
-
-#include "ng_at86rf2xx.h"
-#include "ng_at86rf2xx_internal.h"
-#include "ng_at86rf2xx_registers.h"
-#include "periph/spi.h"
-
-#define ENABLE_DEBUG (0)
-#include "debug.h"
-
-#ifdef MODULE_NG_AT86RF212B
-/* See: Table 9-15. Recommended Mapping of TX Power, Frequency Band, and
- * PHY_TX_PWR (register 0x05), AT86RF212B data sheet. */
-static const uint8_t dbm_to_tx_pow_868[] = {0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x18,
-                                            0x17, 0x15, 0x14, 0x13, 0x12, 0x11,
-                                            0x10, 0x0f, 0x31, 0x30, 0x2f, 0x94,
-                                            0x93, 0x91, 0x90, 0x29, 0x49, 0x48,
-                                            0x47, 0xad, 0xcd, 0xcc, 0xcb, 0xea,
-                                            0xe9, 0xe8, 0xe7, 0xe6, 0xe4, 0x80,
-                                            0xa0};
-static const uint8_t dbm_to_tx_pow_915[] = {0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x17,
-                                            0x16, 0x15, 0x14, 0x13, 0x12, 0x11,
-                                            0x10, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b,
-                                            0x09, 0x91, 0x08, 0x07, 0x05, 0x27,
-                                            0x04, 0x03, 0x02, 0x01, 0x00, 0x86,
-                                            0x40, 0x84, 0x83, 0x82, 0x80, 0xc1,
-                                            0xc0};
-int16_t tx_pow_to_dbm(ng_at86rf2xx_freq_t freq, uint8_t reg) {
-    for(int i = 0; i < 37; i++){
-        if(freq == NG_AT86RF2XX_FREQ_868MHZ){
-            if (dbm_to_tx_pow_868[i] == reg) {
-                return i -25;
-            }
-        } else if (freq == NG_AT86RF2XX_FREQ_915MHZ){
-            if (dbm_to_tx_pow_915[i] == reg) {
-                return i -25;
-            }
-        }
-    }
-    return 0;
-}
-
-#elif MODULE_NG_AT86RF233
-static const int16_t tx_pow_to_dbm[] = {4, 4, 3, 3, 2, 2, 1,
-                                        0, -1, -2, -3, -4, -6, -8, -12, -17};
-static const uint8_t dbm_to_tx_pow[] = {0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e,
-                                        0x0e, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c,
-                                        0x0b, 0x0b, 0x0a, 0x09, 0x08, 0x07,
-                                        0x06, 0x05, 0x03,0x00};
-#else
-static const int16_t tx_pow_to_dbm[] = {3, 3, 2, 2, 1, 1, 0,
-                                        -1, -2, -3, -4, -5, -7, -9, -12, -17};
-static const uint8_t dbm_to_tx_pow[] = {0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e,
-                                        0x0e, 0x0d, 0x0d, 0x0c, 0x0c, 0x0b,
-                                        0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06,
-                                        0x05, 0x03, 0x00};
-#endif
-
-uint16_t ng_at86rf2xx_get_addr_short(ng_at86rf2xx_t *dev)
-{
-    return (dev->addr_short[0] << 8) | dev->addr_short[1];
-}
-
-void ng_at86rf2xx_set_addr_short(ng_at86rf2xx_t *dev, uint16_t addr)
-{
-    dev->addr_short[0] = addr >> 8;
-    dev->addr_short[1] = addr & 0xff;
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__SHORT_ADDR_0,
-                           dev->addr_short[0]);
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__SHORT_ADDR_1,
-                           dev->addr_short[1]);
-}
-
-uint64_t ng_at86rf2xx_get_addr_long(ng_at86rf2xx_t *dev)
-{
-    uint64_t addr;
-    uint8_t *ap = (uint8_t *)(&addr);
-    for (int i = 0; i < 8; i++) {
-        ap[i] = dev->addr_long[7 - i];
-    }
-    return addr;
-}
-
-void ng_at86rf2xx_set_addr_long(ng_at86rf2xx_t *dev, uint64_t addr)
-{
-    for (int i = 0; i < 8; i++) {
-        dev->addr_long[i] = (addr >> ((7 - i) * 8));
-        ng_at86rf2xx_reg_write(dev, (NG_AT86RF2XX_REG__IEEE_ADDR_0 + i),
-                               dev->addr_long[i]);
-    }
-}
-
-uint8_t ng_at86rf2xx_get_chan(ng_at86rf2xx_t *dev)
-{
-    return dev->chan;
-}
-
-void ng_at86rf2xx_set_chan(ng_at86rf2xx_t *dev, uint8_t channel)
-{
-    uint8_t tmp;
-
-    if (channel < NG_AT86RF2XX_MIN_CHANNEL
-        || channel > NG_AT86RF2XX_MAX_CHANNEL) {
-        return;
-    }
-    dev->chan = channel;
-    tmp = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__PHY_CC_CCA);
-    tmp &= ~(NG_AT86RF2XX_PHY_CC_CCA_MASK__CHANNEL);
-    tmp |= (channel & NG_AT86RF2XX_PHY_CC_CCA_MASK__CHANNEL);
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__PHY_CC_CCA, tmp);
-}
-
-#ifdef MODULE_NG_AT86RF212B
-ng_at86rf2xx_freq_t ng_at86rf2xx_get_freq(ng_at86rf2xx_t *dev)
-{
-    return dev->freq;
-}
-
-void ng_at86rf2xx_set_freq(ng_at86rf2xx_t *dev, ng_at86rf2xx_freq_t freq)
-{
-    uint8_t trx_ctrl2 = 0, rf_ctrl0 = 0;
-    trx_ctrl2 = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__TRX_CTRL_2);
-    trx_ctrl2 &= ~(NG_AT86RF2XX_TRX_CTRL_2_MASK__FREQ_MODE);
-    rf_ctrl0 = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__RF_CTRL_0);
-    /* Erase previous conf for GC_TX_OFFS */
-    rf_ctrl0 &= ~NG_AT86RF2XX_RF_CTRL_0_MASK__GC_TX_OFFS;
-
-    trx_ctrl2 |= NG_AT86RF2XX_TRX_CTRL_2_MASK__SUB_MODE;
-    rf_ctrl0 |= NG_AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__2DB;
-
-    switch(freq) {
-        case NG_AT86RF2XX_FREQ_915MHZ:
-            if (dev->chan == 0) {
-                ng_at86rf2xx_set_chan(dev,NG_AT86RF2XX_DEFAULT_CHANNEL);
-            } else {
-                ng_at86rf2xx_set_chan(dev,dev->chan);
-            }
-            break;
-
-        case NG_AT86RF2XX_FREQ_868MHZ:
-            /* Channel = 0 for 868MHz means 868.3MHz, only one available */
-            ng_at86rf2xx_set_chan(dev,0x00);
-            break;
-
-        default:
-            DEBUG("ng_at86rf2xx: Trying to set unknown frequency 0x%lx\n",
-                (unsigned long) freq);
-            return;
-    }
-    dev->freq = freq;
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__TRX_CTRL_2, trx_ctrl2);
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__RF_CTRL_0, rf_ctrl0);
-}
-#endif
-
-uint16_t ng_at86rf2xx_get_pan(ng_at86rf2xx_t *dev)
-{
-    return dev->pan;
-}
-
-void ng_at86rf2xx_set_pan(ng_at86rf2xx_t *dev, uint16_t pan)
-{
-    dev->pan = pan;
-    DEBUG("pan0: %u, pan1: %u\n", (uint8_t)pan, pan >> 8);
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__PAN_ID_0, (uint8_t)pan);
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__PAN_ID_1, (pan >> 8));
-}
-
-int16_t ng_at86rf2xx_get_txpower(ng_at86rf2xx_t *dev)
-{
-#ifdef MODULE_NG_AT86RF212B
-    uint8_t txpower = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__PHY_TX_PWR);
-    DEBUG("txpower value: %x\n", txpower);
-    return tx_pow_to_dbm(dev->freq, txpower);
-#else
-    uint8_t txpower = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__PHY_TX_PWR)
-                & NG_AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR;
-    return tx_pow_to_dbm[txpower];
-#endif
-}
-
-void ng_at86rf2xx_set_txpower(ng_at86rf2xx_t *dev, int16_t txpower)
-{
-#ifdef MODULE_NG_AT86RF212B
-    txpower += 25;
-#else
-    txpower += 17;
-#endif
-    if (txpower < 0) {
-        txpower = 0;
-#ifdef MODULE_NG_AT86RF212B
-    } else if (txpower > 36) {
-        txpower = 36;
-#elif MODULE_NG_AT86RF233
-    } else if (txpower > 21) {
-        txpower = 21;
-#else
-    } else if (txpower > 20) {
-        txpower = 20;
-#endif
-    }
-#ifdef MODULE_NG_AT86RF212B
-    if (dev->freq == NG_AT86RF2XX_FREQ_915MHZ) {
-        ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__PHY_TX_PWR,
-                           dbm_to_tx_pow_915[txpower]);
-    } else if (dev->freq == NG_AT86RF2XX_FREQ_868MHZ) {
-        ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__PHY_TX_PWR,
-                           dbm_to_tx_pow_868[txpower]);
-    } else {
-        return;
-    }
-#else
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__PHY_TX_PWR,
-                           dbm_to_tx_pow[txpower]);
-#endif
-}
-
-uint8_t ng_at86rf2xx_get_max_retries(ng_at86rf2xx_t *dev)
-{
-    return (ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__XAH_CTRL_0) >> 4);
-}
-
-void ng_at86rf2xx_set_max_retries(ng_at86rf2xx_t *dev, uint8_t max)
-{
-    max = (max > 7) ? 7 : max;
-    uint8_t tmp = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__XAH_CTRL_0);
-    tmp &= ~(NG_AT86RF2XX_XAH_CTRL_0__MAX_FRAME_RETRIES);
-    tmp |= (max << 4);
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__XAH_CTRL_0, tmp);
-}
-
-void ng_at86rf2xx_set_option(ng_at86rf2xx_t *dev, uint16_t option, bool state)
-{
-    uint8_t tmp;
-
-    DEBUG("set option %i to %i\n", option, state);
-
-    /* set option field */
-    if (state) {
-        dev->options |= option;
-        /* trigger option specific actions */
-        switch (option) {
-            case NG_AT86RF2XX_OPT_CSMA:
-                DEBUG("[ng_at86rf2xx] opt: enabling CSMA mode (NOT IMPLEMENTED)\n");
-                /* TODO: en/disable csma */
-                break;
-            case NG_AT86RF2XX_OPT_PROMISCUOUS:
-                DEBUG("[ng_at86rf2xx] opt: enabling PROMISCUOUS mode\n");
-                /* disable auto ACKs in promiscuous mode */
-                tmp = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__CSMA_SEED_1);
-                tmp |= NG_AT86RF2XX_CSMA_SEED_1__AACK_DIS_ACK;
-                ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__CSMA_SEED_1, tmp);
-                /* enable promiscuous mode */
-                tmp = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__XAH_CTRL_1);
-                tmp |= NG_AT86RF2XX_XAH_CTRL_1__AACK_PROM_MODE;
-                ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__XAH_CTRL_1, tmp);
-                break;
-            case NG_AT86RF2XX_OPT_AUTOACK:
-                DEBUG("[ng_at86rf2xx] opt: enabling auto ACKs\n");
-                tmp = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__CSMA_SEED_1);
-                tmp &= ~(NG_AT86RF2XX_CSMA_SEED_1__AACK_DIS_ACK);
-                ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__CSMA_SEED_1, tmp);
-                break;
-            case NG_AT86RF2XX_OPT_TELL_RX_START:
-                DEBUG("[ng_at86rf2xx] opt: enabling SFD IRQ\n");
-                tmp = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__IRQ_MASK);
-                tmp |= NG_AT86RF2XX_IRQ_STATUS_MASK__RX_START;
-                ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__IRQ_MASK, tmp);
-                break;
-            default:
-                /* do nothing */
-                break;
-        }
-    }
-    else {
-        dev->options &= ~(option);
-        /* trigger option specific actions */
-        switch (option) {
-            case NG_AT86RF2XX_OPT_CSMA:
-                DEBUG("[ng_at86rf2xx] opt: disabling CSMA mode (NOT IMPLEMENTED)\n");
-                /* TODO: en/disable csma */
-                break;
-            case NG_AT86RF2XX_OPT_PROMISCUOUS:
-                DEBUG("[ng_at86rf2xx] opt: disabling PROMISCUOUS mode\n");
-                /* disable promiscuous mode */
-                tmp = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__XAH_CTRL_1);
-                tmp &= ~(NG_AT86RF2XX_XAH_CTRL_1__AACK_PROM_MODE);
-                ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__XAH_CTRL_1, tmp);
-                /* re-enable AUTOACK only if the option is set */
-                if (dev->options & NG_AT86RF2XX_OPT_AUTOACK) {
-                    tmp = ng_at86rf2xx_reg_read(dev,
-                                                NG_AT86RF2XX_REG__CSMA_SEED_1);
-                    tmp &= ~(NG_AT86RF2XX_CSMA_SEED_1__AACK_DIS_ACK);
-                    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__CSMA_SEED_1,
-                                           tmp);
-                }
-                break;
-            case NG_AT86RF2XX_OPT_AUTOACK:
-                DEBUG("[ng_at86rf2xx] opt: disabling auto ACKs\n");
-                tmp = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__CSMA_SEED_1);
-                tmp |= NG_AT86RF2XX_CSMA_SEED_1__AACK_DIS_ACK;
-                ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__CSMA_SEED_1, tmp);
-                break;
-            case NG_AT86RF2XX_OPT_TELL_RX_START:
-                DEBUG("[ng_at86rf2xx] opt: disabling SFD IRQ\n");
-                tmp = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__IRQ_MASK);
-                tmp &= ~NG_AT86RF2XX_IRQ_STATUS_MASK__RX_START;
-                ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__IRQ_MASK, tmp);
-                break;
-            default:
-                /* do nothing */
-                break;
-        }
-    }
-}
-
-static inline void _set_state(ng_at86rf2xx_t *dev, uint8_t state)
-{
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__TRX_STATE, state);
-    while (ng_at86rf2xx_get_status(dev) != state);
-}
-
-static inline void _force_trx_off(ng_at86rf2xx_t *dev)
-{
-    ng_at86rf2xx_reg_write(dev, NG_AT86RF2XX_REG__TRX_STATE, NG_AT86RF2XX_TRX_STATE__FORCE_TRX_OFF);
-    while (ng_at86rf2xx_get_status(dev) != NG_AT86RF2XX_STATE_TRX_OFF);
-}
-
-void ng_at86rf2xx_set_state(ng_at86rf2xx_t *dev, uint8_t state)
-{
-    uint8_t old_state = ng_at86rf2xx_get_status(dev);
-
-    if (state == old_state) {
-        return;
-    }
-    /* make sure there is no ongoing transmission, or state transition already
-     * in progress */
-    while (old_state == NG_AT86RF2XX_STATE_BUSY_RX_AACK ||
-           old_state == NG_AT86RF2XX_STATE_BUSY_TX_ARET ||
-           old_state == NG_AT86RF2XX_STATE_IN_PROGRESS) {
-        old_state = ng_at86rf2xx_get_status(dev);
-    }
-
-    /* we need to go via PLL_ON if we are moving between RX_AACK_ON <-> TX_ARET_ON */
-    if ((old_state == NG_AT86RF2XX_STATE_RX_AACK_ON &&
-             state == NG_AT86RF2XX_STATE_TX_ARET_ON) ||
-        (old_state == NG_AT86RF2XX_STATE_TX_ARET_ON &&
-             state == NG_AT86RF2XX_STATE_RX_AACK_ON)) {
-        _set_state(dev, NG_AT86RF2XX_STATE_PLL_ON);
-    }
-    /* check if we need to wake up from sleep mode */
-    else if (old_state == NG_AT86RF2XX_STATE_SLEEP) {
-        DEBUG("at86rf2xx: waking up from sleep mode\n");
-        gpio_clear(dev->sleep_pin);
-        while (ng_at86rf2xx_get_status(dev) != NG_AT86RF2XX_STATE_TRX_OFF);
-    }
-
-    if (state == NG_AT86RF2XX_STATE_SLEEP) {
-        /* First go to TRX_OFF */
-        _force_trx_off(dev);
-        /* Go to SLEEP mode from TRX_OFF */
-        gpio_set(dev->sleep_pin);
-    } else {
-        _set_state(dev, state);
-    }
-}
-
-void ng_at86rf2xx_reset_state_machine(ng_at86rf2xx_t *dev)
-{
-    uint8_t old_state;
-
-    /* Wake up */
-    gpio_clear(dev->sleep_pin);
-
-    /* Wait for any state transitions to complete before forcing TRX_OFF */
-    do {
-        old_state = ng_at86rf2xx_get_status(dev);
-    } while (old_state == NG_AT86RF2XX_STATE_IN_PROGRESS);
-
-    _force_trx_off(dev);
-}
diff --git a/sys/auto_init/auto_init.c b/sys/auto_init/auto_init.c
index e9c17eceef596dba3682b5dae5b1194a854c23b9..ff9f88658de73b08955552bf5d38d06a716c8515 100644
--- a/sys/auto_init/auto_init.c
+++ b/sys/auto_init/auto_init.c
@@ -162,9 +162,9 @@ void auto_init(void)
 /* initialize network devices */
 #ifdef MODULE_AUTO_INIT_NG_NETIF
 
-#ifdef MODULE_NG_AT86RF2XX
-    extern void auto_init_ng_at86rf2xx(void);
-    auto_init_ng_at86rf2xx();
+#ifdef MODULE_AT86RF2XX
+    extern void auto_init_at86rf2xx(void);
+    auto_init_at86rf2xx();
 #endif
 
 #ifdef MODULE_XBEE
diff --git a/sys/auto_init/netif/auto_init_ng_at86rf2xx.c b/sys/auto_init/netif/auto_init_ng_at86rf2xx.c
index 02a48761686ca58c9956c4ae50992f1b9540567d..a605e3660ad95be4535473705cc998345c7a88a7 100644
--- a/sys/auto_init/netif/auto_init_ng_at86rf2xx.c
+++ b/sys/auto_init/netif/auto_init_ng_at86rf2xx.c
@@ -17,14 +17,14 @@
  * @author  Kaspar Schleiser <kaspar@schleiser.de>
  */
 
-#ifdef MODULE_NG_AT86RF2XX
+#ifdef MODULE_AT86RF2XX
 
 #include "board.h"
 #include "net/ng_nomac.h"
 #include "net/ng_netbase.h"
 
-#include "ng_at86rf2xx.h"
-#include "ng_at86rf2xx_params.h"
+#include "at86rf2xx.h"
+#include "at86rf2xx_params.h"
 
 #define ENABLE_DEBUG (0)
 #include "debug.h"
@@ -38,34 +38,34 @@
 
 #define AT86RF2XX_NUM (sizeof(at86rf2xx_params)/sizeof(at86rf2xx_params[0]))
 
-static ng_at86rf2xx_t ng_at86rf2xx_devs[AT86RF2XX_NUM];
+static at86rf2xx_t at86rf2xx_devs[AT86RF2XX_NUM];
 static char _nomac_stacks[AT86RF2XX_MAC_STACKSIZE][AT86RF2XX_NUM];
 
-void auto_init_ng_at86rf2xx(void)
+void auto_init_at86rf2xx(void)
 {
     for (int i = 0; i < AT86RF2XX_NUM; i++) {
         DEBUG("Initializing AT86RF2xx radio at SPI_%i\n", i);
         const at86rf2xx_params_t *p = &at86rf2xx_params[i];
-        int res = ng_at86rf2xx_init(&ng_at86rf2xx_devs[i],
-                p->spi,
-                p->spi_speed,
-                p->cs_pin,
-                p->int_pin,
-                p->sleep_pin,
-                p->reset_pin);
+        int res = at86rf2xx_init(&at86rf2xx_devs[i],
+                                 p->spi,
+                                 p->spi_speed,
+                                 p->cs_pin,
+                                 p->int_pin,
+                                 p->sleep_pin,
+                                 p->reset_pin);
 
         if (res < 0) {
             DEBUG("Error initializing AT86RF2xx radio device!");
         }
         else {
             ng_nomac_init(_nomac_stacks[i],
-                    AT86RF2XX_MAC_STACKSIZE, AT86RF2XX_MAC_PRIO,
-                    "at86rfxx", (ng_netdev_t *)&ng_at86rf2xx_devs[i]);
+                          AT86RF2XX_MAC_STACKSIZE, AT86RF2XX_MAC_PRIO,
+                          "at86rfxx", (ng_netdev_t *)&at86rf2xx_devs[i]);
         }
     }
 }
 #else
 typedef int dont_be_pedantic;
-#endif /* MODULE_NG_AT86RF2XX */
+#endif /* MODULE_AT86RF2XX */
 
 /** @} */
diff --git a/tests/driver_at86rf2xx/Makefile b/tests/driver_at86rf2xx/Makefile
index 71d58cbbdfa108e52348e58b417fcb6b18cc13f5..7a443d9df62c9f66208c740e8773d854bbabef41 100644
--- a/tests/driver_at86rf2xx/Makefile
+++ b/tests/driver_at86rf2xx/Makefile
@@ -24,7 +24,7 @@ else
 endif
 
 ifneq (true,$(USE_BOARD_PARAMETERS))
-  # This adds . to include path so generic ng_at86rf2xx_params.h gets picked
+  # This adds . to include path so generic at86rf2xx_params.h gets picked
   # up.  All boards actually having such a device on board should define
   # USE_BOARD_PARAMETERS=true above to skip this step, as the board provides
   # this header.
diff --git a/tests/driver_at86rf2xx/ng_at86rf2xx_params.h b/tests/driver_at86rf2xx/at86rf2xx_params.h
similarity index 93%
rename from tests/driver_at86rf2xx/ng_at86rf2xx_params.h
rename to tests/driver_at86rf2xx/at86rf2xx_params.h
index 4eaf70222ff75d83f32333a0821b25f7262db502..ae89a65e0d9fb1de2c85c75c27fef5ba9a900afd 100644
--- a/tests/driver_at86rf2xx/ng_at86rf2xx_params.h
+++ b/tests/driver_at86rf2xx/at86rf2xx_params.h
@@ -20,8 +20,8 @@
 extern "C" {
 #endif
 
-#ifndef NG_AT86RF2XX_PARAMS_H
-#define NG_AT86RF2XX_PARAMS_H
+#ifndef AT86RF2XX_PARAMS_H
+#define AT86RF2XX_PARAMS_H
 
 /**
  * @brief make sure the SPI port and the needed GPIO pins are defined
@@ -66,5 +66,5 @@ static const  at86rf2xx_params_t at86rf2xx_params[] =
 #ifdef __cplusplus
 }
 #endif
-#endif /* NG_AT86RF2XX_PARAMS_H */
+#endif /* AT86RF2XX_PARAMS_H */
 /** @} */
diff --git a/tests/driver_at86rf2xx/auto_init_ng_netif/netif_app.c b/tests/driver_at86rf2xx/auto_init_ng_netif/netif_app.c
index ac1d3a7ad4d474e596ae1d6b9619301f394a24f4..644992b053f7fbc627bb1053beaafe2eb731a4ce 100644
--- a/tests/driver_at86rf2xx/auto_init_ng_netif/netif_app.c
+++ b/tests/driver_at86rf2xx/auto_init_ng_netif/netif_app.c
@@ -21,7 +21,7 @@
 #include <stdio.h>
 
 #include "kernel.h"
-#include "ng_at86rf2xx.h"
+#include "at86rf2xx.h"
 #include "net/ng_nomac.h"
 #include "net/ng_netbase.h"
 
@@ -56,7 +56,7 @@
 /**
  * @brief   Allocate the AT86RF2xx device descriptor
  */
-static ng_at86rf2xx_t dev;
+static at86rf2xx_t dev;
 
 /**
  * @brief   Stack for the nomac thread
@@ -71,9 +71,9 @@ void auto_init_ng_netif(void)
 
     /* initialize the AT86RF2xx device */
     printf("Initializing the AT86RF2xx radio at SPI_%i... \n", ATRF_SPI);
-    res = ng_at86rf2xx_init(&dev, ATRF_SPI, ATRF_SPI_SPEED,
-                            ATRF_CS, ATRF_INT,
-                            ATRF_SLEEP, ATRF_RESET);
+    res = at86rf2xx_init(&dev, ATRF_SPI, ATRF_SPI_SPEED,
+                         ATRF_CS, ATRF_INT,
+                         ATRF_SLEEP, ATRF_RESET);
     if (res < 0) {
         puts("Error initializing AT86RF2xx radio device");
         return;