blob: 2af3ea5d95b8adfb5b96d300f57347ea2d0dc2b1 [file] [log] [blame]
/******************************************************************************
* Filename: hw_aux_anaif_h
* Revised: 2016-03-14 09:20:59 +0100 (Mon, 14 Mar 2016)
* Revision: 45924
*
* 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.
*
******************************************************************************/
#ifndef __HW_AUX_ANAIF_H__
#define __HW_AUX_ANAIF_H__
//*****************************************************************************
//
// This section defines the register offsets of
// AUX_ANAIF component
//
//*****************************************************************************
// ADC Control
#define AUX_ANAIF_O_ADCCTL 0x00000010
// ADC FIFO Status
#define AUX_ANAIF_O_ADCFIFOSTAT 0x00000014
// ADC FIFO
#define AUX_ANAIF_O_ADCFIFO 0x00000018
// ADC Trigger
#define AUX_ANAIF_O_ADCTRIG 0x0000001C
// Current Source Control
#define AUX_ANAIF_O_ISRCCTL 0x00000020
//*****************************************************************************
//
// Register: AUX_ANAIF_O_ADCCTL
//
//*****************************************************************************
// Field: [13] START_POL
//
// Selected active edge for start event / Selected polarity for start event
// ENUMs:
// FALL Start on falling edge of event
// RISE Start on rising edge of event
#define AUX_ANAIF_ADCCTL_START_POL 0x00002000
#define AUX_ANAIF_ADCCTL_START_POL_BITN 13
#define AUX_ANAIF_ADCCTL_START_POL_M 0x00002000
#define AUX_ANAIF_ADCCTL_START_POL_S 13
#define AUX_ANAIF_ADCCTL_START_POL_FALL 0x00002000
#define AUX_ANAIF_ADCCTL_START_POL_RISE 0x00000000
// Field: [12:8] START_SRC
//
// Selected source for ADC conversion start event. The start source selected by
// this field is OR'ed with any trigger coming from writes to ADCTRIG.START. If
// it is desired to only trigger ADC conversions by writes to ADCTRIG.START one
// should select NO_EVENT<n> here
// ENUMs:
// ADC_IRQ Selects ADC_IRQ as start signal
// MCU_EV Selects MCU_EV as start signal
// ACLK_REF Selects ACLK_REF as start signal
// AUXIO15 Selects AUXIO15 as start signal
// AUXIO14 Selects AUXIO14 as start signal
// AUXIO13 Selects AUXIO13 as start signal
// AUXIO12 Selects AUXIO12 as start signal
// AUXIO11 Selects AUXIO11 as start signal
// AUXIO10 Selects AUXIO10 as start signal
// AUXIO9 Selects AUXIO9 as start signal
// AUXIO8 Selects AUXIO8 as start signal
// AUXIO7 Selects AUXIO7 as start signal
// AUXIO6 Selects AUXIO6 as start signal
// AUXIO5 Selects AUXIO5 as start signal
// AUXIO4 Selects AUXIO4 as start signal
// AUXIO3 Selects AUXIO3 as start signal
// AUXIO2 Selects AUXIO2 as start signal
// AUXIO1 Selects AUXIO1 as start signal
// AUXIO0 Selects AUXIO0 as start signal
// AON_PROG_WU Selects AON_PROG_WU as start signal
// AON_SW Selects AON_SW as start signal
// NO_EVENT1 No event selected
// NO_EVENT0 No event selected
// RESERVED1 Reserved do not use
// RESERVED0 Reserved do not use
// SMPH_AUTOTAKE_DONE Selects SMPH_AUTOTAKE_DONE as start signal
// TIMER1_EV Selects TIMER1_EV as start signal
// TIMER0_EV Selects TIMER0_EV as start signal
// TDC_DONE Selects TDC_DONE as start signal
// AUX_COMPB Selects AUX_COMPB as start signal
// AUX_COMPA Selects AUX_COMPA as start signal
// RTC_CH2_EV Selects RTC_CH2_EV as start signal
#define AUX_ANAIF_ADCCTL_START_SRC_W 5
#define AUX_ANAIF_ADCCTL_START_SRC_M 0x00001F00
#define AUX_ANAIF_ADCCTL_START_SRC_S 8
#define AUX_ANAIF_ADCCTL_START_SRC_ADC_IRQ 0x00001F00
#define AUX_ANAIF_ADCCTL_START_SRC_MCU_EV 0x00001E00
#define AUX_ANAIF_ADCCTL_START_SRC_ACLK_REF 0x00001D00
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO15 0x00001C00
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO14 0x00001B00
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO13 0x00001A00
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO12 0x00001900
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO11 0x00001800
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO10 0x00001700
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO9 0x00001600
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO8 0x00001500
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO7 0x00001400
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO6 0x00001300
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO5 0x00001200
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO4 0x00001100
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO3 0x00001000
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO2 0x00000F00
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO1 0x00000E00
#define AUX_ANAIF_ADCCTL_START_SRC_AUXIO0 0x00000D00
#define AUX_ANAIF_ADCCTL_START_SRC_AON_PROG_WU 0x00000C00
#define AUX_ANAIF_ADCCTL_START_SRC_AON_SW 0x00000B00
#define AUX_ANAIF_ADCCTL_START_SRC_NO_EVENT1 0x00000A00
#define AUX_ANAIF_ADCCTL_START_SRC_NO_EVENT0 0x00000900
#define AUX_ANAIF_ADCCTL_START_SRC_RESERVED1 0x00000800
#define AUX_ANAIF_ADCCTL_START_SRC_RESERVED0 0x00000700
#define AUX_ANAIF_ADCCTL_START_SRC_SMPH_AUTOTAKE_DONE 0x00000600
#define AUX_ANAIF_ADCCTL_START_SRC_TIMER1_EV 0x00000500
#define AUX_ANAIF_ADCCTL_START_SRC_TIMER0_EV 0x00000400
#define AUX_ANAIF_ADCCTL_START_SRC_TDC_DONE 0x00000300
#define AUX_ANAIF_ADCCTL_START_SRC_AUX_COMPB 0x00000200
#define AUX_ANAIF_ADCCTL_START_SRC_AUX_COMPA 0x00000100
#define AUX_ANAIF_ADCCTL_START_SRC_RTC_CH2_EV 0x00000000
// Field: [1:0] CMD
//
// ADC interface control command
// ENUMs:
// FLUSH ADC FIFO flush. Note that CMD needs to be set to
// 'EN' again for FIFO to be functional after a
// flush. A flush takes two clock periods on the
// AUX clock to finish.
// EN ADC interface enabled
// DIS ADC interface disabled
#define AUX_ANAIF_ADCCTL_CMD_W 2
#define AUX_ANAIF_ADCCTL_CMD_M 0x00000003
#define AUX_ANAIF_ADCCTL_CMD_S 0
#define AUX_ANAIF_ADCCTL_CMD_FLUSH 0x00000003
#define AUX_ANAIF_ADCCTL_CMD_EN 0x00000001
#define AUX_ANAIF_ADCCTL_CMD_DIS 0x00000000
//*****************************************************************************
//
// Register: AUX_ANAIF_O_ADCFIFOSTAT
//
//*****************************************************************************
// Field: [4] OVERFLOW
//
// FIFO overflow flag.
//
// 0: FIFO has not overflowed.
// 1: FIFO has overflowed, this flag is sticky until FIFO is flushed.
#define AUX_ANAIF_ADCFIFOSTAT_OVERFLOW 0x00000010
#define AUX_ANAIF_ADCFIFOSTAT_OVERFLOW_BITN 4
#define AUX_ANAIF_ADCFIFOSTAT_OVERFLOW_M 0x00000010
#define AUX_ANAIF_ADCFIFOSTAT_OVERFLOW_S 4
// Field: [3] UNDERFLOW
//
// FIFO underflow flag.
//
// 0: FIFO has not underflowed
// 1: FIFO has underflowed, this flag is sticky until the FIFO is flushed
#define AUX_ANAIF_ADCFIFOSTAT_UNDERFLOW 0x00000008
#define AUX_ANAIF_ADCFIFOSTAT_UNDERFLOW_BITN 3
#define AUX_ANAIF_ADCFIFOSTAT_UNDERFLOW_M 0x00000008
#define AUX_ANAIF_ADCFIFOSTAT_UNDERFLOW_S 3
// Field: [2] FULL
//
// FIFO full flag.
//
// 0: FIFO is not full, i.e. there is less than 4 samples in the FIFO.
// 1: FIFO is full, i.e. there are 4 samples in the FIFO
#define AUX_ANAIF_ADCFIFOSTAT_FULL 0x00000004
#define AUX_ANAIF_ADCFIFOSTAT_FULL_BITN 2
#define AUX_ANAIF_ADCFIFOSTAT_FULL_M 0x00000004
#define AUX_ANAIF_ADCFIFOSTAT_FULL_S 2
// Field: [1] ALMOST_FULL
//
// FIFO almost full flag.
//
// 0: There is less than 3 samples in the FIFO, or the FIFO is full in which
// case the FULL flag is asserted
// 1: There are 3 samples in the FIFO, i.e. there is room for one more sample
#define AUX_ANAIF_ADCFIFOSTAT_ALMOST_FULL 0x00000002
#define AUX_ANAIF_ADCFIFOSTAT_ALMOST_FULL_BITN 1
#define AUX_ANAIF_ADCFIFOSTAT_ALMOST_FULL_M 0x00000002
#define AUX_ANAIF_ADCFIFOSTAT_ALMOST_FULL_S 1
// Field: [0] EMPTY
//
// FIFO empty flag.
//
// 0: FIFO contains one or more samples
// 1: FIFO is empty
#define AUX_ANAIF_ADCFIFOSTAT_EMPTY 0x00000001
#define AUX_ANAIF_ADCFIFOSTAT_EMPTY_BITN 0
#define AUX_ANAIF_ADCFIFOSTAT_EMPTY_M 0x00000001
#define AUX_ANAIF_ADCFIFOSTAT_EMPTY_S 0
//*****************************************************************************
//
// Register: AUX_ANAIF_O_ADCFIFO
//
//*****************************************************************************
// Field: [11:0] DATA
//
// FIFO is popped when read. Data is pushed into FIFO when written. Writing is
// intended for debugging/code development purposes
#define AUX_ANAIF_ADCFIFO_DATA_W 12
#define AUX_ANAIF_ADCFIFO_DATA_M 0x00000FFF
#define AUX_ANAIF_ADCFIFO_DATA_S 0
//*****************************************************************************
//
// Register: AUX_ANAIF_O_ADCTRIG
//
//*****************************************************************************
// Field: [0] START
//
// Writing to this register will trigger an ADC conversion given that
// ADCCTL.START_SRC is set to NO_EVENT0 or NO_EVENT1. If other setting is used
// in ADCCTL.START_SRC behavior can be unpredictable
#define AUX_ANAIF_ADCTRIG_START 0x00000001
#define AUX_ANAIF_ADCTRIG_START_BITN 0
#define AUX_ANAIF_ADCTRIG_START_M 0x00000001
#define AUX_ANAIF_ADCTRIG_START_S 0
//*****************************************************************************
//
// Register: AUX_ANAIF_O_ISRCCTL
//
//*****************************************************************************
// Field: [0] RESET_N
//
// Current source control
//
// 0: Current source is clamped
// 1: Current source is active/charging
#define AUX_ANAIF_ISRCCTL_RESET_N 0x00000001
#define AUX_ANAIF_ISRCCTL_RESET_N_BITN 0
#define AUX_ANAIF_ISRCCTL_RESET_N_M 0x00000001
#define AUX_ANAIF_ISRCCTL_RESET_N_S 0
#endif // __AUX_ANAIF__