trgmux_driver.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 - 2015, Freescale Semiconductor, Inc.
3  * Copyright 2016-2017 NXP
4  * All rights reserved.
5  *
6  * THIS SOFTWARE IS PROVIDED BY NXP "AS IS" AND ANY EXPRESSED OR
7  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
8  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
9  * IN NO EVENT SHALL NXP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
10  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
11  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
12  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
13  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
14  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
15  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
16  * THE POSSIBILITY OF SUCH DAMAGE.
17  */
18 
19 #ifndef TRGMUX_DRIVER_H
20 #define TRGMUX_DRIVER_H
21 
44 #include <stdint.h>
45 #include <stdbool.h>
46 #include "status.h"
47 #include "device_registers.h"
48 
54 /*******************************************************************************
55  * Variables
56  ******************************************************************************/
57 
58 /*******************************************************************************
59  * Definitions
60  ******************************************************************************/
61 
62 /* TRGMUX module features */
72 
82 
91 typedef struct
92 {
98 
107 typedef struct
108 {
112 
113 /*******************************************************************************
114  * API
115  ******************************************************************************/
116 
117 #if defined(__cplusplus)
118 extern "C" {
119 #endif
120 
121 
150 status_t TRGMUX_DRV_Init(const uint32_t instance,
151  const trgmux_user_config_t * const trgmuxUserConfig);
152 
162 status_t TRGMUX_DRV_Deinit(const uint32_t instance);
163 
176 status_t TRGMUX_DRV_SetTrigSourceForTargetModule(const uint32_t instance,
177  const trgmux_trigger_source_t triggerSource,
178  const trgmux_target_module_t targetModule);
179 
191  const trgmux_target_module_t targetModule);
192 
205 void TRGMUX_DRV_SetLockForTargetModule(const uint32_t instance,
206  const trgmux_target_module_t targetModule);
207 
219 bool TRGMUX_DRV_GetLockForTargetModule(const uint32_t instance,
220  const trgmux_target_module_t targetModule);
221 
230 void TRGMUX_DRV_GenSWTrigger(const uint32_t instance);
231 
232 #if defined(__cplusplus)
233 }
234 #endif
235 
238 #endif /* TRGMUX_DRIVER_H */
239 /*******************************************************************************
240  * EOF
241  ******************************************************************************/
trgmux_trigger_source_t TRGMUX_DRV_GetTrigSourceForTargetModule(const uint32_t instance, const trgmux_target_module_t targetModule)
Get the source trigger configured for a target module.
User configuration structure for the TRGMUX driver.
status_t TRGMUX_DRV_SetTrigSourceForTargetModule(const uint32_t instance, const trgmux_trigger_source_t triggerSource, const trgmux_target_module_t targetModule)
Configure a source trigger for a selected target module.
status_t TRGMUX_DRV_Deinit(const uint32_t instance)
Reset to default values the source triggers corresponding to all target modules, if none of the targe...
void TRGMUX_DRV_GenSWTrigger(const uint32_t instance)
Generate software triggers.
bool TRGMUX_DRV_GetLockForTargetModule(const uint32_t instance, const trgmux_target_module_t targetModule)
Get the Lock bit status of the TRGMUX register of a target module.
const trgmux_inout_mapping_config_t * inOutMappingConfig
uint8_t numInOutMappingConfigs
Configuration structure for pairing source triggers with target modules.
Definition: trgmux_driver.h:91
trgmux_trigger_source_t triggerSource
Definition: trgmux_driver.h:93
enum trgmux_trigger_source_e trgmux_trigger_source_t
Enumeration for trigger source module of TRGMUX.
Definition: trgmux_driver.h:71
status_t
Status return codes. Common error codes will be a unified enumeration (C enum) that will contain all ...
Definition: status.h:44
status_t TRGMUX_DRV_Init(const uint32_t instance, const trgmux_user_config_t *const trgmuxUserConfig)
Initialize a TRGMUX instance for operation.
Definition: trgmux_driver.c:74
trgmux_trigger_source_e
Enumeration for trigger source module of TRGMUX.
trgmux_target_module_e
Enumeration for target module of TRGMUX.
trgmux_target_module_t targetModule
Definition: trgmux_driver.h:94
enum trgmux_target_module_e trgmux_target_module_t
Enumeration for target module of TRGMUX.
Definition: trgmux_driver.h:81
void TRGMUX_DRV_SetLockForTargetModule(const uint32_t instance, const trgmux_target_module_t targetModule)
Locks the TRGMUX register of a target module.