summaryrefslogtreecommitdiffstats
path: root/bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_src.c
blob: 10af22893aa49027be601b0fb49019d332402ae1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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;
}