]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/MSP430FR5969_LaunchPad/driverlib/MSP430FR5xx_6xx/ref_a.h
Start of an MSP430FR5969 IAR project - currently running Blinky only.
[freertos] / FreeRTOS / Demo / MSP430FR5969_LaunchPad / driverlib / MSP430FR5xx_6xx / ref_a.h
diff --git a/FreeRTOS/Demo/MSP430FR5969_LaunchPad/driverlib/MSP430FR5xx_6xx/ref_a.h b/FreeRTOS/Demo/MSP430FR5969_LaunchPad/driverlib/MSP430FR5xx_6xx/ref_a.h
new file mode 100644 (file)
index 0000000..d36ed9a
--- /dev/null
@@ -0,0 +1,407 @@
+/* --COPYRIGHT--,BSD\r
+ * Copyright (c) 2014, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * *  Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * *  Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ *\r
+ * *  Neither the name of Texas Instruments Incorporated nor the names of\r
+ *    its contributors may be used to endorse or promote products derived\r
+ *    from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ * --/COPYRIGHT--*/\r
+//*****************************************************************************\r
+//\r
+// ref_a.h - Driver for the REF_A Module.\r
+//\r
+//*****************************************************************************\r
+\r
+#ifndef __MSP430WARE_REF_A_H__\r
+#define __MSP430WARE_REF_A_H__\r
+\r
+#include "inc/hw_memmap.h"\r
+\r
+#ifdef __MSP430_HAS_REF_A__\r
+\r
+//*****************************************************************************\r
+//\r
+// If building with a C++ compiler, make all of the definitions in this header\r
+// have a C binding.\r
+//\r
+//*****************************************************************************\r
+#ifdef __cplusplus\r
+extern "C"\r
+{\r
+#endif\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the referenceVoltageSelect\r
+// parameter for functions: Ref_A_setReferenceVoltage().\r
+//\r
+//*****************************************************************************\r
+#define REF_A_VREF1_2V                                              (REFVSEL_0)\r
+#define REF_A_VREF2_0V                                              (REFVSEL_1)\r
+#define REF_A_VREF2_5V                                              (REFVSEL_2)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed toThe following are values that\r
+// can be returned by the Ref_A_isBandgapActive() function and the\r
+// Ref_A_isRefGenActive() function.\r
+//\r
+//*****************************************************************************\r
+#define REF_A_ACTIVE                                                       true\r
+#define REF_A_INACTIVE                                                    false\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed toThe following are values that\r
+// can be returned by the Ref_A_getBandgapMode() function.\r
+//\r
+//*****************************************************************************\r
+#define REF_A_STATICMODE                                                   0x00\r
+#define REF_A_SAMPLEMODE                                                 BGMODE\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed toThe following are values that\r
+// can be returned by the Ref_A_isRefGenBusy() function.\r
+//\r
+//*****************************************************************************\r
+#define REF_A_NOTBUSY                                                      0x00\r
+#define REF_A_BUSY                                                   REFGENBUSY\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed toThe following are values that\r
+// can be returned by the Ref_A_isVariableReferenceVoltageOutputReady()\r
+// function and the Ref_A_isBufferedBandgapVoltageReady() function.\r
+//\r
+//*****************************************************************************\r
+#define REF_A_NOTREADY                                                    false\r
+#define REF_A_READY                                                        true\r
+\r
+//*****************************************************************************\r
+//\r
+// Prototypes for the APIs.\r
+//\r
+//*****************************************************************************\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Sets the reference voltage for the voltage generator.\r
+//!\r
+//! This function sets the reference voltage generated by the voltage generator\r
+//! to be used by other peripherals. This reference voltage will only be valid\r
+//! while the Ref_A module is in control. Please note, if the\r
+//! Ref_A_isRefGenBusy() returns Ref_A_BUSY, this function will have no effect.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//! \param referenceVoltageSelect is the desired voltage to generate for a\r
+//!        reference voltage.\r
+//!        Valid values are:\r
+//!        - \b REF_A_VREF1_2V [Default]\r
+//!        - \b REF_A_VREF2_0V\r
+//!        - \b REF_A_VREF2_5V\r
+//!        \n Modified bits are \b REFVSEL of \b REFCTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void Ref_A_setReferenceVoltage(uint16_t baseAddress,\r
+                                      uint8_t referenceVoltageSelect);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Disables the internal temperature sensor to save power consumption.\r
+//!\r
+//! This function is used to turn off the internal temperature sensor to save\r
+//! on power consumption. The temperature sensor is enabled by default. Please\r
+//! note, that giving ADC12 module control over the Ref_A module, the state of\r
+//! the temperature sensor is dependent on the controls of the ADC12 module.\r
+//! Please note, if the Ref_A_isRefGenBusy() returns Ref_A_BUSY, this function\r
+//! will have no effect.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! Modified bits are \b REFTCOFF of \b REFCTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void Ref_A_disableTempSensor(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Enables the internal temperature sensor.\r
+//!\r
+//! This function is used to turn on the internal temperature sensor to use by\r
+//! other peripherals. The temperature sensor is enabled by default. Please\r
+//! note, if the Ref_A_isRefGenBusy() returns Ref_A_BUSY, this function will\r
+//! have no effect.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! Modified bits are \b REFTCOFF of \b REFCTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void Ref_A_enableTempSensor(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Outputs the reference voltage to an output pin.\r
+//!\r
+//! This function is used to output the reference voltage being generated to an\r
+//! output pin. Please note, the output pin is device specific. Please note,\r
+//! that giving ADC12 module control over the Ref_A module, the state of the\r
+//! reference voltage as an output to a pin is dependent on the controls of the\r
+//! ADC12 module. Please note, if the Ref_A_isRefGenBusy() returns Ref_A_BUSY,\r
+//! this function will have no effect.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! Modified bits are \b REFOUT of \b REFCTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void Ref_A_enableReferenceVoltageOutput(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Disables the reference voltage as an output to a pin.\r
+//!\r
+//! This function is used to disables the reference voltage being generated to\r
+//! be given to an output pin. Please note, if the Ref_A_isRefGenBusy() returns\r
+//! Ref_A_BUSY, this function will have no effect.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! Modified bits are \b REFOUT of \b REFCTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void Ref_A_disableReferenceVoltageOutput(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Enables the reference voltage to be used by peripherals.\r
+//!\r
+//! This function is used to enable the generated reference voltage to be used\r
+//! other peripherals or by an output pin, if enabled. Please note, that giving\r
+//! ADC12 module control over the Ref_A module, the state of the reference\r
+//! voltage is dependent on the controls of the ADC12 module. Please note, if\r
+//! the Ref_A_isRefGenBusy() returns Ref_A_BUSY, this function will have no\r
+//! effect.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! Modified bits are \b REFON of \b REFCTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void Ref_A_enableReferenceVoltage(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Disables the reference voltage.\r
+//!\r
+//! This function is used to disable the generated reference voltage. Please\r
+//! note, if the Ref_A_isRefGenBusy() returns Ref_A_BUSY, this function will\r
+//! have no effect.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! Modified bits are \b REFON of \b REFCTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void Ref_A_disableReferenceVoltage(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Returns the bandgap mode of the Ref_A module.\r
+//!\r
+//! This function is used to return the bandgap mode of the Ref_A module,\r
+//! requested by the peripherals using the bandgap. If a peripheral requests\r
+//! static mode, then the bandgap mode will be static for all modules, whereas\r
+//! if all of the peripherals using the bandgap request sample mode, then that\r
+//! will be the mode returned. Sample mode allows the bandgap to be active only\r
+//! when necessary to save on power consumption, static mode requires the\r
+//! bandgap to be active until no peripherals are using it anymore.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! \return One of the following:\r
+//!         - \b Ref_A_STATICMODE if the bandgap is operating in static mode\r
+//!         - \b Ref_A_SAMPLEMODE if the bandgap is operating in sample mode\r
+//!         \n indicating the bandgap mode of the module\r
+//\r
+//*****************************************************************************\r
+extern uint16_t Ref_A_getBandgapMode(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Returns the active status of the bandgap in the Ref_A module.\r
+//!\r
+//! This function is used to return the active status of the bandgap in the\r
+//! Ref_A module. If the bandgap is in use by a peripheral, then the status\r
+//! will be seen as active.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! \return One of the following:\r
+//!         - \b Ref_A_ACTIVE if active\r
+//!         - \b Ref_A_INACTIVE if not active\r
+//!         \n indicating the bandgap active status of the module\r
+//\r
+//*****************************************************************************\r
+extern bool Ref_A_isBandgapActive(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Returns the busy status of the reference generator in the Ref_A\r
+//! module.\r
+//!\r
+//! This function is used to return the busy status of the reference generator\r
+//! in the Ref_A module. If the ref generator is in use by a peripheral, then\r
+//! the status will be seen as busy.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! \return One of the following:\r
+//!         - \b Ref_A_NOTBUSY if the reference generator is not being used\r
+//!         - \b Ref_A_BUSY if the reference generator is being used,\r
+//!         disallowing changes to be made to the Ref_A module controls\r
+//!         \n indicating the reference generator busy status of the module\r
+//\r
+//*****************************************************************************\r
+extern uint16_t Ref_A_isRefGenBusy(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Returns the active status of the reference generator in the Ref_A\r
+//! module.\r
+//!\r
+//! This function is used to return the active status of the reference\r
+//! generator in the Ref_A module. If the ref generator is on and ready to use,\r
+//! then the status will be seen as active.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! \return One of the following:\r
+//!         - \b Ref_A_ACTIVE if active\r
+//!         - \b Ref_A_INACTIVE if not active\r
+//!         \n indicating the reference generator active status of the module\r
+//\r
+//*****************************************************************************\r
+extern bool Ref_A_isRefGenActive(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Returns the busy status of the reference generator in the Ref_A\r
+//! module.\r
+//!\r
+//! This function is used to return the buys status of the buffered bandgap\r
+//! voltage in the Ref_A module. If the ref generator is on and ready to use,\r
+//! then the status will be seen as active.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! \return One of the following:\r
+//!         - \b Ref_A_NOTREADY if NOT ready to be used\r
+//!         - \b Ref_A_READY if ready to be used\r
+//!         \n indicating the the busy status of the reference generator in the\r
+//!         module\r
+//\r
+//*****************************************************************************\r
+extern bool Ref_A_isBufferedBandgapVoltageReady(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Returns the busy status of the variable reference voltage in the\r
+//! Ref_A module.\r
+//!\r
+//! This function is used to return the busy status of the variable reference\r
+//! voltage in the Ref_A module. If the ref generator is on and ready to use,\r
+//! then the status will be seen as active.\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! \return One of the following:\r
+//!         - \b Ref_A_NOTREADY if NOT ready to be used\r
+//!         - \b Ref_A_READY if ready to be used\r
+//!         \n indicating the the busy status of the variable reference voltage\r
+//!         in the module\r
+//\r
+//*****************************************************************************\r
+extern bool Ref_A_isVariableReferenceVoltageOutputReady(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Enables the one-time trigger of the reference voltage.\r
+//!\r
+//! Triggers the one-time generation of the variable reference voltage. Once\r
+//! the reference voltage request is set, this bit is cleared by hardware\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! Modified bits are \b REFGENOT of \b REFCTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void Ref_A_setReferenceVoltageOneTimeTrigger(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Enables the one-time trigger of the buffered bandgap voltage.\r
+//!\r
+//! Triggers the one-time generation of the buffered bandgap voltage. Once the\r
+//! buffered bandgap voltage request is set, this bit is cleared by hardware\r
+//!\r
+//! \param baseAddress is the base address of the REF_A module.\r
+//!\r
+//! Modified bits are \b REFBGOT of \b REFCTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void Ref_A_setBufferedBandgapVoltageOneTimeTrigger(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+// Mark the end of the C bindings section for C++ compilers.\r
+//\r
+//*****************************************************************************\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+#endif // __MSP430WARE_REF_A_H__\r