summaryrefslogtreecommitdiff
path: root/drivers/fsl_dmamux.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/fsl_dmamux.h')
-rw-r--r--drivers/fsl_dmamux.h65
1 files changed, 45 insertions, 20 deletions
diff --git a/drivers/fsl_dmamux.h b/drivers/fsl_dmamux.h
index 5dce562..071348b 100644
--- a/drivers/fsl_dmamux.h
+++ b/drivers/fsl_dmamux.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2015, Freescale Semiconductor, Inc.
- * All rights reserved.
+ * Copyright 2016-2017 NXP
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
@@ -12,7 +12,7 @@
* 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
+ * o Neither the name of the copyright holder nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
@@ -45,8 +45,8 @@
/*! @name Driver version */
/*@{*/
-/*! @brief DMAMUX driver version 2.0.1. */
-#define FSL_DMAMUX_DRIVER_VERSION (MAKE_VERSION(2, 0, 1))
+/*! @brief DMAMUX driver version 2.0.2. */
+#define FSL_DMAMUX_DRIVER_VERSION (MAKE_VERSION(2, 0, 2))
/*@}*/
/*******************************************************************************
@@ -58,14 +58,14 @@ extern "C" {
#endif /* __cplusplus */
/*!
- * @name DMAMUX Initialize and De-initialize
+ * @name DMAMUX Initialization and de-initialization
* @{
*/
/*!
- * @brief Initializes DMAMUX peripheral.
+ * @brief Initializes the DMAMUX peripheral.
*
- * This function ungate the DMAMUX clock.
+ * This function ungates the DMAMUX clock.
*
* @param base DMAMUX peripheral base address.
*
@@ -73,9 +73,9 @@ extern "C" {
void DMAMUX_Init(DMAMUX_Type *base);
/*!
- * @brief Deinitializes DMAMUX peripheral.
+ * @brief Deinitializes the DMAMUX peripheral.
*
- * This function gate the DMAMUX clock.
+ * This function gates the DMAMUX clock.
*
* @param base DMAMUX peripheral base address.
*/
@@ -88,9 +88,9 @@ void DMAMUX_Deinit(DMAMUX_Type *base);
*/
/*!
- * @brief Enable DMAMUX channel.
+ * @brief Enables the DMAMUX channel.
*
- * This function enable DMAMUX channel to work.
+ * This function enables the DMAMUX channel.
*
* @param base DMAMUX peripheral base address.
* @param channel DMAMUX channel number.
@@ -103,11 +103,11 @@ static inline void DMAMUX_EnableChannel(DMAMUX_Type *base, uint32_t channel)
}
/*!
- * @brief Disable DMAMUX channel.
+ * @brief Disables the DMAMUX channel.
*
- * This function disable DMAMUX channel.
+ * This function disables the DMAMUX channel.
*
- * @note User must disable DMAMUX channel before configuring it.
+ * @note The user must disable the DMAMUX channel before configuring it.
* @param base DMAMUX peripheral base address.
* @param channel DMAMUX channel number.
*/
@@ -119,11 +119,11 @@ static inline void DMAMUX_DisableChannel(DMAMUX_Type *base, uint32_t channel)
}
/*!
- * @brief Configure DMAMUX channel source.
+ * @brief Configures the DMAMUX channel source.
*
* @param base DMAMUX peripheral base address.
* @param channel DMAMUX channel number.
- * @param source Channel source which is used to trigger DMA transfer.
+ * @param source Channel source, which is used to trigger the DMA transfer.
*/
static inline void DMAMUX_SetSource(DMAMUX_Type *base, uint32_t channel, uint32_t source)
{
@@ -134,9 +134,9 @@ static inline void DMAMUX_SetSource(DMAMUX_Type *base, uint32_t channel, uint32_
#if defined(FSL_FEATURE_DMAMUX_HAS_TRIG) && FSL_FEATURE_DMAMUX_HAS_TRIG > 0U
/*!
- * @brief Enable DMAMUX period trigger.
+ * @brief Enables the DMAMUX period trigger.
*
- * This function enable DMAMUX period trigger feature.
+ * This function enables the DMAMUX period trigger feature.
*
* @param base DMAMUX peripheral base address.
* @param channel DMAMUX channel number.
@@ -149,9 +149,9 @@ static inline void DMAMUX_EnablePeriodTrigger(DMAMUX_Type *base, uint32_t channe
}
/*!
- * @brief Disable DMAMUX period trigger.
+ * @brief Disables the DMAMUX period trigger.
*
- * This function disable DMAMUX period trigger.
+ * This function disables the DMAMUX period trigger.
*
* @param base DMAMUX peripheral base address.
* @param channel DMAMUX channel number.
@@ -164,6 +164,31 @@ static inline void DMAMUX_DisablePeriodTrigger(DMAMUX_Type *base, uint32_t chann
}
#endif /* FSL_FEATURE_DMAMUX_HAS_TRIG */
+#if (defined(FSL_FEATURE_DMAMUX_HAS_A_ON) && FSL_FEATURE_DMAMUX_HAS_A_ON)
+/*!
+ * @brief Enables the DMA channel to be always ON.
+ *
+ * This function enables the DMAMUX channel always ON feature.
+ *
+ * @param base DMAMUX peripheral base address.
+ * @param channel DMAMUX channel number.
+ * @param enable Switcher of the always ON feature. "true" means enabled, "false" means disabled.
+ */
+static inline void DMAMUX_EnableAlwaysOn(DMAMUX_Type *base, uint32_t channel, bool enable)
+{
+ assert(channel < FSL_FEATURE_DMAMUX_MODULE_CHANNEL);
+
+ if (enable)
+ {
+ base->CHCFG[channel] |= DMAMUX_CHCFG_A_ON_MASK;
+ }
+ else
+ {
+ base->CHCFG[channel] &= ~DMAMUX_CHCFG_A_ON_MASK;
+ }
+}
+#endif /* FSL_FEATURE_DMAMUX_HAS_A_ON */
+
/* @} */
#if defined(__cplusplus)