MCUXpresso_LPC845/devices/LPC845/drivers/fsl_syscon.c

51 lines
1.4 KiB
C

/*
* Copyright 2018 NXP
* All rights reserved.
*
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include "fsl_syscon.h"
/*******************************************************************************
* Definitions
******************************************************************************/
/* Component ID definition, used by tools. */
#ifndef FSL_COMPONENT_ID
#define FSL_COMPONENT_ID "platform.drivers.syscon"
#endif
/*******************************************************************************
* Prototypes
******************************************************************************/
/*******************************************************************************
* Code
******************************************************************************/
/*!
* brief Attaches a signal
*
* This function gates the SYSCON clock.
*
* param base Base address of the SYSCON peripheral.
* param index Destination peripheral to attach the signal to.
* param connection Selects connection.
*
* retval None.
*/
void SYSCON_AttachSignal(SYSCON_Type *base, uint32_t index, syscon_connection_t connection)
{
uint32_t syscon_id;
uint32_t output_id;
/* extract syscon to be used */
syscon_id = ((uint32_t)(connection)) >> SYSCON_SHIFT;
/* extract function number */
output_id = ((uint32_t)(connection)) & 0xffffU;
/* programm signal */
*(volatile uint32_t *)(((uint32_t)base) + syscon_id + (index * 4u)) = output_id;
}