You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by cc...@apache.org on 2016/11/22 03:26:01 UTC

[46/51] [abbrv] [partial] incubator-mynewt-core git commit: Remove non-Apache-compatible Nordic SDK files.

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/a1481cb2/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_gpiote.h
----------------------------------------------------------------------
diff --git a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_gpiote.h b/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_gpiote.h
deleted file mode 100644
index e493f44..0000000
--- a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_gpiote.h
+++ /dev/null
@@ -1,399 +0,0 @@
-/* Copyright (c) 2015 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is property of Nordic Semiconductor ASA.
- * Terms and conditions of usage are described in detail in NORDIC
- * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
- *
- * Licensees are granted free, non-transferable use of the information. NO
- * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
- * the file.
- *
- */
-#ifndef NRF_GPIOTE_H__
-#define NRF_GPIOTE_H__
-
-#include "nrf.h"
-#include <stdint.h>
-#include <stddef.h>
-#include <stdbool.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
-* @defgroup nrf_gpiote_abs GPIOTE abstraction
-* @{
-* @ingroup nrf_gpiote
-* @brief GPIOTE abstraction for configuration of channels.
-*/
-#ifdef NRF51
-#define NUMBER_OF_GPIO_TE 4
-#elif defined(NRF52)
-#define NUMBER_OF_GPIO_TE 8
-#else
-#error "Chip family not specified"
-#endif
-
- /**
- * @enum nrf_gpiote_polarity_t
- * @brief Polarity for the GPIOTE channel.
- */
-typedef enum
-{
-  NRF_GPIOTE_POLARITY_LOTOHI = GPIOTE_CONFIG_POLARITY_LoToHi,       ///<  Low to high.
-  NRF_GPIOTE_POLARITY_HITOLO = GPIOTE_CONFIG_POLARITY_HiToLo,       ///<  High to low.
-  NRF_GPIOTE_POLARITY_TOGGLE = GPIOTE_CONFIG_POLARITY_Toggle        ///<  Toggle.
-} nrf_gpiote_polarity_t;
-
-
- /**
- * @enum nrf_gpiote_outinit_t
- * @brief Initial output value for the GPIOTE channel.
- */
-typedef enum
-{
-  NRF_GPIOTE_INITIAL_VALUE_LOW  = GPIOTE_CONFIG_OUTINIT_Low,       ///<  Low to high.
-  NRF_GPIOTE_INITIAL_VALUE_HIGH = GPIOTE_CONFIG_OUTINIT_High       ///<  High to low.
-} nrf_gpiote_outinit_t;
-
-/**
- * @brief Tasks.
- */
-typedef enum /*lint -save -e30 -esym(628,__INTADDR__) */
-{
-    NRF_GPIOTE_TASKS_OUT_0     = offsetof(NRF_GPIOTE_Type, TASKS_OUT[0]), /**< Out task 0.*/
-    NRF_GPIOTE_TASKS_OUT_1     = offsetof(NRF_GPIOTE_Type, TASKS_OUT[1]), /**< Out task 1.*/
-    NRF_GPIOTE_TASKS_OUT_2     = offsetof(NRF_GPIOTE_Type, TASKS_OUT[2]), /**< Out task 2.*/
-    NRF_GPIOTE_TASKS_OUT_3     = offsetof(NRF_GPIOTE_Type, TASKS_OUT[3]), /**< Out task 3.*/
-#if (NUMBER_OF_GPIO_TE == 8)
-    NRF_GPIOTE_TASKS_OUT_4     = offsetof(NRF_GPIOTE_Type, TASKS_OUT[4]), /**< Out task 4.*/
-    NRF_GPIOTE_TASKS_OUT_5     = offsetof(NRF_GPIOTE_Type, TASKS_OUT[5]), /**< Out task 5.*/
-    NRF_GPIOTE_TASKS_OUT_6     = offsetof(NRF_GPIOTE_Type, TASKS_OUT[6]), /**< Out task 6.*/
-    NRF_GPIOTE_TASKS_OUT_7     = offsetof(NRF_GPIOTE_Type, TASKS_OUT[7]), /**< Out task 7.*/
-#endif
-#ifdef NRF52
-    NRF_GPIOTE_TASKS_SET_0     = offsetof(NRF_GPIOTE_Type, TASKS_SET[0]), /**< Set task 0.*/
-    NRF_GPIOTE_TASKS_SET_1     = offsetof(NRF_GPIOTE_Type, TASKS_SET[1]), /**< Set task 1.*/
-    NRF_GPIOTE_TASKS_SET_2     = offsetof(NRF_GPIOTE_Type, TASKS_SET[2]), /**< Set task 2.*/
-    NRF_GPIOTE_TASKS_SET_3     = offsetof(NRF_GPIOTE_Type, TASKS_SET[3]), /**< Set task 3.*/
-    NRF_GPIOTE_TASKS_SET_4     = offsetof(NRF_GPIOTE_Type, TASKS_SET[4]), /**< Set task 4.*/
-    NRF_GPIOTE_TASKS_SET_5     = offsetof(NRF_GPIOTE_Type, TASKS_SET[5]), /**< Set task 5.*/
-    NRF_GPIOTE_TASKS_SET_6     = offsetof(NRF_GPIOTE_Type, TASKS_SET[6]), /**< Set task 6.*/
-    NRF_GPIOTE_TASKS_SET_7     = offsetof(NRF_GPIOTE_Type, TASKS_SET[7]), /**< Set task 7.*/
-    NRF_GPIOTE_TASKS_CLR_0     = offsetof(NRF_GPIOTE_Type, TASKS_CLR[0]), /**< Clear task 0.*/
-    NRF_GPIOTE_TASKS_CLR_1     = offsetof(NRF_GPIOTE_Type, TASKS_CLR[1]), /**< Clear task 1.*/
-    NRF_GPIOTE_TASKS_CLR_2     = offsetof(NRF_GPIOTE_Type, TASKS_CLR[2]), /**< Clear task 2.*/
-    NRF_GPIOTE_TASKS_CLR_3     = offsetof(NRF_GPIOTE_Type, TASKS_CLR[3]), /**< Clear task 3.*/
-    NRF_GPIOTE_TASKS_CLR_4     = offsetof(NRF_GPIOTE_Type, TASKS_CLR[4]), /**< Clear task 4.*/
-    NRF_GPIOTE_TASKS_CLR_5     = offsetof(NRF_GPIOTE_Type, TASKS_CLR[5]), /**< Clear task 5.*/
-    NRF_GPIOTE_TASKS_CLR_6     = offsetof(NRF_GPIOTE_Type, TASKS_CLR[6]), /**< Clear task 6.*/
-    NRF_GPIOTE_TASKS_CLR_7     = offsetof(NRF_GPIOTE_Type, TASKS_CLR[7]), /**< Clear task 7.*/
-#endif
-    /*lint -restore*/
-} nrf_gpiote_tasks_t;
-
-/**
- * @brief Events.
- */
-typedef enum /*lint -save -e30 -esym(628,__INTADDR__) */
-{
-    NRF_GPIOTE_EVENTS_IN_0     = offsetof(NRF_GPIOTE_Type, EVENTS_IN[0]), /**< In event 0.*/
-    NRF_GPIOTE_EVENTS_IN_1     = offsetof(NRF_GPIOTE_Type, EVENTS_IN[1]), /**< In event 1.*/
-    NRF_GPIOTE_EVENTS_IN_2     = offsetof(NRF_GPIOTE_Type, EVENTS_IN[2]), /**< In event 2.*/
-    NRF_GPIOTE_EVENTS_IN_3     = offsetof(NRF_GPIOTE_Type, EVENTS_IN[3]), /**< In event 3.*/
-#if (NUMBER_OF_GPIO_TE == 8)
-    NRF_GPIOTE_EVENTS_IN_4     = offsetof(NRF_GPIOTE_Type, EVENTS_IN[4]), /**< In event 4.*/
-    NRF_GPIOTE_EVENTS_IN_5     = offsetof(NRF_GPIOTE_Type, EVENTS_IN[5]), /**< In event 5.*/
-    NRF_GPIOTE_EVENTS_IN_6     = offsetof(NRF_GPIOTE_Type, EVENTS_IN[6]), /**< In event 6.*/
-    NRF_GPIOTE_EVENTS_IN_7     = offsetof(NRF_GPIOTE_Type, EVENTS_IN[7]), /**< In event 7.*/
-#endif
-    NRF_GPIOTE_EVENTS_PORT     = offsetof(NRF_GPIOTE_Type, EVENTS_PORT), /**<  Port event.*/
-    /*lint -restore*/
-} nrf_gpiote_events_t;
-
-/**
- * @enum nrf_gpiote_int_t
- * @brief GPIOTE interrupts.
- */
-typedef enum
-{
-    NRF_GPIOTE_INT_IN0_MASK  = GPIOTE_INTENSET_IN0_Msk,  /**< GPIOTE interrupt from IN0. */
-    NRF_GPIOTE_INT_IN1_MASK  = GPIOTE_INTENSET_IN1_Msk,  /**< GPIOTE interrupt from IN1. */
-    NRF_GPIOTE_INT_IN2_MASK  = GPIOTE_INTENSET_IN2_Msk,  /**< GPIOTE interrupt from IN2. */
-    NRF_GPIOTE_INT_IN3_MASK  = GPIOTE_INTENSET_IN3_Msk,  /**< GPIOTE interrupt from IN3. */
-#if (NUMBER_OF_GPIO_TE == 8)
-    NRF_GPIOTE_INT_IN4_MASK  = GPIOTE_INTENSET_IN4_Msk,  /**< GPIOTE interrupt from IN4. */
-    NRF_GPIOTE_INT_IN5_MASK  = GPIOTE_INTENSET_IN5_Msk,  /**< GPIOTE interrupt from IN5. */
-    NRF_GPIOTE_INT_IN6_MASK  = GPIOTE_INTENSET_IN6_Msk,  /**< GPIOTE interrupt from IN6. */
-    NRF_GPIOTE_INT_IN7_MASK  = GPIOTE_INTENSET_IN7_Msk,  /**< GPIOTE interrupt from IN7. */
-#endif
-    NRF_GPIOTE_INT_PORT_MASK = (int)GPIOTE_INTENSET_PORT_Msk, /**< GPIOTE interrupt from PORT event. */
-} nrf_gpiote_int_t;
-
-#if (NUMBER_OF_GPIO_TE == 4)
-#define NRF_GPIOTE_INT_IN_MASK (NRF_GPIOTE_INT_IN0_MASK | NRF_GPIOTE_INT_IN1_MASK |\
-                                NRF_GPIOTE_INT_IN2_MASK | NRF_GPIOTE_INT_IN3_MASK)
-#elif (NUMBER_OF_GPIO_TE == 8)
-#define NRF_GPIOTE_INT_IN_MASK (NRF_GPIOTE_INT_IN0_MASK | NRF_GPIOTE_INT_IN1_MASK |\
-                                NRF_GPIOTE_INT_IN2_MASK | NRF_GPIOTE_INT_IN3_MASK |\
-                                NRF_GPIOTE_INT_IN4_MASK | NRF_GPIOTE_INT_IN5_MASK |\
-                                NRF_GPIOTE_INT_IN6_MASK | NRF_GPIOTE_INT_IN7_MASK)
-#else
-#error "Unexpected number of GPIO Tasks and Events"
-#endif
-/**
- * @brief Function for activating a specific GPIOTE task.
- *
- * @param[in]  task Task.
- */
-__STATIC_INLINE void nrf_gpiote_task_set(nrf_gpiote_tasks_t task);
-
-/**
- * @brief Function for getting the address of a specific GPIOTE task.
- *
- * @param[in] task Task.
- *
- * @returns Address.
- */
-__STATIC_INLINE uint32_t nrf_gpiote_task_addr_get(nrf_gpiote_tasks_t task);
-
-/**
- * @brief Function for getting the state of a specific GPIOTE event.
- *
- * @param[in] event Event.
- */
-__STATIC_INLINE bool nrf_gpiote_event_is_set(nrf_gpiote_events_t event);
-
-/**
- * @brief Function for clearing a specific GPIOTE event.
- *
- * @param[in] event Event.
- */
-__STATIC_INLINE void nrf_gpiote_event_clear(nrf_gpiote_events_t event);
-
-/**
- * @brief Function for getting the address of a specific GPIOTE event.
- *
- * @param[in] event Event.
- *
- * @return Address
- */
-__STATIC_INLINE uint32_t nrf_gpiote_event_addr_get(nrf_gpiote_events_t event);
-
-/**@brief Function for enabling interrupts.
- *
- * @param[in]  mask          Interrupt mask to be enabled.
- */
-__STATIC_INLINE void nrf_gpiote_int_enable(uint32_t mask);
-
-/**@brief Function for disabling interrupts.
- *
- * @param[in]  mask          Interrupt mask to be disabled.
- */
-__STATIC_INLINE void nrf_gpiote_int_disable(uint32_t mask);
-
-/**@brief Function for checking if interrupts are enabled.
- *
- * @param[in]  mask          Mask of interrupt flags to check.
- *
- * @return                   Mask with enabled interrupts.
- */
-__STATIC_INLINE uint32_t nrf_gpiote_int_is_enabled(uint32_t mask);
-
-/**@brief Function for enabling a GPIOTE event.
- *
- * @param[in]  idx        Task-Event index.
- */
-__STATIC_INLINE void nrf_gpiote_event_enable(uint32_t idx);
-
-/**@brief Function for disabling a GPIOTE event.
- *
- * @param[in]  idx        Task-Event index.
- */
-__STATIC_INLINE void nrf_gpiote_event_disable(uint32_t idx);
-
-/**@brief Function for configuring a GPIOTE event.
- *
- * @param[in]  idx        Task-Event index.
- * @param[in]  pin        Pin associated with event.
- * @param[in]  polarity   Transition that should generate an event.
- */
-__STATIC_INLINE void nrf_gpiote_event_configure(uint32_t idx, uint32_t pin,
-                                                nrf_gpiote_polarity_t polarity);
-
-/**@brief Function for getting the pin associated with a GPIOTE event.
- *
- * @param[in]  idx        Task-Event index.
- *
- * @return Pin number.
- */
-__STATIC_INLINE uint32_t nrf_gpiote_event_pin_get(uint32_t idx);
-
-/**@brief Function for getting the polarity associated with a GPIOTE event.
- *
- * @param[in]  idx        Task-Event index.
- *
- * @return Polarity.
- */
-__STATIC_INLINE nrf_gpiote_polarity_t nrf_gpiote_event_polarity_get(uint32_t idx);
-
-/**@brief Function for enabling a GPIOTE task.
- *
- * @param[in]  idx        Task-Event index.
- */
-__STATIC_INLINE void nrf_gpiote_task_enable(uint32_t idx);
-
-/**@brief Function for disabling a GPIOTE task.
- *
- * @param[in]  idx        Task-Event index.
- */
-__STATIC_INLINE void nrf_gpiote_task_disable(uint32_t idx);
-
-/**@brief Function for configuring a GPIOTE task.
- * @note  Function is not configuring mode field so task is disabled after this function is called.
- *
- * @param[in]  idx        Task-Event index.
- * @param[in]  pin        Pin associated with event.
- * @param[in]  polarity   Transition that should generate an event.
- * @param[in]  init_val   Initial value of pin.
- */
-__STATIC_INLINE void nrf_gpiote_task_configure(uint32_t idx, uint32_t pin,
-                                               nrf_gpiote_polarity_t polarity,
-                                               nrf_gpiote_outinit_t  init_val);
-
-/**@brief Function for forcing a specific state on the pin connected to GPIOTE.
- *
- * @param[in]  idx        Task-Event index.
- * @param[in]  init_val   Pin state.
- */
-__STATIC_INLINE void nrf_gpiote_task_force(uint32_t idx, nrf_gpiote_outinit_t init_val);
-
-/**@brief Function for resetting a GPIOTE task event configuration to the default state.
- *
- * @param[in]  idx        Task-Event index.
- */
-__STATIC_INLINE void nrf_gpiote_te_default(uint32_t idx);
-
-#ifndef SUPPRESS_INLINE_IMPLEMENTATION
-__STATIC_INLINE void nrf_gpiote_task_set(nrf_gpiote_tasks_t task)
-{
-    *(__IO uint32_t *)((uint32_t)NRF_GPIOTE + task) = 0x1UL;
-}
-
-__STATIC_INLINE uint32_t nrf_gpiote_task_addr_get(nrf_gpiote_tasks_t task)
-{
-    return ((uint32_t)NRF_GPIOTE + task);
-}
-
-__STATIC_INLINE bool nrf_gpiote_event_is_set(nrf_gpiote_events_t event)
-{
-    return (*(uint32_t *)nrf_gpiote_event_addr_get(event) == 0x1UL) ? true : false;
-}
-
-__STATIC_INLINE void nrf_gpiote_event_clear(nrf_gpiote_events_t event)
-{
-    *(uint32_t *)nrf_gpiote_event_addr_get(event) = 0;
-#if __CORTEX_M == 0x04
-    volatile uint32_t dummy = *((volatile uint32_t *)nrf_gpiote_event_addr_get(event));
-    (void)dummy;
-#endif
-}
-
-__STATIC_INLINE uint32_t nrf_gpiote_event_addr_get(nrf_gpiote_events_t event)
-{
-    return ((uint32_t)NRF_GPIOTE + event);
-}
-
-__STATIC_INLINE void nrf_gpiote_int_enable(uint32_t mask)
-{
-    NRF_GPIOTE->INTENSET = mask;
-}
-
-__STATIC_INLINE void nrf_gpiote_int_disable(uint32_t mask)
-{
-    NRF_GPIOTE->INTENCLR = mask;
-}
-
-__STATIC_INLINE uint32_t nrf_gpiote_int_is_enabled(uint32_t mask)
-{
-    return (NRF_GPIOTE->INTENSET & mask);
-}
-
-__STATIC_INLINE void nrf_gpiote_event_enable(uint32_t idx)
-{
-   NRF_GPIOTE->CONFIG[idx] |= GPIOTE_CONFIG_MODE_Event;
-}
-
-__STATIC_INLINE void nrf_gpiote_event_disable(uint32_t idx)
-{
-   NRF_GPIOTE->CONFIG[idx] &= ~GPIOTE_CONFIG_MODE_Event;
-}
-
-__STATIC_INLINE void nrf_gpiote_event_configure(uint32_t idx, uint32_t pin, nrf_gpiote_polarity_t polarity)
-{
-  NRF_GPIOTE->CONFIG[idx] &= ~(GPIOTE_CONFIG_PSEL_Msk | GPIOTE_CONFIG_POLARITY_Msk);
-  NRF_GPIOTE->CONFIG[idx] |= ((pin << GPIOTE_CONFIG_PSEL_Pos) & GPIOTE_CONFIG_PSEL_Msk) |
-                              ((polarity << GPIOTE_CONFIG_POLARITY_Pos) & GPIOTE_CONFIG_POLARITY_Msk);
-}
-
-__STATIC_INLINE uint32_t nrf_gpiote_event_pin_get(uint32_t idx)
-{
-    return ((NRF_GPIOTE->CONFIG[idx] & GPIOTE_CONFIG_PSEL_Msk) >> GPIOTE_CONFIG_PSEL_Pos);
-}
-
-__STATIC_INLINE nrf_gpiote_polarity_t nrf_gpiote_event_polarity_get(uint32_t idx)
-{
-    return (nrf_gpiote_polarity_t)((NRF_GPIOTE->CONFIG[idx] & GPIOTE_CONFIG_POLARITY_Msk) >> GPIOTE_CONFIG_POLARITY_Pos);
-}
-
-__STATIC_INLINE void nrf_gpiote_task_enable(uint32_t idx)
-{
-    uint32_t final_config = NRF_GPIOTE->CONFIG[idx] | GPIOTE_CONFIG_MODE_Task;
-    /* Workaround for the OUTINIT PAN. When nrf_gpiote_task_config() is called a glitch happens
-    on the GPIO if the GPIO in question is already assigned to GPIOTE and the pin is in the
-    correct state in GPIOTE but not in the OUT register. */
-    /* Configure channel to Pin31, not connected to the pin, and configure as a tasks that will set it to proper level */
-    NRF_GPIOTE->CONFIG[idx] = final_config | ((31 << GPIOTE_CONFIG_PSEL_Pos) & GPIOTE_CONFIG_PSEL_Msk);
-    __NOP();
-    __NOP();
-    __NOP();
-    NRF_GPIOTE->CONFIG[idx] = final_config;
-}
-
-__STATIC_INLINE void nrf_gpiote_task_disable(uint32_t idx)
-{
-    NRF_GPIOTE->CONFIG[idx] &= ~GPIOTE_CONFIG_MODE_Task;
-}
-
-__STATIC_INLINE void nrf_gpiote_task_configure(uint32_t idx, uint32_t pin,
-                                                nrf_gpiote_polarity_t polarity,
-                                                nrf_gpiote_outinit_t  init_val)
-{
-  NRF_GPIOTE->CONFIG[idx] &= ~(GPIOTE_CONFIG_PSEL_Msk |
-                               GPIOTE_CONFIG_POLARITY_Msk |
-                               GPIOTE_CONFIG_OUTINIT_Msk);
-
-  NRF_GPIOTE->CONFIG[idx] |= ((pin << GPIOTE_CONFIG_PSEL_Pos) & GPIOTE_CONFIG_PSEL_Msk) |
-                             ((polarity << GPIOTE_CONFIG_POLARITY_Pos) & GPIOTE_CONFIG_POLARITY_Msk) |
-                             ((init_val << GPIOTE_CONFIG_OUTINIT_Pos) & GPIOTE_CONFIG_OUTINIT_Msk);
-}
-
-__STATIC_INLINE void nrf_gpiote_task_force(uint32_t idx, nrf_gpiote_outinit_t init_val)
-{
-    NRF_GPIOTE->CONFIG[idx] = (NRF_GPIOTE->CONFIG[idx] & ~GPIOTE_CONFIG_OUTINIT_Msk) 
-                              | ((init_val << GPIOTE_CONFIG_OUTINIT_Pos) & GPIOTE_CONFIG_OUTINIT_Msk);
-}
-
-__STATIC_INLINE void nrf_gpiote_te_default(uint32_t idx)
-{
-    NRF_GPIOTE->CONFIG[idx] = 0;
-}
-#endif //SUPPRESS_INLINE_IMPLEMENTATION
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/a1481cb2/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_i2s.h
----------------------------------------------------------------------
diff --git a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_i2s.h b/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_i2s.h
deleted file mode 100644
index 2dca3a2..0000000
--- a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_i2s.h
+++ /dev/null
@@ -1,531 +0,0 @@
-/* Copyright (c) 2015 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is property of Nordic Semiconductor ASA.
- * Terms and conditions of usage are described in detail in NORDIC
- * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
- *
- * Licensees are granted free, non-transferable use of the information. NO
- * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
- * the file.
- *
- */
-
-/**
- * @defgroup nrf_i2s_hal I2S HAL
- * @{
- * @ingroup nrf_i2s
- *
- * @brief @tagAPI52 Hardware access layer for managing the Inter-IC Sound (I2S) peripheral.
- */
-
-#ifndef NRF_I2S_H__
-#define NRF_I2S_H__
-
-#include <stddef.h>
-#include <stdbool.h>
-#include <stdint.h>
-
-#include "nrf.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief This value can be provided as a parameter for the @ref nrf_i2s_pins_set
- *        function call to specify that a given I2S signal (SDOUT, SDIN, or MCK)
- *        shall not be connected to a physical pin.
- */
-#define NRF_I2S_PIN_NOT_CONNECTED  0xFFFFFFFF
-
-
-/**
- * @brief I2S tasks.
- */
-typedef enum
-{
-    /*lint -save -e30*/
-    NRF_I2S_TASK_START = offsetof(NRF_I2S_Type, TASKS_START), ///< Starts continuous I2S transfer. Also starts the MCK generator if this is enabled.
-    NRF_I2S_TASK_STOP  = offsetof(NRF_I2S_Type, TASKS_STOP)   ///< Stops I2S transfer. Also stops the MCK generator.
-    /*lint -restore*/
-} nrf_i2s_task_t;
-
-/**
- * @brief I2S events.
- */
-typedef enum
-{
-    /*lint -save -e30*/
-    NRF_I2S_EVENT_RXPTRUPD = offsetof(NRF_I2S_Type, EVENTS_RXPTRUPD), ///< The RXD.PTR register has been copied to internal double-buffers.
-    NRF_I2S_EVENT_TXPTRUPD = offsetof(NRF_I2S_Type, EVENTS_TXPTRUPD), ///< The TXD.PTR register has been copied to internal double-buffers.
-    NRF_I2S_EVENT_STOPPED  = offsetof(NRF_I2S_Type, EVENTS_STOPPED)   ///< I2S transfer stopped.
-    /*lint -restore*/
-} nrf_i2s_event_t;
-
-/**
- * @brief I2S interrupts.
- */
-typedef enum
-{
-    NRF_I2S_INT_RXPTRUPD_MASK = I2S_INTENSET_RXPTRUPD_Msk, ///< Interrupt on RXPTRUPD event.
-    NRF_I2S_INT_TXPTRUPD_MASK = I2S_INTENSET_TXPTRUPD_Msk, ///< Interrupt on TXPTRUPD event.
-    NRF_I2S_INT_STOPPED_MASK  = I2S_INTENSET_STOPPED_Msk   ///< Interrupt on STOPPED event.
-} nrf_i2s_int_mask_t;
-
-/**
- * @brief I2S modes of operation.
- */
-typedef enum
-{
-    NRF_I2S_MODE_MASTER = I2S_CONFIG_MODE_MODE_Master, ///< Master mode.
-    NRF_I2S_MODE_SLAVE  = I2S_CONFIG_MODE_MODE_Slave   ///< Slave mode.
-} nrf_i2s_mode_t;
-
-/**
- * @brief I2S master clock generator settings.
- */
-typedef enum
-{
-    NRF_I2S_MCK_DISABLED  = 0,                                       ///< MCK disabled.
-    // [conversion to 'int' needed to prevent compilers from complaining
-    //  that the provided value (0x80000000UL) is out of range of "int"]
-    NRF_I2S_MCK_32MDIV2   = (int)I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV2, ///< 32 MHz / 2 = 16.0 MHz.
-    NRF_I2S_MCK_32MDIV3   = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV3,      ///< 32 MHz / 3 = 10.6666667 MHz.
-    NRF_I2S_MCK_32MDIV4   = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV4,      ///< 32 MHz / 4 = 8.0 MHz.
-    NRF_I2S_MCK_32MDIV5   = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV5,      ///< 32 MHz / 5 = 6.4 MHz.
-    NRF_I2S_MCK_32MDIV6   = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV6,      ///< 32 MHz / 6 = 5.3333333 MHz.
-    NRF_I2S_MCK_32MDIV8   = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV8,      ///< 32 MHz / 8 = 4.0 MHz.
-    NRF_I2S_MCK_32MDIV10  = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV10,     ///< 32 MHz / 10 = 3.2 MHz.
-    NRF_I2S_MCK_32MDIV11  = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV11,     ///< 32 MHz / 11 = 2.9090909 MHz.
-    NRF_I2S_MCK_32MDIV15  = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV15,     ///< 32 MHz / 15 = 2.1333333 MHz.
-    NRF_I2S_MCK_32MDIV16  = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV16,     ///< 32 MHz / 16 = 2.0 MHz.
-    NRF_I2S_MCK_32MDIV21  = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV21,     ///< 32 MHz / 21 = 1.5238095 MHz.
-    NRF_I2S_MCK_32MDIV23  = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV23,     ///< 32 MHz / 23 = 1.3913043 MHz.
-    NRF_I2S_MCK_32MDIV31  = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV31,     ///< 32 MHz / 31 = 1.0322581 MHz.
-    NRF_I2S_MCK_32MDIV42  = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV42,     ///< 32 MHz / 42 = 0.7619048 MHz.
-    NRF_I2S_MCK_32MDIV63  = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV63,     ///< 32 MHz / 63 = 0.5079365 MHz.
-    NRF_I2S_MCK_32MDIV125 = I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV125     ///< 32 MHz / 125 = 0.256 MHz.
-} nrf_i2s_mck_t;
-
-/**
- * @brief I2S MCK/LRCK ratios.
- */
-typedef enum
-{
-    NRF_I2S_RATIO_32X  = I2S_CONFIG_RATIO_RATIO_32X,  ///< LRCK = MCK / 32.
-    NRF_I2S_RATIO_48X  = I2S_CONFIG_RATIO_RATIO_48X,  ///< LRCK = MCK / 48.
-    NRF_I2S_RATIO_64X  = I2S_CONFIG_RATIO_RATIO_64X,  ///< LRCK = MCK / 64.
-    NRF_I2S_RATIO_96X  = I2S_CONFIG_RATIO_RATIO_96X,  ///< LRCK = MCK / 96.
-    NRF_I2S_RATIO_128X = I2S_CONFIG_RATIO_RATIO_128X, ///< LRCK = MCK / 128.
-    NRF_I2S_RATIO_192X = I2S_CONFIG_RATIO_RATIO_192X, ///< LRCK = MCK / 192.
-    NRF_I2S_RATIO_256X = I2S_CONFIG_RATIO_RATIO_256X, ///< LRCK = MCK / 256.
-    NRF_I2S_RATIO_384X = I2S_CONFIG_RATIO_RATIO_384X, ///< LRCK = MCK / 384.
-    NRF_I2S_RATIO_512X = I2S_CONFIG_RATIO_RATIO_512X  ///< LRCK = MCK / 512.
-} nrf_i2s_ratio_t;
-
-/**
- * @brief I2S sample widths.
- */
-typedef enum
-{
-    NRF_I2S_SWIDTH_8BIT  = I2S_CONFIG_SWIDTH_SWIDTH_8Bit,  ///< 8 bit.
-    NRF_I2S_SWIDTH_16BIT = I2S_CONFIG_SWIDTH_SWIDTH_16Bit, ///< 16 bit.
-    NRF_I2S_SWIDTH_24BIT = I2S_CONFIG_SWIDTH_SWIDTH_24Bit  ///< 24 bit.
-} nrf_i2s_swidth_t;
-
-/**
- * @brief I2S alignments of sample within a frame.
- */
-typedef enum
-{
-    NRF_I2S_ALIGN_LEFT  = I2S_CONFIG_ALIGN_ALIGN_Left, ///< Left-aligned.
-    NRF_I2S_ALIGN_RIGHT = I2S_CONFIG_ALIGN_ALIGN_Right ///< Right-aligned.
-} nrf_i2s_align_t;
-
-/**
- * @brief I2S frame formats.
- */
-typedef enum
-{
-    NRF_I2S_FORMAT_I2S     = I2S_CONFIG_FORMAT_FORMAT_I2S,    ///< Original I2S format.
-    NRF_I2S_FORMAT_ALIGNED = I2S_CONFIG_FORMAT_FORMAT_Aligned ///< Alternate (left- or right-aligned) format.
-} nrf_i2s_format_t;
-
-/**
- * @brief I2S enabled channels.
- */
-typedef enum
-{
-    NRF_I2S_CHANNELS_STEREO = I2S_CONFIG_CHANNELS_CHANNELS_Stereo, ///< Stereo.
-    NRF_I2S_CHANNELS_LEFT   = I2S_CONFIG_CHANNELS_CHANNELS_Left,   ///< Left only.
-    NRF_I2S_CHANNELS_RIGHT  = I2S_CONFIG_CHANNELS_CHANNELS_Right   ///< Right only.
-} nrf_i2s_channels_t;
-
-
-/**
- * @brief Function for activating a specific I2S task.
- *
- * @param[in] p_i2s I2S instance.
- * @param[in] task  Task to activate.
- */
-__STATIC_INLINE void nrf_i2s_task_trigger(NRF_I2S_Type * p_i2s,
-                                          nrf_i2s_task_t task);
-
-/**
- * @brief Function for getting the address of a specific I2S task register.
- *
- * @param[in] p_i2s I2S instance.
- * @param[in] task  Requested task.
- *
- * @return Address of the specified task register.
- */
-__STATIC_INLINE uint32_t nrf_i2s_task_address_get(NRF_I2S_Type const * p_i2s,
-                                                  nrf_i2s_task_t task);
-
-/**
- * @brief Function for clearing a specific I2S event.
- *
- * @param[in] p_i2s I2S instance.
- * @param[in] event Event to clear.
- */
-__STATIC_INLINE void nrf_i2s_event_clear(NRF_I2S_Type * p_i2s,
-                                         nrf_i2s_event_t event);
-
-/**
- * @brief Function for checking the state of a specific I2S event.
- *
- * @param[in] p_i2s I2S instance.
- * @param[in] event Event to check.
- *
- * @retval true  If the event is set.
- * @retval false If the event is not set.
- */
-__STATIC_INLINE bool nrf_i2s_event_check(NRF_I2S_Type const * p_i2s,
-                                         nrf_i2s_event_t event);
-
-/**
- * @brief Function for getting the address of a specific I2S event register.
- *
- * @param[in] p_i2s I2S instance.
- * @param[in] event Requested event.
- *
- * @return Address of the specified event register.
- */
-__STATIC_INLINE uint32_t nrf_i2s_event_address_get(NRF_I2S_Type const * p_i2s,
-                                                   nrf_i2s_event_t event);
-
-/**
- * @brief Function for enabling specified interrupts.
- *
- * @param[in] p_i2s I2S instance.
- * @param[in] mask  Interrupts to enable.
- */
-__STATIC_INLINE void nrf_i2s_int_enable(NRF_I2S_Type * p_i2s, uint32_t mask);
-
-/**
- * @brief Function for disabling specified interrupts.
- *
- * @param[in] p_i2s I2S instance.
- * @param[in] mask  Interrupts to disable.
- */
-__STATIC_INLINE void nrf_i2s_int_disable(NRF_I2S_Type * p_i2s, uint32_t mask);
-
-/**
- * @brief Function for retrieving the state of a given interrupt.
- *
- * @param[in] p_i2s   I2S instance.
- * @param[in] i2s_int Interrupt to check.
- *
- * @retval true  If the interrupt is enabled.
- * @retval false If the interrupt is not enabled.
- */
-__STATIC_INLINE bool nrf_i2s_int_enable_check(NRF_I2S_Type const * p_i2s,
-                                              nrf_i2s_int_mask_t i2s_int);
-
-/**
- * @brief Function for enabling the I2S peripheral.
- *
- * @param[in] p_i2s I2S instance.
- */
-__STATIC_INLINE void nrf_i2s_enable(NRF_I2S_Type * p_i2s);
-
-/**
- * @brief Function for disabling the I2S peripheral.
- *
- * @param[in] p_i2s I2S instance.
- */
-__STATIC_INLINE void nrf_i2s_disable(NRF_I2S_Type * p_i2s);
-
-/**
- * @brief Function for configuring I2S pins.
- *
- * Usage of the SDOUT, SDIN, and MCK signals is optional.
- * If a given signal is not needed, pass the @ref NRF_I2S_PIN_NOT_CONNECTED
- * value instead of its pin number.
- *
- * @param[in] p_i2s     I2S instance.
- * @param[in] sck_pin   SCK pin number.
- * @param[in] lrck_pin  LRCK pin number.
- * @param[in] mck_pin   MCK pin number.
- * @param[in] sdout_pin SDOUT pin number.
- * @param[in] sdin_pin  SDIN pin number.
- */
-__STATIC_INLINE void nrf_i2s_pins_set(NRF_I2S_Type * p_i2s,
-                                      uint32_t sck_pin,
-                                      uint32_t lrck_pin,
-                                      uint32_t mck_pin,
-                                      uint32_t sdout_pin,
-                                      uint32_t sdin_pin);
-
-/**
- * @brief Function for setting the I2S peripheral configuration.
- *
- * @param[in] p_i2s        I2S instance.
- * @param[in] mode         Mode of operation (master or slave).
- * @param[in] format       I2S frame format.
- * @param[in] alignment    Alignment of sample within a frame.
- * @param[in] sample_width Sample width.
- * @param[in] channels     Enabled channels.
- * @param[in] mck_setup    Master clock generator setup.
- * @param[in] ratio        MCK/LRCK ratio.
- *
- * @retval true  If the configuration has been set successfully.
- * @retval false If the requested configuration is not allowed.
- */
-__STATIC_INLINE bool nrf_i2s_configure(NRF_I2S_Type * p_i2s,
-                                       nrf_i2s_mode_t     mode,
-                                       nrf_i2s_format_t   format,
-                                       nrf_i2s_align_t    alignment,
-                                       nrf_i2s_swidth_t   sample_width,
-                                       nrf_i2s_channels_t channels,
-                                       nrf_i2s_mck_t      mck_setup,
-                                       nrf_i2s_ratio_t    ratio);
-
-/**
- * @brief Function for setting up the I2S transfer.
- *
- * This function sets up the RX and TX buffers and enables reception and/or
- * transmission accordingly. If the transfer in a given direction is not
- * required, pass NULL instead of the pointer to the corresponding buffer.
- *
- * @param[in] p_i2s       I2S instance.
- * @param[in] size        Size of the buffers (in 32-bit words).
- * @param[in] p_rx_buffer Pointer to the receive buffer.
- *                        Pass NULL to disable reception.
- * @param[in] p_tx_buffer Pointer to the transmit buffer.
- *                        Pass NULL to disable transmission.
- */
-__STATIC_INLINE void nrf_i2s_transfer_set(NRF_I2S_Type * p_i2s,
-                                          uint16_t         size,
-                                          uint32_t *       p_rx_buffer,
-                                          uint32_t const * p_tx_buffer);
-
-/**
- * @brief Function for setting the pointer to the receive buffer.
- *
- * @note The size of the buffer can be set only by calling
- *       @ref nrf_i2s_transfer_set.
- *
- * @param[in] p_i2s    I2S instance.
- * @param[in] p_buffer Pointer to the receive buffer.
- */
-__STATIC_INLINE void nrf_i2s_rx_buffer_set(NRF_I2S_Type * p_i2s,
-                                           uint32_t * p_buffer);
-
-/**
- * @brief Function for getting the pointer to the receive buffer.
- *
- * @param[in] p_i2s I2S instance.
- *
- * @return Pointer to the receive buffer.
- */
-__STATIC_INLINE uint32_t * nrf_i2s_rx_buffer_get(NRF_I2S_Type const * p_i2s);
-
-/**
- * @brief Function for setting the pointer to the transmit buffer.
- *
- * @note The size of the buffer can be set only by calling
- *       @ref nrf_i2s_transfer_set.
- *
- * @param[in] p_i2s    I2S instance.
- * @param[in] p_buffer Pointer to the transmit buffer.
- */
-__STATIC_INLINE void nrf_i2s_tx_buffer_set(NRF_I2S_Type * p_i2s,
-                                           uint32_t const * p_buffer);
-
-/**
- * @brief Function for getting the pointer to the transmit buffer.
- *
- * @param[in] p_i2s I2S instance.
- *
- * @return Pointer to the transmit buffer.
- */
-__STATIC_INLINE uint32_t * nrf_i2s_tx_buffer_get(NRF_I2S_Type const * p_i2s);
-
-
-#ifndef SUPPRESS_INLINE_IMPLEMENTATION
-
-__STATIC_INLINE void nrf_i2s_task_trigger(NRF_I2S_Type * p_i2s,
-                                          nrf_i2s_task_t task)
-{
-    *((volatile uint32_t *)((uint8_t *)p_i2s + (uint32_t)task)) = 0x1UL;
-}
-
-__STATIC_INLINE uint32_t nrf_i2s_task_address_get(NRF_I2S_Type const * p_i2s,
-                                                  nrf_i2s_task_t task)
-{
-    return ((uint32_t)p_i2s + (uint32_t)task);
-}
-
-__STATIC_INLINE void nrf_i2s_event_clear(NRF_I2S_Type * p_i2s,
-                                         nrf_i2s_event_t event)
-{
-    *((volatile uint32_t *)((uint8_t *)p_i2s + (uint32_t)event)) = 0x0UL;
-}
-
-__STATIC_INLINE bool nrf_i2s_event_check(NRF_I2S_Type const * p_i2s,
-                                         nrf_i2s_event_t event)
-{
-    return (bool)*(volatile uint32_t *)((uint8_t *)p_i2s + (uint32_t)event);
-}
-
-__STATIC_INLINE uint32_t nrf_i2s_event_address_get(NRF_I2S_Type const * p_i2s,
-                                                   nrf_i2s_event_t event)
-{
-    return ((uint32_t)p_i2s + (uint32_t)event);
-}
-
-__STATIC_INLINE void nrf_i2s_int_enable(NRF_I2S_Type * p_i2s, uint32_t mask)
-{
-    p_i2s->INTENSET = mask;
-}
-
-__STATIC_INLINE void nrf_i2s_int_disable(NRF_I2S_Type * p_i2s, uint32_t mask)
-{
-    p_i2s->INTENCLR = mask;
-}
-
-__STATIC_INLINE bool nrf_i2s_int_enable_check(NRF_I2S_Type const * p_i2s,
-                                              nrf_i2s_int_mask_t i2s_int)
-{
-    return (bool)(p_i2s->INTENSET & i2s_int);
-}
-
-__STATIC_INLINE void nrf_i2s_enable(NRF_I2S_Type * p_i2s)
-{
-    p_i2s->ENABLE = (I2S_ENABLE_ENABLE_Enabled << I2S_ENABLE_ENABLE_Pos);
-}
-
-__STATIC_INLINE void nrf_i2s_disable(NRF_I2S_Type * p_i2s)
-{
-    p_i2s->ENABLE = (I2S_ENABLE_ENABLE_Disabled << I2S_ENABLE_ENABLE_Pos);
-}
-
-__STATIC_INLINE void nrf_i2s_pins_set(NRF_I2S_Type * p_i2s,
-                                      uint32_t sck_pin,
-                                      uint32_t lrck_pin,
-                                      uint32_t mck_pin,
-                                      uint32_t sdout_pin,
-                                      uint32_t sdin_pin)
-{
-    p_i2s->PSEL.SCK   = sck_pin;
-    p_i2s->PSEL.LRCK  = lrck_pin;
-    p_i2s->PSEL.MCK   = mck_pin;
-    p_i2s->PSEL.SDOUT = sdout_pin;
-    p_i2s->PSEL.SDIN  = sdin_pin;
-}
-
-__STATIC_INLINE bool nrf_i2s_configure(NRF_I2S_Type * p_i2s,
-                                       nrf_i2s_mode_t     mode,
-                                       nrf_i2s_format_t   format,
-                                       nrf_i2s_align_t    alignment,
-                                       nrf_i2s_swidth_t   sample_width,
-                                       nrf_i2s_channels_t channels,
-                                       nrf_i2s_mck_t      mck_setup,
-                                       nrf_i2s_ratio_t    ratio)
-{
-    if (mode == NRF_I2S_MODE_MASTER)
-    {
-        // The MCK/LRCK ratio shall be a multiple of 2 * sample width.
-        if (((sample_width == NRF_I2S_SWIDTH_16BIT) &&
-                 (ratio == NRF_I2S_RATIO_48X))
-            ||
-            ((sample_width == NRF_I2S_SWIDTH_24BIT) &&
-                ((ratio == NRF_I2S_RATIO_32X)  ||
-                 (ratio == NRF_I2S_RATIO_64X)  ||
-                 (ratio == NRF_I2S_RATIO_128X) ||
-                 (ratio == NRF_I2S_RATIO_256X) ||
-                 (ratio == NRF_I2S_RATIO_512X))))
-        {
-            return false;
-        }
-    }
-
-    p_i2s->CONFIG.MODE     = mode;
-    p_i2s->CONFIG.FORMAT   = format;
-    p_i2s->CONFIG.ALIGN    = alignment;
-    p_i2s->CONFIG.SWIDTH   = sample_width;
-    p_i2s->CONFIG.CHANNELS = channels;
-    p_i2s->CONFIG.RATIO    = ratio;
-
-    if (mck_setup == NRF_I2S_MCK_DISABLED)
-    {
-        p_i2s->CONFIG.MCKEN =
-            (I2S_CONFIG_MCKEN_MCKEN_Disabled << I2S_CONFIG_MCKEN_MCKEN_Pos);
-    }
-    else
-    {
-        p_i2s->CONFIG.MCKFREQ = mck_setup;
-        p_i2s->CONFIG.MCKEN =
-            (I2S_CONFIG_MCKEN_MCKEN_Enabled << I2S_CONFIG_MCKEN_MCKEN_Pos);
-    }
-
-    return true;
-}
-
-__STATIC_INLINE void nrf_i2s_transfer_set(NRF_I2S_Type * p_i2s,
-                                          uint16_t         size,
-                                          uint32_t *       p_buffer_rx,
-                                          uint32_t const * p_buffer_tx)
-{
-    p_i2s->RXTXD.MAXCNT = size;
-
-    nrf_i2s_rx_buffer_set(p_i2s, p_buffer_rx);
-    p_i2s->CONFIG.RXEN = (p_buffer_rx != NULL) ? 1 : 0;
-
-    nrf_i2s_tx_buffer_set(p_i2s, p_buffer_tx);
-    p_i2s->CONFIG.TXEN = (p_buffer_tx != NULL) ? 1 : 0;
-}
-
-__STATIC_INLINE void nrf_i2s_rx_buffer_set(NRF_I2S_Type * p_i2s,
-                                           uint32_t * p_buffer)
-{
-    p_i2s->RXD.PTR = (uint32_t)p_buffer;
-}
-
-__STATIC_INLINE uint32_t * nrf_i2s_rx_buffer_get(NRF_I2S_Type const * p_i2s)
-{
-    return (uint32_t *)(p_i2s->RXD.PTR);
-}
-
-__STATIC_INLINE void nrf_i2s_tx_buffer_set(NRF_I2S_Type * p_i2s,
-                                           uint32_t const * p_buffer)
-{
-    p_i2s->TXD.PTR = (uint32_t)p_buffer;
-}
-
-__STATIC_INLINE uint32_t * nrf_i2s_tx_buffer_get(NRF_I2S_Type const * p_i2s)
-{
-    return (uint32_t *)(p_i2s->TXD.PTR);
-}
-
-#endif // SUPPRESS_INLINE_IMPLEMENTATION
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // NRF_I2S_H__
-
-/** @} */

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/a1481cb2/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_lpcomp.h
----------------------------------------------------------------------
diff --git a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_lpcomp.h b/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_lpcomp.h
deleted file mode 100644
index 7056dfb..0000000
--- a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_lpcomp.h
+++ /dev/null
@@ -1,375 +0,0 @@
-/* Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is property of Nordic Semiconductor ASA.
- * Terms and conditions of usage are described in detail in NORDIC
- * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
- *
- * Licensees are granted free, non-transferable use of the information. NO
- * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
- * the file.
- *  
- */
-
-/**
- * @file
- * @brief LPCOMP HAL API.
- */
-
-#ifndef NRF_LPCOMP_H_
-#define NRF_LPCOMP_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup nrf_lpcomp_hal LPCOMP HAL
- * @{
- * @ingroup nrf_lpcomp
- * @brief Hardware access layer for managing the Low Power Comparator (LPCOMP).
- */
-
-#include "nrf.h"
-
-#include <stdbool.h>
-#include <stddef.h>
-#include <stdint.h>
-
-/**
- * @enum nrf_lpcomp_ref_t
- * @brief LPCOMP reference selection.
- */
-typedef enum
-{
-#ifdef NRF51
-    NRF_LPCOMP_REF_SUPPLY_1_8   = LPCOMP_REFSEL_REFSEL_SupplyOneEighthPrescaling,    /**< Use supply with a 1/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_2_8   = LPCOMP_REFSEL_REFSEL_SupplyTwoEighthsPrescaling,   /**< Use supply with a 2/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_3_8   = LPCOMP_REFSEL_REFSEL_SupplyThreeEighthsPrescaling, /**< Use supply with a 3/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_4_8   = LPCOMP_REFSEL_REFSEL_SupplyFourEighthsPrescaling,  /**< Use supply with a 4/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_5_8   = LPCOMP_REFSEL_REFSEL_SupplyFiveEighthsPrescaling,  /**< Use supply with a 5/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_6_8   = LPCOMP_REFSEL_REFSEL_SupplySixEighthsPrescaling,   /**< Use supply with a 6/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_7_8   = LPCOMP_REFSEL_REFSEL_SupplySevenEighthsPrescaling, /**< Use supply with a 7/8 prescaler as reference. */
-#elif defined NRF52
-    NRF_LPCOMP_REF_SUPPLY_1_8   = LPCOMP_REFSEL_REFSEL_Ref1_8Vdd, /**< Use supply with a 1/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_2_8   = LPCOMP_REFSEL_REFSEL_Ref2_8Vdd, /**< Use supply with a 2/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_3_8   = LPCOMP_REFSEL_REFSEL_Ref3_8Vdd, /**< Use supply with a 3/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_4_8   = LPCOMP_REFSEL_REFSEL_Ref4_8Vdd, /**< Use supply with a 4/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_5_8   = LPCOMP_REFSEL_REFSEL_Ref5_8Vdd, /**< Use supply with a 5/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_6_8   = LPCOMP_REFSEL_REFSEL_Ref6_8Vdd, /**< Use supply with a 6/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_7_8   = LPCOMP_REFSEL_REFSEL_Ref7_8Vdd, /**< Use supply with a 7/8 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_1_16  = LPCOMP_REFSEL_REFSEL_Ref1_16Vdd, /**< Use supply with a 1/16 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_3_16  = LPCOMP_REFSEL_REFSEL_Ref1_16Vdd, /**< Use supply with a 3/16 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_5_16  = LPCOMP_REFSEL_REFSEL_Ref1_16Vdd, /**< Use supply with a 5/16 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_7_16  = LPCOMP_REFSEL_REFSEL_Ref1_16Vdd, /**< Use supply with a 7/16 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_9_16  = LPCOMP_REFSEL_REFSEL_Ref1_16Vdd, /**< Use supply with a 9/16 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_11_16 = LPCOMP_REFSEL_REFSEL_Ref1_16Vdd, /**< Use supply with a 11/16 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_13_16 = LPCOMP_REFSEL_REFSEL_Ref1_16Vdd, /**< Use supply with a 13/16 prescaler as reference. */
-    NRF_LPCOMP_REF_SUPPLY_15_16 = LPCOMP_REFSEL_REFSEL_Ref1_16Vdd, /**< Use supply with a 15/16 prescaler as reference. */
-#endif
-    NRF_LPCOMP_REF_EXT_REF0        = LPCOMP_REFSEL_REFSEL_ARef |
-                       (LPCOMP_EXTREFSEL_EXTREFSEL_AnalogReference0 << 16), /**< External reference 0. */
-    NRF_LPCOMP_CONFIG_REF_EXT_REF1 = LPCOMP_REFSEL_REFSEL_ARef |
-                        (LPCOMP_EXTREFSEL_EXTREFSEL_AnalogReference1 << 16), /**< External reference 1. */
-} nrf_lpcomp_ref_t;
-
-/**
- * @enum nrf_lpcomp_input_t
- * @brief LPCOMP input selection.
- */
-typedef enum
-{
-    NRF_LPCOMP_INPUT_0 = LPCOMP_PSEL_PSEL_AnalogInput0, /**< Input 0. */
-    NRF_LPCOMP_INPUT_1 = LPCOMP_PSEL_PSEL_AnalogInput1, /**< Input 1. */
-    NRF_LPCOMP_INPUT_2 = LPCOMP_PSEL_PSEL_AnalogInput2, /**< Input 2. */
-    NRF_LPCOMP_INPUT_3 = LPCOMP_PSEL_PSEL_AnalogInput3, /**< Input 3. */
-    NRF_LPCOMP_INPUT_4 = LPCOMP_PSEL_PSEL_AnalogInput4, /**< Input 4. */
-    NRF_LPCOMP_INPUT_5 = LPCOMP_PSEL_PSEL_AnalogInput5, /**< Input 5. */
-    NRF_LPCOMP_INPUT_6 = LPCOMP_PSEL_PSEL_AnalogInput6, /**< Input 6. */
-    NRF_LPCOMP_INPUT_7 = LPCOMP_PSEL_PSEL_AnalogInput7  /**< Input 7. */
-} nrf_lpcomp_input_t;
-
-/**
- * @enum nrf_lpcomp_detect_t
- * @brief LPCOMP detection type selection.
- */
-typedef enum
-{
-    NRF_LPCOMP_DETECT_CROSS = LPCOMP_ANADETECT_ANADETECT_Cross, /**< Generate ANADETEC on crossing, both upwards and downwards crossing. */
-    NRF_LPCOMP_DETECT_UP    = LPCOMP_ANADETECT_ANADETECT_Up,    /**< Generate ANADETEC on upwards crossing only. */
-    NRF_LPCOMP_DETECT_DOWN  = LPCOMP_ANADETECT_ANADETECT_Down   /**< Generate ANADETEC on downwards crossing only. */
-} nrf_lpcomp_detect_t;
-
-/**
- * @enum nrf_lpcomp_task_t
- * @brief LPCOMP tasks.
- */
-typedef enum /*lint -save -e30 -esym(628,__INTADDR__) */
-{
-    NRF_LPCOMP_TASK_START  = offsetof(NRF_LPCOMP_Type, TASKS_START), /**< LPCOMP start sampling task. */
-    NRF_LPCOMP_TASK_STOP   = offsetof(NRF_LPCOMP_Type, TASKS_STOP),  /**< LPCOMP stop sampling task. */
-    NRF_LPCOMP_TASK_SAMPLE = offsetof(NRF_LPCOMP_Type, TASKS_SAMPLE) /**< Sample comparator value. */
-} nrf_lpcomp_task_t;                                                 /*lint -restore*/
-
-
-/**
- * @enum nrf_lpcomp_event_t
- * @brief LPCOMP events.
- */
-typedef enum /*lint -save -e30 -esym(628,__INTADDR__) */
-{
-    NRF_LPCOMP_EVENT_READY = offsetof(NRF_LPCOMP_Type, EVENTS_READY), /**< LPCOMP is ready and output is valid. */
-    NRF_LPCOMP_EVENT_DOWN  = offsetof(NRF_LPCOMP_Type, EVENTS_DOWN),  /**< Input voltage crossed the threshold going down. */
-    NRF_LPCOMP_EVENT_UP    = offsetof(NRF_LPCOMP_Type, EVENTS_UP),    /**< Input voltage crossed the threshold going up. */
-    NRF_LPCOMP_EVENT_CROSS = offsetof(NRF_LPCOMP_Type, EVENTS_CROSS)  /**< Input voltage crossed the threshold in any direction. */
-} nrf_lpcomp_event_t;                                                 /*lint -restore*/
-
-/**
- * @enum nrf_lpcomp_short_mask_t
- * @brief LPCOMP shorts masks.
- */
-typedef enum
-{
-    NRF_LPCOMP_SHORT_CROSS_STOP_MASK   = LPCOMP_SHORTS_CROSS_STOP_Msk,  /*!< Short between CROSS event and STOP task. */
-    NRF_LPCOMP_SHORT_UP_STOP_MASK      = LPCOMP_SHORTS_UP_STOP_Msk,     /*!< Short between UP event and STOP task. */
-    NRF_LPCOMP_SHORT_DOWN_STOP_MASK    = LPCOMP_SHORTS_DOWN_STOP_Msk,   /*!< Short between DOWN event and STOP task. */
-    NRF_LPCOMP_SHORT_READY_STOP_MASK   = LPCOMP_SHORTS_READY_STOP_Msk,  /*!< Short between READY event and STOP task. */
-    NRF_LPCOMP_SHORT_READY_SAMPLE_MASK = LPCOMP_SHORTS_READY_SAMPLE_Msk /*!< Short between READY event and SAMPLE task. */
-} nrf_lpcomp_short_mask_t;
-
-
-/** @brief LPCOMP configuration. */
-typedef struct
-{
-    nrf_lpcomp_ref_t    reference; /**< LPCOMP reference. */
-    nrf_lpcomp_detect_t detection; /**< LPCOMP detection type. */
-} nrf_lpcomp_config_t;
-
-/** Default LPCOMP configuration. */
-#define NRF_LPCOMP_CONFIG_DEFAULT { NRF_LPCOMP_REF_SUPPLY_FOUR_EIGHT, NRF_LPCOMP_DETECT_DOWN }
-
-/**
- * @brief Function for configuring LPCOMP.
- *
- * This function powers on LPCOMP and configures it. LPCOMP is in DISABLE state after configuration,
- * so it must be enabled before using it. All shorts are inactive, events are cleared, and LPCOMP is stopped.
- *
- * @param[in] p_config Configuration.
- */
-__STATIC_INLINE void nrf_lpcomp_configure(const nrf_lpcomp_config_t * p_config)
-{
-    NRF_LPCOMP->TASKS_STOP = 1;
-    NRF_LPCOMP->ENABLE     = LPCOMP_ENABLE_ENABLE_Disabled << LPCOMP_ENABLE_ENABLE_Pos;
-    NRF_LPCOMP->REFSEL     =
-        (p_config->reference << LPCOMP_REFSEL_REFSEL_Pos) & LPCOMP_REFSEL_REFSEL_Msk;
-
-    //If external source is choosen extract analog reference index.
-    if ((p_config->reference & LPCOMP_REFSEL_REFSEL_ARef)==LPCOMP_REFSEL_REFSEL_ARef)
-    {
-        uint32_t extref       = p_config->reference >> 16;
-        NRF_LPCOMP->EXTREFSEL = (extref << LPCOMP_EXTREFSEL_EXTREFSEL_Pos) & LPCOMP_EXTREFSEL_EXTREFSEL_Msk;
-    }
-
-    NRF_LPCOMP->ANADETECT =
-        (p_config->detection << LPCOMP_ANADETECT_ANADETECT_Pos) & LPCOMP_ANADETECT_ANADETECT_Msk;
-    NRF_LPCOMP->SHORTS   = 0;
-    NRF_LPCOMP->INTENCLR = LPCOMP_INTENCLR_CROSS_Msk | LPCOMP_INTENCLR_UP_Msk |
-                           LPCOMP_INTENCLR_DOWN_Msk | LPCOMP_INTENCLR_READY_Msk;
-}
-
-
-/**
- * @brief Function for selecting the LPCOMP input.
- *
- * This function selects the active input of LPCOMP.
- *
- * @param[in] input Input to be selected.
- */
-__STATIC_INLINE void nrf_lpcomp_input_select(nrf_lpcomp_input_t input)
-{
-    uint32_t lpcomp_enable_state = NRF_LPCOMP->ENABLE;
-
-    NRF_LPCOMP->ENABLE = LPCOMP_ENABLE_ENABLE_Disabled << LPCOMP_ENABLE_ENABLE_Pos;
-    NRF_LPCOMP->PSEL   =
-        ((uint32_t)input << LPCOMP_PSEL_PSEL_Pos) | (NRF_LPCOMP->PSEL & ~LPCOMP_PSEL_PSEL_Msk);
-    NRF_LPCOMP->ENABLE = lpcomp_enable_state;
-}
-
-
-/**
- * @brief Function for enabling the Low Power Comparator.
- *
- * This function enables LPCOMP.
- *
- */
-__STATIC_INLINE void nrf_lpcomp_enable(void)
-{
-    NRF_LPCOMP->ENABLE = LPCOMP_ENABLE_ENABLE_Enabled << LPCOMP_ENABLE_ENABLE_Pos;
-    NRF_LPCOMP->EVENTS_READY = 0;
-    NRF_LPCOMP->EVENTS_DOWN  = 0;
-    NRF_LPCOMP->EVENTS_UP    = 0;
-    NRF_LPCOMP->EVENTS_CROSS = 0;
-}
-
-
-/**
- * @brief Function for disabling the Low Power Comparator.
- *
- * This function disables LPCOMP.
- *
- */
-__STATIC_INLINE void nrf_lpcomp_disable(void)
-{
-    NRF_LPCOMP->ENABLE     = LPCOMP_ENABLE_ENABLE_Disabled << LPCOMP_ENABLE_ENABLE_Pos;
-}
-
-
-/**
- * @brief Function for getting the last LPCOMP compare result.
- *
- * @return The last compare result. If 0 then VIN+ < VIN-, if 1 then the opposite.
- */
-__STATIC_INLINE uint32_t nrf_lpcomp_result_get(void)
-{
-    return (uint32_t)NRF_LPCOMP->RESULT;
-}
-
-
-/**
- * @brief Function for enabling interrupts from LPCOMP.
- *
- * @param[in] lpcomp_int_mask Mask of interrupts to be enabled.
- *
- * @sa nrf_lpcomp_int_disable()
- * @sa nrf_lpcomp_int_enable_check()
- */
-__STATIC_INLINE void nrf_lpcomp_int_enable(uint32_t lpcomp_int_mask)
-{
-    NRF_LPCOMP->INTENSET = lpcomp_int_mask;
-}
-
-
-/**
- * @brief Function for disabling interrupts from LPCOMP.
- *
- * @param[in] lpcomp_int_mask Mask of interrupts to be disabled.
- *
- * @sa nrf_lpcomp_int_enable()
- * @sa nrf_lpcomp_int_enable_check()
- */
-__STATIC_INLINE void nrf_lpcomp_int_disable(uint32_t lpcomp_int_mask)
-{
-    NRF_LPCOMP->INTENCLR = lpcomp_int_mask;
-}
-
-
-/**
- * @brief Function for getting the enabled interrupts of LPCOMP.
- *
- * @param[in] lpcomp_int_mask Mask of interrupts to be checked.
- *
- * @retval true If any of interrupts of the specified mask are enabled.
- *
- * @sa nrf_lpcomp_int_enable()
- * @sa nrf_lpcomp_int_disable()
- */
-__STATIC_INLINE bool nrf_lpcomp_int_enable_check(uint32_t lpcomp_int_mask)
-{
-    return (NRF_LPCOMP->INTENSET & lpcomp_int_mask); // when read this register will return the value of INTEN.
-}
-
-
-/**
- * @brief Function for getting the address of a specific LPCOMP task register.
- *
- * @param[in] lpcomp_task LPCOMP task.
- *
- * @return The address of the specified LPCOMP task.
- */
-__STATIC_INLINE uint32_t * nrf_lpcomp_task_address_get(nrf_lpcomp_task_t lpcomp_task)
-{
-    return (uint32_t *)((uint8_t *)NRF_LPCOMP + lpcomp_task);
-}
-
-
-/**
- * @brief Function for getting the address of a specific LPCOMP event register.
- *
- * @param[in] lpcomp_event LPCOMP event.
- *
- * @return The address of the specified LPCOMP event.
- */
-__STATIC_INLINE uint32_t * nrf_lpcomp_event_address_get(nrf_lpcomp_event_t lpcomp_event)
-{
-    return (uint32_t *)((uint8_t *)NRF_LPCOMP + lpcomp_event);
-}
-
-
-/**
- * @brief  Function for setting LPCOMP shorts.
- *
- * @param[in] lpcomp_short_mask LPCOMP shorts by mask.
- *
- */
-__STATIC_INLINE void nrf_lpcomp_shorts_enable(uint32_t lpcomp_short_mask)
-{
-    NRF_LPCOMP->SHORTS |= lpcomp_short_mask;
-}
-
-
-/**
- * @brief Function for clearing LPCOMP shorts by mask.
- *
- * @param[in] lpcomp_short_mask LPCOMP shorts to be cleared.
- *
- */
-__STATIC_INLINE void nrf_lpcomp_shorts_disable(uint32_t lpcomp_short_mask)
-{
-    NRF_LPCOMP->SHORTS &= ~lpcomp_short_mask;
-}
-
-
-/**
- * @brief Function for setting a specific LPCOMP task.
- *
- * @param[in] lpcomp_task LPCOMP task to be set.
- *
- */
-__STATIC_INLINE void nrf_lpcomp_task_trigger(nrf_lpcomp_task_t lpcomp_task)
-{
-    *( (volatile uint32_t *)( (uint8_t *)NRF_LPCOMP + lpcomp_task) ) = 1;
-}
-
-
-/**
- * @brief Function for clearing a specific LPCOMP event.
- *
- * @param[in] lpcomp_event LPCOMP event to be cleared.
- *
- */
-__STATIC_INLINE void nrf_lpcomp_event_clear(nrf_lpcomp_event_t lpcomp_event)
-{
-    *( (volatile uint32_t *)( (uint8_t *)NRF_LPCOMP + lpcomp_event) ) = 0;
-}
-
-
-/**
- * @brief Function for getting the state of a specific LPCOMP event.
- *
- * @retval true If the specified LPCOMP event is active.
- *
- */
-__STATIC_INLINE bool nrf_lpcomp_event_check(nrf_lpcomp_event_t lpcomp_event)
-{
-    return (bool) (*(volatile uint32_t *)( (uint8_t *)NRF_LPCOMP + lpcomp_event));
-}
-
-
-/**
- *@}
- **/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* NRF_LPCOMP_H_ */

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/a1481cb2/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_nvmc.c
----------------------------------------------------------------------
diff --git a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_nvmc.c b/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_nvmc.c
deleted file mode 100644
index 312795f..0000000
--- a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_nvmc.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
-*
-* The information contained herein is property of Nordic Semiconductor ASA.
-* Terms and conditions of usage are described in detail in NORDIC
-* SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT. 
-*
-* Licensees are granted free, non-transferable use of the information. NO
-* WARRANTY of ANY KIND is provided. This heading must NOT be removed from
-* the file.
-*
-* $LastChangedRevision: 17685 $
-*/ 
-
-/** 
- *@file
- *@brief NMVC driver implementation 
- */
-
-#include <stdbool.h>
-#include "nrf.h"
-#include "nrf_nvmc.h"
-
-
-void nrf_nvmc_page_erase(uint32_t address)
-{ 
-  // Enable erase.
-  NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Een;
-  while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
-  {
-  }
-
-  // Erase the page
-  NRF_NVMC->ERASEPAGE = address;
-  while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
-  {
-  }
-  
-  NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren;
-  while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
-  {
-  }
-}
-
-
-void nrf_nvmc_write_byte(uint32_t address, uint8_t value)
-{
-  uint32_t byte_shift = address & (uint32_t)0x03;
-  uint32_t address32 = address & ~byte_shift; // Address to the word this byte is in.
-  uint32_t value32 = (*(uint32_t*)address32 & ~((uint32_t)0xFF << (byte_shift << (uint32_t)3)));
-  value32 = value32 + ((uint32_t)value << (byte_shift << 3));
-
-  // Enable write.
-  NRF_NVMC->CONFIG = (NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos);
-  while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
-  {
-  }
-
-  *(uint32_t*)address32 = value32;
-  while(NRF_NVMC->READY == NVMC_READY_READY_Busy)
-  {
-  }
-
-  NRF_NVMC->CONFIG = (NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos);
-  {
-  }
-}
-
-void nrf_nvmc_write_word(uint32_t address, uint32_t value)
-{
-  // Enable write.
-  NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen;
-  while (NRF_NVMC->READY == NVMC_READY_READY_Busy){
-  }
-
-  *(uint32_t*)address = value;
-  while (NRF_NVMC->READY == NVMC_READY_READY_Busy){
-  }
-
-  NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren;
-  while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
-  {
-  }
-}
-
-void nrf_nvmc_write_bytes(uint32_t address, const uint8_t * src, uint32_t num_bytes)
-{
-  uint32_t i;
-  for(i=0;i<num_bytes;i++)
-  {
-     nrf_nvmc_write_byte(address+i,src[i]);
-  }
-}
-
-void nrf_nvmc_write_words(uint32_t address, const uint32_t * src, uint32_t num_words)
-{
-  uint32_t i;
-
-  // Enable write.
-  NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen;
-  while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
-  {
-  }
-
-  for(i=0;i<num_words;i++)
-  {
-    ((uint32_t*)address)[i] = src[i];
-    while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
-    {
-    }
-  }
-
-  NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren;
-  while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
-  {
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/a1481cb2/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_nvmc.h
----------------------------------------------------------------------
diff --git a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_nvmc.h b/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_nvmc.h
deleted file mode 100644
index a975f5f..0000000
--- a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_nvmc.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic 
- * Semiconductor ASA.Terms and conditions of usage are described in detail 
- * in NORDIC SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT. 
- *
- * Licensees are granted free, non-transferable use of the information. NO
- * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
- * the file.
- *              
- * $LastChangedRevision: 17685 $
- */
-
-/**
- * @file
- * @brief NMVC driver API.
- */
-
-#ifndef NRF_NVMC_H__
-#define NRF_NVMC_H__
-
-#include <stdint.h>
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup nrf_nvmc Non-volatile memory controller
- * @{
- * @ingroup nrf_drivers
- * @brief Driver for the NVMC peripheral.
- *
- * This driver allows writing to the non-volatile memory (NVM) regions
- * of the chip. In order to write to NVM the controller must be powered
- * on and the relevant page must be erased.
- *
- */
-
-
-/**
- * @brief Erase a page in flash. This is required before writing to any
- * address in the page.
- *
- * @param address Start address of the page. 
- */
-void nrf_nvmc_page_erase(uint32_t address);
-
-
-/**
- * @brief Write a single byte to flash.
- *
- * The function reads the word containing the byte, and then
- * rewrites the entire word.
- *
- * @param address Address to write to.
- * @param value   Value to write.
- */
-void nrf_nvmc_write_byte(uint32_t address , uint8_t value);
-
-
-/**
- * @brief Write a 32-bit word to flash. 
- * @param address Address to write to.
- * @param value   Value to write.
- */
-void nrf_nvmc_write_word(uint32_t address, uint32_t value);
-
-
-/**
- * @brief Write consecutive bytes to flash.
- *
- * @param address   Address to write to.
- * @param src       Pointer to data to copy from.
- * @param num_bytes Number of bytes in src to write.
- */
-void nrf_nvmc_write_bytes(uint32_t  address, const uint8_t * src, uint32_t num_bytes);
-
-
-/**
- * @brief Write consecutive words to flash.
- * 
- * @param address   Address to write to.
- * @param src       Pointer to data to copy from.
- * @param num_words Number of bytes in src to write.
- */
-void nrf_nvmc_write_words(uint32_t address, const uint32_t * src, uint32_t num_words);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // NRF_NVMC_H__
-/** @} */
-
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/a1481cb2/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_pdm.h
----------------------------------------------------------------------
diff --git a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_pdm.h b/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_pdm.h
deleted file mode 100644
index 9b07545..0000000
--- a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_pdm.h
+++ /dev/null
@@ -1,367 +0,0 @@
-/* Copyright (c) 2015 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is property of Nordic Semiconductor ASA.
- * Terms and conditions of usage are described in detail in NORDIC
- * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
- *
- * Licensees are granted free, non-transferable use of the information. NO
- * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
- * the file.
- *
- */
-
-
-#ifndef NRF_PDM_H_
-#define NRF_PDM_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup nrf_pdm_hal PDM HAL
- * @{
- * @ingroup nrf_pdm
- *
- * @brief @tagAPI52 Hardware abstraction layer for accessing the pulse density modulation (PDM) peripheral.
- */
-
-#include <stdbool.h>
-#include <stddef.h>
-#include "nrf.h"
-#include "nrf_assert.h"
-
-
-#define NRF_PDM_GAIN_MINIMUM  0x00
-#define NRF_PDM_GAIN_DEFAULT  0x28
-#define NRF_PDM_GAIN_MAXIMUM  0x50
-
-typedef uint8_t nrf_pdm_gain_t;
-
-
-/**
- * @brief PDM tasks.
- */
-typedef enum /*lint -save -e30 -esym(628,__INTADDR__) */
-{
-    NRF_PDM_TASK_START           = offsetof(NRF_PDM_Type, TASKS_START),           ///< Starts continuous PDM transfer.
-    NRF_PDM_TASK_STOP            = offsetof(NRF_PDM_Type, TASKS_STOP)             ///< Stops PDM transfer.
-} nrf_pdm_task_t;
-
-
-/**
- * @brief PDM events.
- */
-typedef enum /*lint -save -e30 -esym(628,__INTADDR__) */
-{
-    NRF_PDM_EVENT_STARTED       = offsetof(NRF_PDM_Type, EVENTS_STARTED),       ///< PDM transfer has started.
-    NRF_PDM_EVENT_STOPPED       = offsetof(NRF_PDM_Type, EVENTS_STOPPED),       ///< PDM transfer has finished.
-    NRF_PDM_EVENT_END           = offsetof(NRF_PDM_Type, EVENTS_END)            ///< The PDM has written the last sample specified by SAMPLE.MAXCNT (or the last sample after a STOP task has been received) to Data RAM.
-} nrf_pdm_event_t;
-
-
-/**
- * @brief PDM interrupt masks.
- */
-typedef enum
-{
-    NRF_PDM_INT_STARTED = PDM_INTENSET_STARTED_Msk,   ///< Interrupt on EVENTS_STARTED event.
-    NRF_PDM_INT_STOPPED = PDM_INTENSET_STOPPED_Msk,   ///< Interrupt on EVENTS_STOPPED event.
-    NRF_PDM_INT_END     = PDM_INTENSET_END_Msk        ///< Interrupt on EVENTS_END event.
-} nrf_pdm_int_mask_t;
-
-/**
- * @brief PDM clock frequency.
- */
-typedef enum
-{
-    NRF_PDM_FREQ_1000K = PDM_PDMCLKCTRL_FREQ_1000K,  ///< PDM_CLK = 1.000 MHz.
-    NRF_PDM_FREQ_1032K = PDM_PDMCLKCTRL_FREQ_Default,  ///< PDM_CLK = 1.032 MHz.
-    NRF_PDM_FREQ_1067K = PDM_PDMCLKCTRL_FREQ_1067K   ///< PDM_CLK = 1.067 MHz.
-} nrf_pdm_freq_t;
-
-
-/**
- * @brief PDM operation mode.
- */
-typedef enum
-{
-    NRF_PDM_MODE_STEREO = PDM_MODE_OPERATION_Stereo,  ///< Sample and store one pair (Left + Right) of 16-bit samples per RAM word.
-    NRF_PDM_MODE_MONO   = PDM_MODE_OPERATION_Mono     ///< Sample and store two successive Left samples (16 bit each) per RAM word.
-} nrf_pdm_mode_t;
-
-
-/**
- * @brief PDM sampling mode.
- */
-typedef enum
-{
-    NRF_PDM_EDGE_LEFTFALLING = PDM_MODE_EDGE_LeftFalling,  ///< Left (or mono) is sampled on falling edge of PDM_CLK.
-    NRF_PDM_EDGE_LEFTRISING  = PDM_MODE_EDGE_LeftRising    ///< Left (or mono) is sampled on rising edge of PDM_CLK.
-} nrf_pdm_edge_t;
-
-
-/**
- * @brief Function for triggering a PDM task.
- *
- * @param[in] pdm_task PDM task.
- */
-__STATIC_INLINE void nrf_pdm_task_trigger(nrf_pdm_task_t pdm_task)
-{
-    *((volatile uint32_t *)((uint8_t *)NRF_PDM + (uint32_t)pdm_task)) = 0x1UL;
-}
-
-
-/**
- * @brief Function for getting the address of a PDM task register.
- *
- * @param[in] pdm_task PDM task.
- *
- * @return Address of the specified PDM task.
- */
-__STATIC_INLINE uint32_t nrf_pdm_task_address_get(nrf_pdm_task_t pdm_task)
-{
-    return (uint32_t)((uint8_t *)NRF_PDM + (uint32_t)pdm_task);
-}
-
-
-/**
- * @brief Function for getting the state of a PDM event.
- *
- * @param[in] pdm_event PDM event.
- *
- * @return State of the specified PDM event.
- */
-__STATIC_INLINE bool nrf_pdm_event_check(nrf_pdm_event_t pdm_event)
-{
-    return (bool)*(volatile uint32_t *)((uint8_t *)NRF_PDM + (uint32_t)pdm_event);
-}
-
-
-/**
- * @brief Function for clearing a PDM event.
- *
- * @param[in] pdm_event PDM event.
- */
-__STATIC_INLINE void nrf_pdm_event_clear(nrf_pdm_event_t pdm_event)
-{
-    *((volatile uint32_t *)((uint8_t *)NRF_PDM + (uint32_t)pdm_event)) = 0x0UL;
-}
-
-
-/**
- * @brief Function for getting the address of a PDM event register.
- *
- * @param[in] pdm_event PDM event.
- *
- * @return Address of the specified PDM event.
- */
-__STATIC_INLINE volatile uint32_t * nrf_pdm_event_address_get(nrf_pdm_event_t pdm_event)
-{
-    return (volatile uint32_t *)((uint8_t *)NRF_PDM + (uint32_t)pdm_event);
-}
-
-
-/**
- * @brief Function for enabling PDM interrupts.
- *
- * @param[in] pdm_int_mask Interrupts to enable.
- */
-__STATIC_INLINE void nrf_pdm_int_enable(uint32_t pdm_int_mask)
-{
-    NRF_PDM->INTENSET = pdm_int_mask;
-}
-
-
-/**
- * @brief Function for retrieving the state of PDM interrupts.
- *
- * @param[in] pdm_int_mask Interrupts to check.
- *
- * @retval true  If all specified interrupts are enabled.
- * @retval false If at least one of the given interrupts is not enabled.
- */
-__STATIC_INLINE bool nrf_pdm_int_enable_check(uint32_t pdm_int_mask)
-{
-    return (bool)(NRF_PDM->INTENSET & pdm_int_mask);
-}
-
-
-/**
- * @brief Function for disabling interrupts.
- *
- * @param pdm_int_mask Interrupts to disable.
- */
-__STATIC_INLINE void nrf_pdm_int_disable(uint32_t pdm_int_mask)
-{
-    NRF_PDM->INTENCLR = pdm_int_mask;
-}
-
-
-/**
- * @brief Function for enabling the PDM peripheral.
- *
- * The PDM peripheral must be enabled before use.
- */
-__STATIC_INLINE void nrf_pdm_enable(void)
-{
-    NRF_PDM->ENABLE = (PDM_ENABLE_ENABLE_Enabled << PDM_ENABLE_ENABLE_Pos);
-}
-
-
-/**
- * @brief Function for disabling the PDM peripheral.
- */
-__STATIC_INLINE void nrf_pdm_disable(void)
-{
-    NRF_PDM->ENABLE = (PDM_ENABLE_ENABLE_Disabled << PDM_ENABLE_ENABLE_Pos);
-}
-
-
-/**
- * @brief Function for checking if the PDM peripheral is enabled.
- *
- * @retval true  If the PDM peripheral is enabled.
- * @retval false If the PDM peripheral is not enabled.
- */
-__STATIC_INLINE bool nrf_pdm_enable_check(void)
-{
-    return (NRF_PDM->ENABLE == (PDM_ENABLE_ENABLE_Enabled << PDM_ENABLE_ENABLE_Pos));
-}
-
-
-/**
- * @brief Function for setting the PDM operation mode.
- *
- * @param[in] pdm_mode PDM operation mode.
- * @param[in] pdm_edge PDM sampling mode.
- */
-__STATIC_INLINE void nrf_pdm_mode_set(nrf_pdm_mode_t pdm_mode, nrf_pdm_edge_t pdm_edge)
-{
-    NRF_PDM->MODE = ((pdm_mode << PDM_MODE_OPERATION_Pos) & PDM_MODE_OPERATION_Msk)
-                    | ((pdm_edge << PDM_MODE_EDGE_Pos) & PDM_MODE_EDGE_Msk);
-}
-
-
-/**
- * @brief Function for getting the PDM operation mode.
- *
- * @param[out] p_pdm_mode PDM operation mode.
- * @param[out] p_pdm_edge PDM sampling mode.
- */
-__STATIC_INLINE void nrf_pdm_mode_get(nrf_pdm_mode_t * p_pdm_mode, nrf_pdm_edge_t * p_pdm_edge)
-{
-    uint32_t mode = NRF_PDM->MODE;
-    *p_pdm_mode = (nrf_pdm_mode_t)((mode & PDM_MODE_OPERATION_Msk ) >> PDM_MODE_OPERATION_Pos);
-    *p_pdm_edge = (nrf_pdm_edge_t)((mode & PDM_MODE_EDGE_Msk ) >> PDM_MODE_EDGE_Pos);
-}
-
-
-/**
- * @brief Function for setting the PDM clock frequency.
- *
- * @param[in] pdm_freq PDM clock frequency.
- */
-__STATIC_INLINE void nrf_pdm_clock_set(nrf_pdm_freq_t pdm_freq)
-{
-    NRF_PDM->PDMCLKCTRL = ((pdm_freq << PDM_PDMCLKCTRL_FREQ_Pos) & PDM_PDMCLKCTRL_FREQ_Msk);
-}
-
-
-/**
- * @brief Function for getting the PDM clock frequency.
- */
-__STATIC_INLINE nrf_pdm_freq_t nrf_pdm_clock_get(void)
-{
-     return (nrf_pdm_freq_t) ((NRF_PDM->PDMCLKCTRL << PDM_PDMCLKCTRL_FREQ_Pos) & PDM_PDMCLKCTRL_FREQ_Msk);
-}
-
-
-/**
- * @brief Function for setting up the PDM pins.
- *
- * @param[in] psel_clk CLK pin number.
- * @param[in] psel_din DIN pin number.
- */
-__STATIC_INLINE void nrf_pdm_psel_connect(uint32_t psel_clk, uint32_t psel_din)
-{
-    NRF_PDM->PSEL.CLK = ((psel_clk << PDM_PSEL_CLK_PIN_Pos) & PDM_PSEL_CLK_PIN_Msk)
-            | ((PDM_PSEL_CLK_CONNECT_Connected << PDM_PSEL_CLK_CONNECT_Pos) & PDM_PSEL_CLK_CONNECT_Msk);
-    NRF_PDM->PSEL.DIN = ((psel_din << PDM_PSEL_DIN_PIN_Pos) & PDM_PSEL_DIN_PIN_Msk)
-            | ((PDM_PSEL_DIN_CONNECT_Connected << PDM_PSEL_CLK_CONNECT_Pos) & PDM_PSEL_DIN_CONNECT_Msk);
-}
-
-/**
- * @brief Function for disconnecting the PDM pins.
- */
-__STATIC_INLINE void nrf_pdm_psel_disconnect()
-{
-    NRF_PDM->PSEL.CLK = ((PDM_PSEL_CLK_CONNECT_Disconnected << PDM_PSEL_CLK_CONNECT_Pos) 
-                         & PDM_PSEL_CLK_CONNECT_Msk);
-    NRF_PDM->PSEL.DIN = ((PDM_PSEL_DIN_CONNECT_Disconnected << PDM_PSEL_DIN_CONNECT_Pos) 
-                         & PDM_PSEL_DIN_CONNECT_Msk);
-}
-
-
-/**
- * @brief Function for setting the PDM gain.
- *
- * @param[in] gain_l Left channel gain.
- * @param[in] gain_r Right channel gain.
- */
-__STATIC_INLINE void nrf_pdm_gain_set(nrf_pdm_gain_t gain_l, nrf_pdm_gain_t gain_r)
-{
-    NRF_PDM->GAINL = gain_l;
-    NRF_PDM->GAINR = gain_r;
-}
-
-
-/**
- * @brief Function for getting the PDM gain.
- *
- * @param[out] p_gain_l Left channel gain.
- * @param[out] p_gain_r Right channel gain.
- */
-__STATIC_INLINE void nrf_pdm_gain_get(nrf_pdm_gain_t * p_gain_l, nrf_pdm_gain_t * p_gain_r)
-{
-    *p_gain_l = NRF_PDM->GAINL;
-    *p_gain_r = NRF_PDM->GAINR;
-}
-
-
-/**
- * @brief Function for setting the PDM sample buffer.
- *
- * @param[in] p_buffer Pointer to the RAM address where samples should be written with EasyDMA.
- * @param[in] num    Number of samples to allocate memory for in EasyDMA mode.
- *
- * The amount of allocated RAM depends on the operation mode.
- * - For stereo mode: N 32-bit words.
- * - For mono mode: Ceil(N/2) 32-bit words.
- */
-__STATIC_INLINE void nrf_pdm_buffer_set(uint32_t * p_buffer, uint32_t num)
-{
-    NRF_PDM->SAMPLE.PTR = (uint32_t)p_buffer;
-    NRF_PDM->SAMPLE.MAXCNT = num;
-}
-
-/**
- * @brief Function for getting the current PDM sample buffer address.
- *
- * @return Pointer to the current sample buffer.
- */
-__STATIC_INLINE uint32_t * nrf_pdm_buffer_get()
-{
-    return (uint32_t *)NRF_PDM->SAMPLE.PTR;
-}
-
-
-/**
- *@}
- **/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* NRF_PDM_H_ */

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/a1481cb2/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_ppi.h
----------------------------------------------------------------------
diff --git a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_ppi.h b/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_ppi.h
deleted file mode 100644
index c7d8dbe..0000000
--- a/hw/mcu/nordic/src/ext/nRF5_SDK_11.0.0_89a8197/components/drivers_nrf/hal/nrf_ppi.h
+++ /dev/null
@@ -1,410 +0,0 @@
-/* Copyright (c) 2015 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is property of Nordic Semiconductor ASA.
- * Terms and conditions of usage are described in detail in NORDIC
- * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
- *
- * Licensees are granted free, non-transferable use of the information. NO
- * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
- * the file.
- *
- */
-
-#ifndef NRF_PPI_H__
-#define NRF_PPI_H__
-
-#include <stddef.h>
-#include "nrf.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup nrf_ppi_hal PPI HAL
- * @{
- * @ingroup nrf_ppi
- * @brief Hardware access layer for setting up Programmable Peripheral Interconnect (PPI) channels.
- */
-
-#define NRF_PPI_TASK_SET    (1UL)
-
-/**
- * @enum nrf_ppi_channel_t
- * @brief PPI channels.
- */
-typedef enum
-{
-    NRF_PPI_CHANNEL0  = PPI_CHEN_CH0_Pos,  /**< Channel 0. */
-    NRF_PPI_CHANNEL1  = PPI_CHEN_CH1_Pos,  /**< Channel 1. */
-    NRF_PPI_CHANNEL2  = PPI_CHEN_CH2_Pos,  /**< Channel 2. */
-    NRF_PPI_CHANNEL3  = PPI_CHEN_CH3_Pos,  /**< Channel 3. */
-    NRF_PPI_CHANNEL4  = PPI_CHEN_CH4_Pos,  /**< Channel 4. */
-    NRF_PPI_CHANNEL5  = PPI_CHEN_CH5_Pos,  /**< Channel 5. */
-    NRF_PPI_CHANNEL6  = PPI_CHEN_CH6_Pos,  /**< Channel 6. */
-    NRF_PPI_CHANNEL7  = PPI_CHEN_CH7_Pos,  /**< Channel 7. */
-    NRF_PPI_CHANNEL8  = PPI_CHEN_CH8_Pos,  /**< Channel 8. */
-    NRF_PPI_CHANNEL9  = PPI_CHEN_CH9_Pos,  /**< Channel 9. */
-    NRF_PPI_CHANNEL10 = PPI_CHEN_CH10_Pos, /**< Channel 10. */
-    NRF_PPI_CHANNEL11 = PPI_CHEN_CH11_Pos, /**< Channel 11. */
-    NRF_PPI_CHANNEL12 = PPI_CHEN_CH12_Pos, /**< Channel 12. */
-    NRF_PPI_CHANNEL13 = PPI_CHEN_CH13_Pos, /**< Channel 13. */
-    NRF_PPI_CHANNEL14 = PPI_CHEN_CH14_Pos, /**< Channel 14. */
-    NRF_PPI_CHANNEL15 = PPI_CHEN_CH15_Pos, /**< Channel 15. */
-#ifdef NRF52
-    NRF_PPI_CHANNEL16 = PPI_CHEN_CH16_Pos, /**< Channel 16. */
-    NRF_PPI_CHANNEL17 = PPI_CHEN_CH17_Pos, /**< Channel 17. */
-    NRF_PPI_CHANNEL18 = PPI_CHEN_CH18_Pos, /**< Channel 18. */
-    NRF_PPI_CHANNEL19 = PPI_CHEN_CH19_Pos, /**< Channel 19. */
-#endif
-    NRF_PPI_CHANNEL20 = PPI_CHEN_CH20_Pos, /**< Channel 20. */
-    NRF_PPI_CHANNEL21 = PPI_CHEN_CH21_Pos, /**< Channel 21. */
-    NRF_PPI_CHANNEL22 = PPI_CHEN_CH22_Pos, /**< Channel 22. */
-    NRF_PPI_CHANNEL23 = PPI_CHEN_CH23_Pos, /**< Channel 23. */
-    NRF_PPI_CHANNEL24 = PPI_CHEN_CH24_Pos, /**< Channel 24. */
-    NRF_PPI_CHANNEL25 = PPI_CHEN_CH25_Pos, /**< Channel 25. */
-    NRF_PPI_CHANNEL26 = PPI_CHEN_CH26_Pos, /**< Channel 26. */
-    NRF_PPI_CHANNEL27 = PPI_CHEN_CH27_Pos, /**< Channel 27. */
-    NRF_PPI_CHANNEL28 = PPI_CHEN_CH28_Pos, /**< Channel 28. */
-    NRF_PPI_CHANNEL29 = PPI_CHEN_CH29_Pos, /**< Channel 29. */
-    NRF_PPI_CHANNEL30 = PPI_CHEN_CH30_Pos, /**< Channel 30. */
-    NRF_PPI_CHANNEL31 = PPI_CHEN_CH31_Pos  /**< Channel 31. */
-} nrf_ppi_channel_t;
-
-/**
- * @enum nrf_ppi_channel_group_t
- * @brief PPI channel groups.
- */
-typedef enum
-{
-    NRF_PPI_CHANNEL_GROUP0 = 0, /**< Channel group 0. */
-    NRF_PPI_CHANNEL_GROUP1 = 1, /**< Channel group 1. */
-    NRF_PPI_CHANNEL_GROUP2 = 2, /**< Channel group 2. */
-    NRF_PPI_CHANNEL_GROUP3 = 3, /**< Channel group 3. */
-#ifdef NRF52
-    NRF_PPI_CHANNEL_GROUP4 = 4, /**< Channel group 4. */
-    NRF_PPI_CHANNEL_GROUP5 = 5  /**< Channel group 5. */
-#endif
-} nrf_ppi_channel_group_t;
-
-/**
- * @enum nrf_ppi_channel_include_t
- * @brief Definition of which PPI channels belong to a group.
- */
-typedef enum
-{
-    NRF_PPI_CHANNEL_EXCLUDE = PPI_CHG_CH0_Excluded, /**< Channel excluded from a group. */
-    NRF_PPI_CHANNEL_INCLUDE = PPI_CHG_CH0_Included  /**< Channel included in a group. */
-} nrf_ppi_channel_include_t;
-
-/**
- * @enum nrf_ppi_channel_enable_t
- * @brief Definition if a PPI channel is enabled.
- */
-typedef enum
-{
-    NRF_PPI_CHANNEL_DISABLED = PPI_CHEN_CH0_Disabled, /**< Channel disabled. */
-    NRF_PPI_CHANNEL_ENABLED  = PPI_CHEN_CH0_Enabled   /**< Channel enabled. */
-} nrf_ppi_channel_enable_t;
-
-/**
- * @enum nrf_ppi_task_t
- * @brief PPI tasks.
- */
-typedef enum
-{
-    /*lint -save -e30 -esym(628,__INTADDR__)*/
-    NRF_PPI_TASK_CHG0_EN  = offsetof(NRF_PPI_Type, TASKS_CHG[0].EN),  /**< Task for enabling channel group 0 */
-    NRF_PPI_TASK_CHG0_DIS = offsetof(NRF_PPI_Type, TASKS_CHG[0].DIS), /**< Task for disabling channel group 0 */
-    NRF_PPI_TASK_CHG1_EN  = offsetof(NRF_PPI_Type, TASKS_CHG[1].EN),  /**< Task for enabling channel group 1 */
-    NRF_PPI_TASK_CHG1_DIS = offsetof(NRF_PPI_Type, TASKS_CHG[1].DIS), /**< Task for disabling channel group 1 */
-    NRF_PPI_TASK_CHG2_EN  = offsetof(NRF_PPI_Type, TASKS_CHG[2].EN),  /**< Task for enabling channel group 2 */
-    NRF_PPI_TASK_CHG2_DIS = offsetof(NRF_PPI_Type, TASKS_CHG[2].DIS), /**< Task for disabling channel group 2 */
-    NRF_PPI_TASK_CHG3_EN  = offsetof(NRF_PPI_Type, TASKS_CHG[3].EN),  /**< Task for enabling channel group 3 */
-    NRF_PPI_TASK_CHG3_DIS = offsetof(NRF_PPI_Type, TASKS_CHG[3].DIS), /**< Task for disabling channel group 3 */
-#ifdef NRF52
-    NRF_PPI_TASK_CHG4_EN  = offsetof(NRF_PPI_Type, TASKS_CHG[4].EN),  /**< Task for enabling channel group 4 */
-    NRF_PPI_TASK_CHG4_DIS = offsetof(NRF_PPI_Type, TASKS_CHG[4].DIS), /**< Task for disabling channel group 4 */
-    NRF_PPI_TASK_CHG5_EN  = offsetof(NRF_PPI_Type, TASKS_CHG[5].EN),  /**< Task for enabling channel group 5 */
-    NRF_PPI_TASK_CHG5_DIS = offsetof(NRF_PPI_Type, TASKS_CHG[5].DIS)  /**< Task for disabling channel group 5 */
-#endif
-    /*lint -restore*/
-} nrf_ppi_task_t;
-
-/**
- * @brief Function for enabling a given PPI channel.
- *
- * @details This function enables only one channel.
- *
- * @param[in] channel Channel to enable.
- *
- *  */
-__STATIC_INLINE void nrf_ppi_channel_enable(nrf_ppi_channel_t channel)
-{
-    NRF_PPI->CHENSET = PPI_CHENSET_CH0_Set << ((uint32_t) channel);
-}
-
-
-/**
- * @brief Function for disabling a given PPI channel.
- *
- * @details This function disables only one channel.
- *
- * @param[in] channel Channel to disable.
- */
-__STATIC_INLINE void nrf_ppi_channel_disable(nrf_ppi_channel_t channel)
-{
-    NRF_PPI->CHENCLR = PPI_CHENCLR_CH0_Clear << ((uint32_t) channel);
-}
-
-
-/**
- * @brief Function for checking if a given PPI channel is enabled.
- *
- * @details This function checks only one channel.
- *
- * @param[in] channel Channel to check.
- *
- * @retval     NRF_PPI_CHANNEL_ENABLED     If the channel is enabled.
- * @retval     NRF_PPI_CHANNEL_DISABLED    If the channel is not enabled.
- *
- */
-__STATIC_INLINE nrf_ppi_channel_enable_t nrf_ppi_channel_enable_get(nrf_ppi_channel_t channel)
-{
-    if (NRF_PPI->CHEN & (PPI_CHEN_CH0_Msk << ((uint32_t) channel)))
-    {
-        return NRF_PPI_CHANNEL_ENABLED;
-    }
-    else
-    {
-        return NRF_PPI_CHANNEL_DISABLED;
-    }
-}
-
-
-/**
- * @brief Function for disabling all PPI channels.
- */
-__STATIC_INLINE void nrf_ppi_channel_disable_all(void)
-{
-    NRF_PPI->CHENCLR = ((uint32_t)0xFFFFFFFFuL);
-}
-
-/**
- * @brief Function for disabling multiple PPI channels.
- *
- * @param[in] mask Channel mask.
- */
-__STATIC_INLINE void nrf_ppi_channels_disable(uint32_t mask)
-{
-    NRF_PPI->CHENCLR = mask;
-}
-
-/**
- * @brief Function for setting up event and task endpoints for a given PPI channel.
- *
- * @param[in] eep Event register address.
- *
- * @param[in] tep Task register address.
- *
- * @param[in] channel Channel to which the given endpoints are assigned.
- */
-__STATIC_INLINE void nrf_ppi_channel_endpoint_setup(nrf_ppi_channel_t channel,
-                                                    uint32_t          eep,
-                                                    uint32_t          tep)
-{
-    NRF_PPI->CH[(uint32_t) channel].EEP = eep;
-    NRF_PPI->CH[(uint32_t) channel].TEP = tep;
-}
-
-#ifdef NRF52
-/**
- * @brief Function for setting up task endpoint for a given PPI fork.
- *
- * @param[in] fork_tep Task register address.
- *
- * @param[in] channel Channel to which the given fork endpoint is assigned.
- */
-__STATIC_INLINE void nrf_ppi_fork_endpoint_setup(nrf_ppi_channel_t channel,
-                                                 uint32_t          fork_tep)
-{
-    NRF_PPI->FORK[(uint32_t) channel].TEP = fork_tep;
-}
-
-/**
- * @brief Function for setting up event and task endpoints for a given PPI channel and fork.
- *
- * @param[in] eep Event register address.
- *
- * @param[in] tep Task register address.
- *
- * @param[in] fork_tep Fork task register address (register value).
- *
- * @param[in] channel Channel to which the given endpoints are assigned.
- */
-__STATIC_INLINE void nrf_ppi_channel_and_fork_endpoint_setup(nrf_ppi_channel_t channel,
-                                                             uint32_t          eep,
-                                                             uint32_t          tep,
-                                                             uint32_t          fork_tep)
-{
-    nrf_ppi_channel_endpoint_setup(channel, eep, tep);
-    nrf_ppi_fork_endpoint_setup(channel, fork_tep);
-}
-#endif
-
-/**
- * @brief Function for including a PPI channel in a channel group.
- *
- * @details This function adds only one channel to the group.
- *
- * @param[in] channel       Channel to be included in the group.
- *
- * @param[in] channel_group Channel group.
- *
- */
-__STATIC_INLINE void nrf_ppi_channel_include_in_group(nrf_ppi_channel_t       channel,
-                                                      nrf_ppi_channel_group_t channel_group)
-{
-    NRF_PPI->CHG[(uint32_t) channel_group] =
-        NRF_PPI->CHG[(uint32_t) channel_group] | (PPI_CHG_CH0_Included << ((uint32_t)  channel));
-}
-
-/**
- * @brief Function for including multiple PPI channels in a channel group.
- *
- * @details This function adds all specified channels to the group.
- *
- * @param[in] channel_mask  Channels to be included in the group.
- *
- * @param[in] channel_group Channel group.
- *
- */
-__STATIC_INLINE void nrf_ppi_channels_include_in_group(uint32_t                channel_mask,
-                                                       nrf_ppi_channel_group_t channel_group)
-{
-    NRF_PPI->CHG[(uint32_t) channel_group] =
-        NRF_PPI->CHG[(uint32_t) channel_group] | (channel_mask);
-}
-
-
-/**
- * @brief Function for removing a PPI channel from a channel group.
- *
- * @details This function removes only one channel from the group.
- *
- * @param[in] channel       Channel to be removed from the group.
- *
- * @param[in] channel_group Channel group.
- */
-__STATIC_INLINE void nrf_ppi_channel_remove_from_group(nrf_ppi_channel_t       channel,
-                                                       nrf_ppi_channel_group_t channel_group)
-{
-    NRF_PPI->CHG[(uint32_t) channel_group] =
-        NRF_PPI->CHG[(uint32_t) channel_group] & ~(PPI_CHG_CH0_Included << ((uint32_t) channel));
-}
-
-/**
- * @brief Function for removing multiple PPI channels from a channel group.
- *
- * @details This function removes all specified channels from the group.
- *
- * @param[in] channel_mask  Channels to be removed from the group.
- *
- * @param[in] channel_group Channel group.
- */
-__STATIC_INLINE void nrf_ppi_channels_remove_from_group(uint32_t                channel_mask,
-                                                        nrf_ppi_channel_group_t channel_group)
-{
-    NRF_PPI->CHG[(uint32_t) channel_group] =
-        NRF_PPI->CHG[(uint32_t) channel_group] & ~(channel_mask);
-}
-
-
-/**
- * @brief Function for removing all PPI channels from a channel group.
- *
- * @param[in] group Channel group.
- *
- */
-__STATIC_INLINE void nrf_ppi_channel_group_clear(nrf_ppi_channel_group_t group)
-{
-    NRF_PPI->CHG[(uint32_t) group] = 0;
-}
-
-
-/**
- * @brief Function for enabling a channel group.
- *
- * @param[in] group Channel group.
- *
- */
-__STATIC_INLINE void nrf_ppi_group_enable(nrf_ppi_channel_group_t group)
-{
-    NRF_PPI->TASKS_CHG[(uint32_t) group].EN = NRF_PPI_TASK_SET;
-}
-
-
-/**
- * @brief Function for disabling a channel group.
- *
- * @param[in] group Channel group.
- *
- */
-__STATIC_INLINE void nrf_ppi_group_disable(nrf_ppi_channel_group_t group)
-{
-    NRF_PPI->TASKS_CHG[(uint32_t) group].DIS = NRF_PPI_TASK_SET;
-}
-
-
-/**
- * @brief Function for setting a PPI task.
- *
- * @param[in] ppi_task PPI task to set.
- */
-__STATIC_INLINE void nrf_ppi_task_trigger(nrf_ppi_task_t ppi_task)
-{
-    *((volatile uint32_t *) ((uint8_t *) NRF_PPI_BASE + (uint32_t) ppi_task)) = NRF_PPI_TASK_SET;
-}
-
-
-/**
- * @brief Function for returning the address of a specific PPI task register.
- *
- * @param[in] ppi_task PPI task.
- */
-__STATIC_INLINE uint32_t * nrf_ppi_task_address_get(nrf_ppi_task_t ppi_task)
-{
-    return (uint32_t *) ((uint8_t *) NRF_PPI_BASE + (uint32_t) ppi_task);
-}
-
-/**
- * @brief Function for returning the PPI enable task address of a specific group.
- *
- * @param[in] group  PPI group.
- */
-__STATIC_INLINE uint32_t * nrf_ppi_task_group_enable_address_get(nrf_ppi_channel_group_t group)
-{
-    return (uint32_t *) &NRF_PPI->TASKS_CHG[(uint32_t) group].EN;
-}
-
-/**
- * @brief Function for returning the PPI disable task address of a specific group.
- *
- * @param[in] group  PPI group.
- */
-__STATIC_INLINE uint32_t * nrf_ppi_task_group_disable_address_get(nrf_ppi_channel_group_t group)
-{
-    return (uint32_t *) &NRF_PPI->TASKS_CHG[(uint32_t) group].DIS;
-}
-
-
-/**
- *@}
- **/
-
-/*lint --flb "Leave library region" */
-#ifdef __cplusplus
-}
-#endif
-
-#endif // NRF_PPI_H__