51 lines
1.4 KiB
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;
|
|
}
|