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/23 18:52:09 UTC
[46/70] [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__