/TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_KPSDK_CODE/hal/adc/fsl_adc_hal.h substitute line 894 extern } by }
Fork of mbed by
TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_KPSDK_CODE/hal/pmc/fsl_pmc_hal.h
- Committer:
- bogdanm
- Date:
- 2014-04-07
- Revision:
- 82:6473597d706e
- Child:
- 90:cb3d968589d8
File content as of revision 82:6473597d706e:
/* * Copyright (c) 2013 - 2014, Freescale Semiconductor, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * o Redistributions of source code must retain the above copyright notice, this list * of conditions and the following disclaimer. * * o 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. * * o Neither the name of Freescale Semiconductor, Inc. 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. */ #if !defined(__FSL_PMC_HAL_H__) #define __FSL_PMC_HAL_H__ #include <stdint.h> #include <stdbool.h> #include <assert.h> #include "fsl_pmc_features.h" /*! @addtogroup pmc_hal*/ /*! @{*/ /*! @file fsl_pmc_hal.h */ /******************************************************************************* * Definitions ******************************************************************************/ /*! @brief Low-Voltage Warning Voltage Select*/ typedef enum _pmc_lvwv_select { kPmcLvwvLowTrip, /*!< Low trip point selected (VLVW = VLVW1)*/ kPmcLvwvMid1Trip, /*!< Mid 1 trip point selected (VLVW = VLVW2)*/ kPmcLvwvMid2Trip, /*!< Mid 2 trip point selected (VLVW = VLVW3)*/ kPmcLvwvHighTrip /*!< High trip point selected (VLVW = VLVW4)*/ } pmc_lvwv_select_t; /*! @brief Low-Voltage Detect Voltage Select*/ typedef enum _pmc_lvdv_select { kPmcLvdvLowTrip, /*!< Low trip point selected (V LVD = V LVDL )*/ kPmcLvdvHighTrip, /*!< High trip point selected (V LVD = V LVDH )*/ } pmc_lvdv_select_t; /******************************************************************************* * API ******************************************************************************/ #if defined(__cplusplus) extern "C" { #endif /* __cplusplus*/ /*! @name Power Management Controller Control APIs*/ /*@{*/ /*! * @brief Low-Voltage Detect Interrupt Enable * * This function enables the interrupt for the low voltage detection. When * enabled, if the LVDF (Low Voltage Detect Flag) is set, a hardware interrupt * occurs. * */ static inline void pmc_hal_enable_low_voltage_detect_interrupt(void) { BW_PMC_LVDSC1_LVDIE(1); } /*! * @brief Low-Voltage Detect Interrupt Disable (use polling) * * This function disables the the interrupt for low voltage detection. When * disabled, an application can only check the low voltage through polling the LVDF * (Low Voltage Detect Flag). * */ static inline void pmc_hal_disable_low_voltage_detect_interrupt(void) { BW_PMC_LVDSC1_LVDIE(0); } /*! * @brief Low-Voltage Detect Hardware Reset Enable (write once) * * This function enables the hardware reset for the low voltage detection. * When enabled, if the LVDF (Low Voltage Detect Flag) is set, a hardware reset * occurs. This setting is a write-once-only; Additional writes are * ignored. * */ static inline void pmc_hal_enable_low_voltage_detect_reset(void) { BW_PMC_LVDSC1_LVDRE(1); } /*! * @brief Low-Voltage Detect Hardware Reset Disable * * This function disables the the hardware reset for low voltage detection. * When disabled, if the LVDF (Low Voltage Detect Flag) is set, a hardware reset * does not occur. This setting is a write-once-only; Additional writes are * ignored. * */ static inline void pmc_hal_disable_low_voltage_detect_reset(void) { BW_PMC_LVDSC1_LVDRE(0); } /*! * @brief Low-Voltage Detect Acknowledge * * This function acknowledges the low voltage detection errors (write 1 to * clear LVDF). * */ static inline void pmc_hal_low_voltage_detect_ack(void) { BW_PMC_LVDSC1_LVDACK(1); } /*! * @brief Low-Voltage Detect Flag Read * * This function reads the current LVDF status. If it returns 1, low * voltage event is detected. * * @return status Current low voltage detect flag * - true: Low-Voltage detected * - false: Low-Voltage not detected */ static inline bool pmc_hal_get_low_voltage_detect_flag(void) { return BR_PMC_LVDSC1_LVDF; } /*! * @brief Sets the Low-Voltage Detect Voltage Select * * This function sets the low voltage detect voltage select. It sets * the low voltage detect trip point voltage (Vlvd). An application can select * either a low-trip or a high-trip point. See a chip reference manual for details. * * @param select Voltage select setting defined in pmc_lvdv_select_t */ static inline void pmc_hal_set_low_voltage_detect_voltage_select(pmc_lvdv_select_t select) { BW_PMC_LVDSC1_LVDV(select); } /*! * @brief Gets the Low-Voltage Detect Voltage Select * * This function gets the low voltage detect voltage select. It gets * the low voltage detect trip point voltage (Vlvd). An application can select * either a low-trip or a high-trip point. See a chip reference manual for details. * * @return select Current voltage select setting */ static inline pmc_lvdv_select_t pmc_hal_get_low_voltage_detect_voltage_select(void) { return (pmc_lvdv_select_t)BR_PMC_LVDSC1_LVDV; } /*! * @brief Low-Voltage Warning Interrupt Enable * * This function enables the interrupt for the low voltage warning * detection. When enabled, if the LVWF (Low Voltage Warning Flag) is set, * a hardware interrupt occurs. * */ static inline void pmc_hal_enable_low_voltage_warning_interrupt(void) { BW_PMC_LVDSC2_LVWIE(1); } /*! * @brief Low-Voltage Warning Interrupt Disable (use polling) * * This function disables the interrupt for the low voltage warning * detection. When disabled, if the LVWF (Low Voltage Warning Flag) is set, * a hardware interrupt does not occur. * */ static inline void pmc_hal_disable_low_voltage_warning_interrupt(void) { BW_PMC_LVDSC2_LVWIE(0); } /*! * @brief Low-Voltage Warning Acknowledge * * This function acknowledges the low voltage warning errors (write 1 to * clear LVWF). * */ static inline void pmc_hal_low_voltage_warning_ack(void) { BW_PMC_LVDSC2_LVWACK(1); } /*! * @brief Low-Voltage Warning Flag Read * * This function polls the current LVWF status. When 1 is returned, it * indicates a low-voltage warning event. LVWF is set when V Supply transitions * below the trip point or after reset and V Supply is already below the V LVW. * * @return status Current LVWF status - true: Low-Voltage Warning Flag is set. - false: the Low-Voltage Warning does not happen. */ static inline bool pmc_hal_get_low_voltage_warning_flag(void) { return BR_PMC_LVDSC2_LVWF; } /*! * @brief Sets the Low-Voltage Warning Voltage Select. * * This function sets the low voltage warning voltage select. It sets * the low voltage warning trip point voltage (Vlvw). An application can select * either a low, mid1, mid2 and a high-trip point. See a chip reference manual for * details and the pmc_lvwv_select_t for supported settings. * * @param select Low voltage warning select setting */ static inline void pmc_hal_set_low_voltage_warning_voltage_select(pmc_lvwv_select_t select) { BW_PMC_LVDSC2_LVWV(select); } /*! * @brief Gets the Low-Voltage Warning Voltage Select. * * This function gets the low voltage warning voltage select. It gets * the low voltage warning trip point voltage (Vlvw). See the pmc_lvwv_select_t * for supported settings. * * @return select Current low voltage warning select setting */ static inline pmc_lvwv_select_t pmc_hal_get_low_voltage_warning_voltage_select(void) { return (pmc_lvwv_select_t)BR_PMC_LVDSC2_LVWV; } #if FSL_FEATURE_SMC_HAS_BGEN /*! * @brief Enables the Bandgap in VLPx Operation. * * This function enables the bandgap in lower power modes of operation (VLPx, * LLS, and VLLSx). When on-chip peripherals require the bandgap voltage * reference in low power modes of operation, set BGEN to continue to enable * the bandgap operation. * */ static inline void pmc_hal_enable_bandgap_in_low_power_mode(void) { BW_PMC_REGSC_BGEN(1); } /*! * @brief Disables the Bandgap in the VLPx Operation. * * This function disables the bandgap in lower power modes of operation (VLPx, * LLS, and VLLSx). When the bandgap voltage reference is not needed in low * power modes, disable BGEN to avoid excess power consumption. * */ static inline void pmc_hal_disable_bandgap_in_low_power_mode(void) { BW_PMC_REGSC_BGEN(0); } #endif /*! * @brief Enables the Bandgap Buffer. * * This function enables the Bandgap buffer. * */ static inline void pmc_hal_enable_bandgap_buffer(void) { BW_PMC_REGSC_BGBE(1); } /*! * @brief Disables the Bandgap Buffer. * * This function disables the Bandgap buffer. * */ static inline void pmc_hal_disable_bandgap_buffer(void) { BW_PMC_REGSC_BGBE(0); } /*! * @brief Gets the Acknowledge Isolation. * * This function reads the Acknowledge Isolation setting that indicates * whether certain peripherals and the I/O pads are in a latched state as * a result of having been in the VLLS mode. * * @return value ACK isolation * 0 - Peripherals and I/O pads are in a normal run state. * 1 - Certain peripherals and I/O pads are in an isolated and * latched state. */ static inline uint8_t pmc_hal_get_ack_isolation(void) { return BR_PMC_REGSC_ACKISO; } /*! * @brief Clears an Acknowledge Isolation. * * This function clears the ACK Isolation flag. Writing one to this setting * when it is set releases the I/O pads and certain peripherals to their normal * run mode state. * */ static inline void pmc_hal_clear_ack_isolation(void) { BW_PMC_REGSC_ACKISO(1); } /*! * @brief Gets the Regulator regulation status. * * This function returns the regulator to a run regulation status. It provides * the current status of the internal voltage regulator. * * @return value Regulation status * 0 - Regulator is in a stop regulation or in transition to/from it. * 1 - Regulator is in a run regulation. * */ static inline uint8_t pmc_hal_get_regulator_status(void) { return BR_PMC_REGSC_REGONS; } /*@}*/ #if defined(__cplusplus) } #endif /* __cplusplus*/ /*! @}*/ #endif /* __FSL_PMC_HAL_H__*/ /******************************************************************************* * EOF ******************************************************************************/