| /****************************************************************************** |
| * Filename: aon_event.h |
| * Revised: 2016-03-11 19:08:58 +0100 (Fri, 11 Mar 2016) |
| * Revision: 45917 |
| * |
| * Description: Defines and prototypes for the AON Event fabric. |
| * |
| * Copyright (c) 2015 - 2016, Texas Instruments Incorporated |
| * All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions are met: |
| * |
| * 1) Redistributions of source code must retain the above copyright notice, |
| * this list of conditions and the following disclaimer. |
| * |
| * 2) Redistributions in binary form must reproduce the above copyright notice, |
| * this list of conditions and the following disclaimer in the documentation |
| * and/or other materials provided with the distribution. |
| * |
| * 3) Neither the name of the ORGANIZATION nor the names of its contributors may |
| * be used to endorse or promote products derived from this software without |
| * specific prior written permission. |
| * |
| * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
| * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| * POSSIBILITY OF SUCH DAMAGE. |
| * |
| ******************************************************************************/ |
| |
| //***************************************************************************** |
| // |
| //! \addtogroup aon_group |
| //! @{ |
| //! \addtogroup aonevent_api |
| //! @{ |
| // |
| //***************************************************************************** |
| |
| #ifndef __AON_EVENT_H__ |
| #define __AON_EVENT_H__ |
| |
| //***************************************************************************** |
| // |
| // If building with a C++ compiler, make all of the definitions in this header |
| // have a C binding. |
| // |
| //***************************************************************************** |
| #ifdef __cplusplus |
| extern "C" |
| { |
| #endif |
| |
| #include <stdbool.h> |
| #include <stdint.h> |
| #include <inc/hw_types.h> |
| #include <inc/hw_memmap.h> |
| #include <inc/hw_device.h> |
| #include <inc/hw_aon_event.h> |
| #include <driverlib/debug.h> |
| |
| //***************************************************************************** |
| // |
| // Support for DriverLib in ROM: |
| // This section renames all functions that are not "static inline", so that |
| // calling these functions will default to implementation in flash. At the end |
| // of this file a second renaming will change the defaults to implementation in |
| // ROM for available functions. |
| // |
| // To force use of the implementation in flash, e.g. for debugging: |
| // - Globally: Define DRIVERLIB_NOROM at project level |
| // - Per function: Use prefix "NOROM_" when calling the function |
| // |
| //***************************************************************************** |
| #if !defined(DOXYGEN) |
| #define AONEventMcuWakeUpSet NOROM_AONEventMcuWakeUpSet |
| #define AONEventMcuWakeUpGet NOROM_AONEventMcuWakeUpGet |
| #define AONEventAuxWakeUpSet NOROM_AONEventAuxWakeUpSet |
| #define AONEventAuxWakeUpGet NOROM_AONEventAuxWakeUpGet |
| #define AONEventMcuSet NOROM_AONEventMcuSet |
| #define AONEventMcuGet NOROM_AONEventMcuGet |
| #endif |
| |
| //***************************************************************************** |
| // |
| // Event sources for the event AON fabric. |
| // Note: Events are level-triggered active high |
| // |
| //***************************************************************************** |
| // AON_EVENT_DIO0 // Edge detect on DIO0. See hw_device.h for DIO-to-PAD mapping. |
| // ... // ... |
| // AON_EVENT_DIO31 // Edge detect on DIO31. See hw_device.h for DIO-to-PAD mapping. |
| #define AON_EVENT_IO 32 // Edge detect on any DIO |
| // Event ID 33 is reserved for future use |
| // Event ID 34 is reserved for future use |
| #define AON_EVENT_RTC_CH0 35 // RTC channel 0 |
| #define AON_EVENT_RTC_CH1 36 // RTC channel 1 |
| #define AON_EVENT_RTC_CH2 37 // RTC channel 2 |
| #define AON_EVENT_RTC_CH0_DLY 38 // RTC channel 0 - delayed event |
| #define AON_EVENT_RTC_CH1_DLY 39 // RTC channel 1 - delayed event |
| #define AON_EVENT_RTC_CH2_DLY 40 // RTC channel 2 - delayed event |
| #define AON_EVENT_RTC_COMB_DLY 41 // RTC combined delayed event |
| #define AON_EVENT_RTC_UPD 42 // RTC Update Tick (16 kHz signal, i.e. event line toggles value every 32 kHz clock period) |
| #define AON_EVENT_JTAG 43 // JTAG generated event |
| #define AON_EVENT_AUX_SWEV0 44 // AUX Software triggered event #0 |
| #define AON_EVENT_AUX_SWEV1 45 // AUX Software triggered event #1 |
| #define AON_EVENT_AUX_SWEV2 46 // AUX Software triggered event #2 |
| #define AON_EVENT_AUX_COMPA 47 // Comparator A triggered (synchronized in AUX) |
| #define AON_EVENT_AUX_COMPB 48 // Comparator B triggered (synchronized in AUX) |
| #define AON_EVENT_AUX_ADC_DONE 49 // ADC conversion completed |
| #define AON_EVENT_AUX_TDC_DONE 50 // TDC completed or timed out |
| #define AON_EVENT_AUX_TIMER0_EV 51 // Timer 0 event |
| #define AON_EVENT_AUX_TIMER1_EV 52 // Timer 1 event |
| #define AON_EVENT_BATMON_TEMP 53 // BATMON temperature update event |
| #define AON_EVENT_BATMON_VOLT 54 // BATMON voltage update event |
| #define AON_EVENT_AUX_COMPB_ASYNC 55 // Comparator B triggered. Asynchronous signal directly from the AUX Comparator B |
| #define AON_EVENT_AUX_COMPB_ASYNC_N 56 // Comparator B not triggered. Asynchronous signal directly from the AUX Comparator B |
| // Event ID 57-62 is reserved for future use |
| #define AON_EVENT_NONE 63 // No event, always low |
| |
| // |
| // Keeping backward compatibility until major revision number is incremented |
| // |
| #define AON_EVENT_RTC0 ( AON_EVENT_RTC_CH0 ) |
| |
| //***************************************************************************** |
| // |
| // Values that can be passed to AONEventMCUWakeUpSet() and returned |
| // by AONEventMCUWakeUpGet(). |
| // |
| //***************************************************************************** |
| #define AON_EVENT_MCU_WU0 0 // Programmable MCU wakeup event 0 |
| #define AON_EVENT_MCU_WU1 1 // Programmable MCU wakeup event 1 |
| #define AON_EVENT_MCU_WU2 2 // Programmable MCU wakeup event 2 |
| #define AON_EVENT_MCU_WU3 3 // Programmable MCU wakeup event 3 |
| |
| //***************************************************************************** |
| // |
| // Values that can be passed to AONEventAuxWakeUpSet() and AONEventAuxWakeUpGet() |
| // |
| //***************************************************************************** |
| #define AON_EVENT_AUX_WU0 0 // Programmable AUX wakeup event 0 |
| #define AON_EVENT_AUX_WU1 1 // Programmable AUX wakeup event 1 |
| #define AON_EVENT_AUX_WU2 2 // Programmable AUX wakeup event 2 |
| |
| //***************************************************************************** |
| // |
| // Values that can be passed to AONEventMcuSet() and AONEventMcuGet() |
| // |
| //***************************************************************************** |
| #define AON_EVENT_MCU_EVENT0 0 // Programmable event source fed to MCU event fabric (first of 3) |
| #define AON_EVENT_MCU_EVENT1 1 // Programmable event source fed to MCU event fabric (second of 3) |
| #define AON_EVENT_MCU_EVENT2 2 // Programmable event source fed to MCU event fabric (third of 3) |
| |
| //***************************************************************************** |
| // |
| // API Functions and prototypes |
| // |
| //***************************************************************************** |
| |
| //***************************************************************************** |
| // |
| //! \brief Select event source for the specified MCU wakeup programmable event. |
| //! |
| //! The AON event fabric has a total of four programmable events that can |
| //! wake-up the MCU. The events are forwarded to the wakeup controller (WUC). |
| //! |
| //! \note The four programmable event sources are effectively OR'ed together |
| //! to form a single wake-up event forwarded to the WUC. |
| //! |
| //! \param ui32MCUWUEvent is one of four programmable MCU wakeup event sources. |
| //! - \ref AON_EVENT_MCU_WU0 |
| //! - \ref AON_EVENT_MCU_WU1 |
| //! - \ref AON_EVENT_MCU_WU2 |
| //! - \ref AON_EVENT_MCU_WU3 |
| //! \param ui32EventSrc is an event source for the event AON fabric. |
| //! - AON_EVENT_DIO0 : Edge detect on DIO0. See hw_device.h |
| //! - ... |
| //! - AON_EVENT_DIO31 : Edge detect on DIO31. See hw_device.h |
| //! - \ref AON_EVENT_IO : Edge detect on any DIO |
| //! - \ref AON_EVENT_RTC_CH0 : RTC channel 0 |
| //! - \ref AON_EVENT_RTC_CH1 : RTC channel 1 |
| //! - \ref AON_EVENT_RTC_CH2 : RTC channel 2 |
| //! - \ref AON_EVENT_RTC_CH0_DLY : RTC channel 0 - delayed event |
| //! - \ref AON_EVENT_RTC_CH1_DLY : RTC channel 1 - delayed event |
| //! - \ref AON_EVENT_RTC_CH2_DLY : RTC channel 2 - delayed event |
| //! - \ref AON_EVENT_RTC_COMB_DLY : RTC combined delayed event |
| //! - \ref AON_EVENT_RTC_UPD : RTC Update Tick (16 kHz signal, i.e. event line toggles value every 32 kHz clock period) |
| //! - \ref AON_EVENT_JTAG : JTAG generated event |
| //! - \ref AON_EVENT_AUX_SWEV0 : AUX Software triggered event #0 |
| //! - \ref AON_EVENT_AUX_SWEV1 : AUX Software triggered event #1 |
| //! - \ref AON_EVENT_AUX_SWEV2 : AUX Software triggered event #2 |
| //! - \ref AON_EVENT_AUX_COMPA : Comparator A triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_COMPB : Comparator B triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_ADC_DONE : ADC conversion completed |
| //! - \ref AON_EVENT_AUX_TDC_DONE : TDC completed or timed out |
| //! - \ref AON_EVENT_AUX_TIMER0_EV : Timer 0 event |
| //! - \ref AON_EVENT_AUX_TIMER1_EV : Timer 1 event |
| //! - \ref AON_EVENT_BATMON_TEMP : BATMON temperature update event |
| //! - \ref AON_EVENT_BATMON_VOLT : BATMON voltage update event |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC : Comparator B triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC_N : Comparator B not triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_NONE : No event, always low |
| //! |
| //! \return None |
| //! |
| //! \sa AONEventMcuWakeUpGet() |
| // |
| //***************************************************************************** |
| extern void AONEventMcuWakeUpSet(uint32_t ui32MCUWUEvent, |
| uint32_t ui32EventSrc); |
| |
| //***************************************************************************** |
| // |
| //! \brief Get event source for the specified MCU wakeup programmable event. |
| //! |
| //! The AON event fabric has a total of four programmable events that can |
| //! wake-up the MCU. The events are forwarded to the wakeup controller (WUC). |
| //! |
| //! \param ui32MCUWUEvent is one of four programmable MCU wakeup event sources. |
| //! - \ref AON_EVENT_MCU_WU0 |
| //! - \ref AON_EVENT_MCU_WU1 |
| //! - \ref AON_EVENT_MCU_WU2 |
| //! - \ref AON_EVENT_MCU_WU3 |
| //! |
| //! \return Returns an event source for the event AON fabric, i.e. one of the |
| //! following: |
| //! - AON_EVENT_DIO0 : Edge detect on DIO0. See hw_device.h |
| //! - ... |
| //! - AON_EVENT_DIO31 : Edge detect on DIO31. See hw_device.h |
| //! - \ref AON_EVENT_IO : Edge detect on any DIO |
| //! - \ref AON_EVENT_RTC_CH0 : RTC channel 0 |
| //! - \ref AON_EVENT_RTC_CH1 : RTC channel 1 |
| //! - \ref AON_EVENT_RTC_CH2 : RTC channel 2 |
| //! - \ref AON_EVENT_RTC_CH0_DLY : RTC channel 0 - delayed event |
| //! - \ref AON_EVENT_RTC_CH1_DLY : RTC channel 1 - delayed event |
| //! - \ref AON_EVENT_RTC_CH2_DLY : RTC channel 2 - delayed event |
| //! - \ref AON_EVENT_RTC_COMB_DLY : RTC combined delayed event |
| //! - \ref AON_EVENT_RTC_UPD : RTC Update Tick (16 kHz signal, i.e. event line toggles value every 32 kHz clock period) |
| //! - \ref AON_EVENT_JTAG : JTAG generated event |
| //! - \ref AON_EVENT_AUX_SWEV0 : AUX Software triggered event #0 |
| //! - \ref AON_EVENT_AUX_SWEV1 : AUX Software triggered event #1 |
| //! - \ref AON_EVENT_AUX_SWEV2 : AUX Software triggered event #2 |
| //! - \ref AON_EVENT_AUX_COMPA : Comparator A triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_COMPB : Comparator B triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_ADC_DONE : ADC conversion completed |
| //! - \ref AON_EVENT_AUX_TDC_DONE : TDC completed or timed out |
| //! - \ref AON_EVENT_AUX_TIMER0_EV : Timer 0 event |
| //! - \ref AON_EVENT_AUX_TIMER1_EV : Timer 1 event |
| //! - \ref AON_EVENT_BATMON_TEMP : BATMON temperature update event |
| //! - \ref AON_EVENT_BATMON_VOLT : BATMON voltage update event |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC : Comparator B triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC_N : Comparator B not triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_NONE : No event, always low |
| //! |
| //! \sa AONEventMcuWakeUpSet() |
| // |
| //***************************************************************************** |
| extern uint32_t AONEventMcuWakeUpGet(uint32_t ui32MCUWUEvent); |
| |
| //***************************************************************************** |
| // |
| //! \brief Select event source for the specified AUX wakeup programmable event. |
| //! |
| //! The AON event fabric has a total of three programmable events that can |
| //! wake-up the AUX domain. The events are forwarded to the wakeup |
| //! controller (WUC). |
| //! |
| //! \note The three programmable event sources are effectively OR'ed together |
| //! to form a single wake-up event forwarded to the WUC. |
| //! |
| //! \param ui32AUXWUEvent is one of three programmable AUX wakeup event sources. |
| //! - \ref AON_EVENT_AUX_WU0 |
| //! - \ref AON_EVENT_AUX_WU1 |
| //! - \ref AON_EVENT_AUX_WU2 |
| //! \param ui32EventSrc is an event sources for the event AON fabric. |
| //! - AON_EVENT_DIO0 : Edge detect on DIO0. See hw_device.h |
| //! - ... |
| //! - AON_EVENT_DIO31 : Edge detect on DIO31. See hw_device.h |
| //! - \ref AON_EVENT_IO : Edge detect on any DIO |
| //! - \ref AON_EVENT_RTC_CH0 : RTC channel 0 |
| //! - \ref AON_EVENT_RTC_CH1 : RTC channel 1 |
| //! - \ref AON_EVENT_RTC_CH2 : RTC channel 2 |
| //! - \ref AON_EVENT_RTC_CH0_DLY : RTC channel 0 - delayed event |
| //! - \ref AON_EVENT_RTC_CH1_DLY : RTC channel 1 - delayed event |
| //! - \ref AON_EVENT_RTC_CH2_DLY : RTC channel 2 - delayed event |
| //! - \ref AON_EVENT_RTC_COMB_DLY : RTC combined delayed event |
| //! - \ref AON_EVENT_RTC_UPD : RTC Update Tick (16 kHz signal, i.e. event line toggles value every 32 kHz clock period) |
| //! - \ref AON_EVENT_JTAG : JTAG generated event |
| //! - \ref AON_EVENT_AUX_SWEV0 : AUX Software triggered event #0 |
| //! - \ref AON_EVENT_AUX_SWEV1 : AUX Software triggered event #1 |
| //! - \ref AON_EVENT_AUX_SWEV2 : AUX Software triggered event #2 |
| //! - \ref AON_EVENT_AUX_COMPA : Comparator A triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_COMPB : Comparator B triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_ADC_DONE : ADC conversion completed |
| //! - \ref AON_EVENT_AUX_TDC_DONE : TDC completed or timed out |
| //! - \ref AON_EVENT_AUX_TIMER0_EV : Timer 0 event |
| //! - \ref AON_EVENT_AUX_TIMER1_EV : Timer 1 event |
| //! - \ref AON_EVENT_BATMON_TEMP : BATMON temperature update event |
| //! - \ref AON_EVENT_BATMON_VOLT : BATMON voltage update event |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC : Comparator B triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC_N : Comparator B not triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_NONE : No event, always low |
| //! |
| //! \return None |
| //! |
| //! \sa AONEventAuxWakeUpGet() |
| // |
| //***************************************************************************** |
| extern void AONEventAuxWakeUpSet(uint32_t ui32AUXWUEvent, |
| uint32_t ui32EventSrc); |
| |
| //***************************************************************************** |
| // |
| //! \brief Get event source for the specified AUX wakeup programmable event. |
| //! |
| //! The AON event fabric has a total of three programmable events that can |
| //! wake-up the AUX domain. The events are forwarded to the wakeup |
| //! controller (WUC). |
| //! |
| //! \param ui32AUXWUEvent is one of three programmable AUX wakeup event sources. |
| //! - \ref AON_EVENT_AUX_WU0 |
| //! - \ref AON_EVENT_AUX_WU1 |
| //! - \ref AON_EVENT_AUX_WU2 |
| //! |
| //! \return Returns an event source for the event AON fabric, i.e. one of the following: |
| //! - AON_EVENT_DIO0 : Edge detect on DIO0. See hw_device.h |
| //! - ... |
| //! - AON_EVENT_DIO31 : Edge detect on DIO31. See hw_device.h |
| //! - \ref AON_EVENT_IO : Edge detect on any DIO |
| //! - \ref AON_EVENT_RTC_CH0 : RTC channel 0 |
| //! - \ref AON_EVENT_RTC_CH1 : RTC channel 1 |
| //! - \ref AON_EVENT_RTC_CH2 : RTC channel 2 |
| //! - \ref AON_EVENT_RTC_CH0_DLY : RTC channel 0 - delayed event |
| //! - \ref AON_EVENT_RTC_CH1_DLY : RTC channel 1 - delayed event |
| //! - \ref AON_EVENT_RTC_CH2_DLY : RTC channel 2 - delayed event |
| //! - \ref AON_EVENT_RTC_COMB_DLY : RTC combined delayed event |
| //! - \ref AON_EVENT_RTC_UPD : RTC Update Tick (16 kHz signal, i.e. event line toggles value every 32 kHz clock period) |
| //! - \ref AON_EVENT_JTAG : JTAG generated event |
| //! - \ref AON_EVENT_AUX_SWEV0 : AUX Software triggered event #0 |
| //! - \ref AON_EVENT_AUX_SWEV1 : AUX Software triggered event #1 |
| //! - \ref AON_EVENT_AUX_SWEV2 : AUX Software triggered event #2 |
| //! - \ref AON_EVENT_AUX_COMPA : Comparator A triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_COMPB : Comparator B triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_ADC_DONE : ADC conversion completed |
| //! - \ref AON_EVENT_AUX_TDC_DONE : TDC completed or timed out |
| //! - \ref AON_EVENT_AUX_TIMER0_EV : Timer 0 event |
| //! - \ref AON_EVENT_AUX_TIMER1_EV : Timer 1 event |
| //! - \ref AON_EVENT_BATMON_TEMP : BATMON temperature update event |
| //! - \ref AON_EVENT_BATMON_VOLT : BATMON voltage update event |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC : Comparator B triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC_N : Comparator B not triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_NONE : No event, always low |
| //! |
| //! \sa AONEventAuxWakeUpSet() |
| // |
| //***************************************************************************** |
| extern uint32_t AONEventAuxWakeUpGet(uint32_t ui32AUXWUEvent); |
| |
| //***************************************************************************** |
| // |
| //! \brief Select event source for the specified programmable event forwarded to the |
| //! MCU event fabric. |
| //! |
| //! The AON event fabric has a total of three programmable events that can |
| //! be forwarded to the MCU event fabric. |
| //! |
| //! \note The three programmable event sources are forwarded to the MCU Event |
| //! Fabric as: |
| //! - AON_PROG0 |
| //! - AON_PROG1 |
| //! - AON_PROG2 |
| //! |
| //! \param ui32MCUEvent is one of three programmable events forwarded to the |
| //! MCU event fabric. |
| //! - \ref AON_EVENT_MCU_EVENT0 |
| //! - \ref AON_EVENT_MCU_EVENT1 |
| //! - \ref AON_EVENT_MCU_EVENT2 |
| //! \param ui32EventSrc is event sources for the event AON fabric. |
| //! - AON_EVENT_DIO0 : Edge detect on DIO0. See hw_device.h |
| //! - ... |
| //! - AON_EVENT_DIO31 : Edge detect on DIO31. See hw_device.h |
| //! - \ref AON_EVENT_IO : Edge detect on any DIO |
| //! - \ref AON_EVENT_RTC_CH0 : RTC channel 0 |
| //! - \ref AON_EVENT_RTC_CH1 : RTC channel 1 |
| //! - \ref AON_EVENT_RTC_CH2 : RTC channel 2 |
| //! - \ref AON_EVENT_RTC_CH0_DLY : RTC channel 0 - delayed event |
| //! - \ref AON_EVENT_RTC_CH1_DLY : RTC channel 1 - delayed event |
| //! - \ref AON_EVENT_RTC_CH2_DLY : RTC channel 2 - delayed event |
| //! - \ref AON_EVENT_RTC_COMB_DLY : RTC combined delayed event |
| //! - \ref AON_EVENT_RTC_UPD : RTC Update Tick (16 kHz signal, i.e. event line toggles value every 32 kHz clock period) |
| //! - \ref AON_EVENT_JTAG : JTAG generated event |
| //! - \ref AON_EVENT_AUX_SWEV0 : AUX Software triggered event #0 |
| //! - \ref AON_EVENT_AUX_SWEV1 : AUX Software triggered event #1 |
| //! - \ref AON_EVENT_AUX_SWEV2 : AUX Software triggered event #2 |
| //! - \ref AON_EVENT_AUX_COMPA : Comparator A triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_COMPB : Comparator B triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_ADC_DONE : ADC conversion completed |
| //! - \ref AON_EVENT_AUX_TDC_DONE : TDC completed or timed out |
| //! - \ref AON_EVENT_AUX_TIMER0_EV : Timer 0 event |
| //! - \ref AON_EVENT_AUX_TIMER1_EV : Timer 1 event |
| //! - \ref AON_EVENT_BATMON_TEMP : BATMON temperature update event |
| //! - \ref AON_EVENT_BATMON_VOLT : BATMON voltage update event |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC : Comparator B triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC_N : Comparator B not triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_NONE : No event, always low |
| //! |
| //! \return None |
| //! |
| //! \sa AONEventMcuGet() |
| // |
| //***************************************************************************** |
| extern void AONEventMcuSet(uint32_t ui32MCUEvent, uint32_t ui32EventSrc); |
| |
| //***************************************************************************** |
| // |
| //! \brief Get source for the specified programmable event forwarded to the MCU event |
| //! fabric. |
| //! |
| //! The AON event fabric has a total of three programmable events that can |
| //! be forwarded to the MCU event fabric. |
| //! |
| //! \param ui32MCUEvent is one of three programmable events forwarded to the |
| //! MCU event fabric. |
| //! - \ref AON_EVENT_MCU_EVENT0 |
| //! - \ref AON_EVENT_MCU_EVENT1 |
| //! - \ref AON_EVENT_MCU_EVENT2 |
| //! |
| //! \return Returns an event source for the event AON fabric, i.e. one of the following: |
| //! - AON_EVENT_DIO0 : Edge detect on DIO0. See hw_device.h |
| //! - ... |
| //! - AON_EVENT_DIO31 : Edge detect on DIO31. See hw_device.h |
| //! - \ref AON_EVENT_IO : Edge detect on any DIO |
| //! - \ref AON_EVENT_RTC_CH0 : RTC channel 0 |
| //! - \ref AON_EVENT_RTC_CH1 : RTC channel 1 |
| //! - \ref AON_EVENT_RTC_CH2 : RTC channel 2 |
| //! - \ref AON_EVENT_RTC_CH0_DLY : RTC channel 0 - delayed event |
| //! - \ref AON_EVENT_RTC_CH1_DLY : RTC channel 1 - delayed event |
| //! - \ref AON_EVENT_RTC_CH2_DLY : RTC channel 2 - delayed event |
| //! - \ref AON_EVENT_RTC_COMB_DLY : RTC combined delayed event |
| //! - \ref AON_EVENT_RTC_UPD : RTC Update Tick (16 kHz signal, i.e. event line toggles value every 32 kHz clock period) |
| //! - \ref AON_EVENT_JTAG : JTAG generated event |
| //! - \ref AON_EVENT_AUX_SWEV0 : AUX Software triggered event #0 |
| //! - \ref AON_EVENT_AUX_SWEV1 : AUX Software triggered event #1 |
| //! - \ref AON_EVENT_AUX_SWEV2 : AUX Software triggered event #2 |
| //! - \ref AON_EVENT_AUX_COMPA : Comparator A triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_COMPB : Comparator B triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_ADC_DONE : ADC conversion completed |
| //! - \ref AON_EVENT_AUX_TDC_DONE : TDC completed or timed out |
| //! - \ref AON_EVENT_AUX_TIMER0_EV : Timer 0 event |
| //! - \ref AON_EVENT_AUX_TIMER1_EV : Timer 1 event |
| //! - \ref AON_EVENT_BATMON_TEMP : BATMON temperature update event |
| //! - \ref AON_EVENT_BATMON_VOLT : BATMON voltage update event |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC : Comparator B triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC_N : Comparator B not triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_NONE : No event, always low |
| //! |
| //! \sa AONEventMcuSet() |
| // |
| //***************************************************************************** |
| extern uint32_t AONEventMcuGet(uint32_t ui32MCUEvent); |
| |
| //***************************************************************************** |
| // |
| //! \brief Select event source forwarded to AON Real Time Clock (RTC). |
| //! |
| //! A programmable event can be forwarded to the AON real time clock |
| //! for triggering a capture event on RTC channel 1. |
| //! |
| //! \param ui32EventSrc is the event sources for the event AON fabric. |
| //! - AON_EVENT_DIO0 : Edge detect on DIO0. See hw_device.h |
| //! - ... |
| //! - AON_EVENT_DIO31 : Edge detect on DIO31. See hw_device.h |
| //! - \ref AON_EVENT_IO : Edge detect on any DIO |
| //! - \ref AON_EVENT_RTC_CH0 : RTC channel 0 |
| //! - \ref AON_EVENT_RTC_CH1 : RTC channel 1 |
| //! - \ref AON_EVENT_RTC_CH2 : RTC channel 2 |
| //! - \ref AON_EVENT_RTC_CH0_DLY : RTC channel 0 - delayed event |
| //! - \ref AON_EVENT_RTC_CH1_DLY : RTC channel 1 - delayed event |
| //! - \ref AON_EVENT_RTC_CH2_DLY : RTC channel 2 - delayed event |
| //! - \ref AON_EVENT_RTC_COMB_DLY : RTC combined delayed event |
| //! - \ref AON_EVENT_RTC_UPD : RTC Update Tick (16 kHz signal, i.e. event line toggles value every 32 kHz clock period) |
| //! - \ref AON_EVENT_JTAG : JTAG generated event |
| //! - \ref AON_EVENT_AUX_SWEV0 : AUX Software triggered event #0 |
| //! - \ref AON_EVENT_AUX_SWEV1 : AUX Software triggered event #1 |
| //! - \ref AON_EVENT_AUX_SWEV2 : AUX Software triggered event #2 |
| //! - \ref AON_EVENT_AUX_COMPA : Comparator A triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_COMPB : Comparator B triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_ADC_DONE : ADC conversion completed |
| //! - \ref AON_EVENT_AUX_TDC_DONE : TDC completed or timed out |
| //! - \ref AON_EVENT_AUX_TIMER0_EV : Timer 0 event |
| //! - \ref AON_EVENT_AUX_TIMER1_EV : Timer 1 event |
| //! - \ref AON_EVENT_BATMON_TEMP : BATMON temperature update event |
| //! - \ref AON_EVENT_BATMON_VOLT : BATMON voltage update event |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC : Comparator B triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC_N : Comparator B not triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_NONE : No event, always low |
| //! |
| //! \return None |
| //! |
| //! \sa AONEventRtcGet() |
| // |
| //***************************************************************************** |
| __STATIC_INLINE void |
| AONEventRtcSet(uint32_t ui32EventSrc) |
| { |
| uint32_t ui32Ctrl; |
| |
| // |
| // Check the arguments. |
| // |
| ASSERT(ui32EventSrc <= AON_EVENT_NONE); |
| |
| ui32Ctrl = HWREG(AON_EVENT_BASE + AON_EVENT_O_RTCSEL); |
| ui32Ctrl &= ~(AON_EVENT_RTCSEL_RTC_CH1_CAPT_EV_M); |
| ui32Ctrl |= (ui32EventSrc & 0x3f) << AON_EVENT_RTCSEL_RTC_CH1_CAPT_EV_S; |
| |
| HWREG(AON_EVENT_BASE + AON_EVENT_O_RTCSEL) = ui32Ctrl; |
| } |
| |
| //***************************************************************************** |
| // |
| //! \brief Get event source forwarded to AON Real Time Clock (RTC). |
| //! |
| //! A programmable event can be forwarded to the AON real time clock |
| //! for triggering a capture event on RTC channel 1. |
| //! |
| //! \return Returns an event source to the event AON fabric, i.e. one of the following: |
| //! - AON_EVENT_DIO0 : Edge detect on DIO0. See hw_device.h |
| //! - ... |
| //! - AON_EVENT_DIO31 : Edge detect on DIO31. See hw_device.h |
| //! - \ref AON_EVENT_IO : Edge detect on any DIO |
| //! - \ref AON_EVENT_RTC_CH0 : RTC channel 0 |
| //! - \ref AON_EVENT_RTC_CH1 : RTC channel 1 |
| //! - \ref AON_EVENT_RTC_CH2 : RTC channel 2 |
| //! - \ref AON_EVENT_RTC_CH0_DLY : RTC channel 0 - delayed event |
| //! - \ref AON_EVENT_RTC_CH1_DLY : RTC channel 1 - delayed event |
| //! - \ref AON_EVENT_RTC_CH2_DLY : RTC channel 2 - delayed event |
| //! - \ref AON_EVENT_RTC_COMB_DLY : RTC combined delayed event |
| //! - \ref AON_EVENT_RTC_UPD : RTC Update Tick (16 kHz signal, i.e. event line toggles value every 32 kHz clock period) |
| //! - \ref AON_EVENT_JTAG : JTAG generated event |
| //! - \ref AON_EVENT_AUX_SWEV0 : AUX Software triggered event #0 |
| //! - \ref AON_EVENT_AUX_SWEV1 : AUX Software triggered event #1 |
| //! - \ref AON_EVENT_AUX_SWEV2 : AUX Software triggered event #2 |
| //! - \ref AON_EVENT_AUX_COMPA : Comparator A triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_COMPB : Comparator B triggered (synchronized in AUX) |
| //! - \ref AON_EVENT_AUX_ADC_DONE : ADC conversion completed |
| //! - \ref AON_EVENT_AUX_TDC_DONE : TDC completed or timed out |
| //! - \ref AON_EVENT_AUX_TIMER0_EV : Timer 0 event |
| //! - \ref AON_EVENT_AUX_TIMER1_EV : Timer 1 event |
| //! - \ref AON_EVENT_BATMON_TEMP : BATMON temperature update event |
| //! - \ref AON_EVENT_BATMON_VOLT : BATMON voltage update event |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC : Comparator B triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_AUX_COMPB_ASYNC_N : Comparator B not triggered. Asynchronous signal directly from the AUX Comparator B |
| //! - \ref AON_EVENT_NONE : No event, always low |
| //! |
| //! \sa AONEventRtcSet() |
| // |
| //***************************************************************************** |
| __STATIC_INLINE uint32_t |
| AONEventRtcGet(void) |
| { |
| uint32_t ui32EventSrc; |
| |
| // |
| // Return the active event. |
| // |
| ui32EventSrc = HWREG(AON_EVENT_BASE + AON_EVENT_O_RTCSEL); |
| |
| return ((ui32EventSrc & AON_EVENT_RTCSEL_RTC_CH1_CAPT_EV_M) >> |
| AON_EVENT_RTCSEL_RTC_CH1_CAPT_EV_S); |
| } |
| |
| //***************************************************************************** |
| // |
| // Support for DriverLib in ROM: |
| // Redirect to implementation in ROM when available. |
| // |
| //***************************************************************************** |
| #if !defined(DRIVERLIB_NOROM) && !defined(DOXYGEN) |
| #include <driverlib/rom.h> |
| #ifdef ROM_AONEventMcuWakeUpSet |
| #undef AONEventMcuWakeUpSet |
| #define AONEventMcuWakeUpSet ROM_AONEventMcuWakeUpSet |
| #endif |
| #ifdef ROM_AONEventMcuWakeUpGet |
| #undef AONEventMcuWakeUpGet |
| #define AONEventMcuWakeUpGet ROM_AONEventMcuWakeUpGet |
| #endif |
| #ifdef ROM_AONEventAuxWakeUpSet |
| #undef AONEventAuxWakeUpSet |
| #define AONEventAuxWakeUpSet ROM_AONEventAuxWakeUpSet |
| #endif |
| #ifdef ROM_AONEventAuxWakeUpGet |
| #undef AONEventAuxWakeUpGet |
| #define AONEventAuxWakeUpGet ROM_AONEventAuxWakeUpGet |
| #endif |
| #ifdef ROM_AONEventMcuSet |
| #undef AONEventMcuSet |
| #define AONEventMcuSet ROM_AONEventMcuSet |
| #endif |
| #ifdef ROM_AONEventMcuGet |
| #undef AONEventMcuGet |
| #define AONEventMcuGet ROM_AONEventMcuGet |
| #endif |
| #endif |
| |
| //***************************************************************************** |
| // |
| // Mark the end of the C bindings section for C++ compilers. |
| // |
| //***************************************************************************** |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // __AON_EVENT_H__ |
| |
| //***************************************************************************** |
| // |
| //! Close the Doxygen group. |
| //! @} |
| //! @} |
| // |
| //***************************************************************************** |