diff options
Diffstat (limited to 'bsps/arm/imxrt/mcux-sdk/drivers/src/fsl_src.c')
-rw-r--r-- | bsps/arm/imxrt/mcux-sdk/drivers/src/fsl_src.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/bsps/arm/imxrt/mcux-sdk/drivers/src/fsl_src.c b/bsps/arm/imxrt/mcux-sdk/drivers/src/fsl_src.c new file mode 100644 index 0000000000..10af22893a --- /dev/null +++ b/bsps/arm/imxrt/mcux-sdk/drivers/src/fsl_src.c @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2016, Freescale Semiconductor, Inc. + * Copyright 2016-2017 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include "fsl_src.h" + +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.src" +#endif + +/******************************************************************************* + * Prototypes + ******************************************************************************/ + +/******************************************************************************* + * Variables + ******************************************************************************/ + +/******************************************************************************* + * Code + ******************************************************************************/ + +/*! + * brief Clear the status flags of SRC. + * + * param base SRC peripheral base address. + * param Mask value of status flags to be cleared, see to #_src_reset_status_flags. + */ +void SRC_ClearResetStatusFlags(SRC_Type *base, uint32_t flags) +{ + uint32_t tmp32 = base->SRSR; + + if (0U != (SRC_SRSR_TSR_MASK & flags)) + { + tmp32 &= ~SRC_SRSR_TSR_MASK; /* Write 0 to clear. */ + } + + if (0U != (SRC_SRSR_W1C_BITS_MASK & flags)) + { + tmp32 |= (SRC_SRSR_W1C_BITS_MASK & flags); /* Write 1 to clear. */ + } + + base->SRSR = tmp32; +} |