Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ifx_tcpwm.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 Infineon Technologies AG,
3 * or an affiliate of Infineon Technologies AG.
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7
8/*
9 * The TCPWM function and macros in the PDL use a complex set of arrays and marcos to
10 * reference a specific TCPWM instance. With the information in the .dtsi file, we
11 * have the absolute address for each TCPWM instance. We will make use of that
12 * when we provide the ADDRESS to the macros below. This means that the cntNum parameter
13 * is always 0.
14 */
15
16#if !defined(IFX_TCPWM_H)
17#define IFX_TCPWM_H
18
19#include <stdint.h>
20#include "cy_tcpwm.h"
21
22#define IFX_TCPWM_GetTrigPinLevel(ADDRESS, TRIGGERSELECT) \
23 Cy_TCPWM_GetTrigPinLevel((TCPWM_Type *)ADDRESS, 0, TRIGGERSELECT)
24#define IFX_TCPWM_SetDebugFreeze(ADDRESS, ENABLE) \
25 Cy_TCPWM_SetDebugFreeze((TCPWM_Type *)ADDRESS, 0, ENABLE)
26#define IFX_TCPWM_Block_GetCC0BufVal(ADDRESS) Cy_TCPWM_Block_GetCC0BufVal((TCPWM_Type *)ADDRESS, 0)
27#define IFX_TCPWM_Block_GetCC0Val(ADDRESS) Cy_TCPWM_Block_GetCC0Val((TCPWM_Type *)ADDRESS, 0)
28#define IFX_TCPWM_Block_GetCC1BufVal(ADDRESS) Cy_TCPWM_Block_GetCC1BufVal((TCPWM_Type *)ADDRESS, 0)
29#define IFX_TCPWM_Block_GetCC1Val(ADDRESS) Cy_TCPWM_Block_GetCC1Val((TCPWM_Type *)ADDRESS, 0)
30#define IFX_TCPWM_Block_GetCounter(ADDRESS) Cy_TCPWM_Block_GetCounter((TCPWM_Type *)ADDRESS, 0)
31#define IFX_TCPWM_Block_GetPeriod(ADDRESS) Cy_TCPWM_Block_GetPeriod((TCPWM_Type *)ADDRESS, 0)
32#define IFX_TCPWM_GetInterruptMask(ADDRESS) Cy_TCPWM_GetInterruptMask((TCPWM_Type *)ADDRESS, 0)
33#define IFX_TCPWM_GetInterruptStatus(ADDRESS) Cy_TCPWM_GetInterruptStatus((TCPWM_Type *)ADDRESS, 0)
34#define IFX_TCPWM_GetInterruptStatusMasked(ADDRESS) \
35 Cy_TCPWM_GetInterruptStatusMasked((TCPWM_Type *)ADDRESS, 0)
36#define IFX_TCPWM_Block_EnableCompare0Swap(ADDRESS, ENABLE) \
37 Cy_TCPWM_Block_EnableCompare0Swap((TCPWM_Type *)ADDRESS, 0, ENABLE)
38#define IFX_TCPWM_Block_EnableCompare1Swap(ADDRESS, ENABLE) \
39 Cy_TCPWM_Block_EnableCompare1Swap((TCPWM_Type *)ADDRESS, 0, ENABLE)
40#define IFX_TCPWM_Block_SetCC0BufVal(ADDRESS, COMPARE1) \
41 Cy_TCPWM_Block_SetCC0BufVal((TCPWM_Type *)ADDRESS, 0, COMPARE1)
42#define IFX_TCPWM_Block_SetCC0Val(ADDRESS, COMPARE0) \
43 Cy_TCPWM_Block_SetCC0Val((TCPWM_Type *)ADDRESS, 0, COMPARE0)
44#define IFX_TCPWM_Block_SetCC1BufVal(ADDRESS, COMPAREBUF1) \
45 Cy_TCPWM_Block_SetCC1BufVal((TCPWM_Type *)ADDRESS, 0, COMPAREBUF1)
46#define IFX_TCPWM_Block_SetCC1Val(ADDRESS, COMPARE1) \
47 Cy_TCPWM_Block_SetCC1Val((TCPWM_Type *)ADDRESS, 0, COMPARE1)
48#define IFX_TCPWM_Block_SetCounter(ADDRESS, COUNT) \
49 Cy_TCPWM_Block_SetCounter((TCPWM_Type *)ADDRESS, 0, COUNT)
50#define IFX_TCPWM_Block_SetPeriod(ADDRESS, PERIOD) \
51 Cy_TCPWM_Block_SetPeriod((TCPWM_Type *)ADDRESS, 0, PERIOD)
52#define IFX_TCPWM_ClearInterrupt(ADDRESS, SOURCE) \
53 Cy_TCPWM_ClearInterrupt((TCPWM_Type *)ADDRESS, 0, SOURCE)
54#define IFX_TCPWM_Disable_Single(ADDRESS) Cy_TCPWM_Disable_Single((TCPWM_Type *)ADDRESS, 0)
55#define IFX_TCPWM_Enable_Single(ADDRESS) Cy_TCPWM_Enable_Single((TCPWM_Type *)ADDRESS, 0)
56#define IFX_TCPWM_SetInterrupt(ADDRESS, SOURCE) \
57 Cy_TCPWM_SetInterrupt((TCPWM_Type *)ADDRESS, 0, SOURCE)
58#define IFX_TCPWM_SetInterruptMask(ADDRESS, MASK) \
59 Cy_TCPWM_SetInterruptMask((TCPWM_Type *)ADDRESS, 0, MASK)
60#define IFX_TCPWM_TriggerCapture0(ADDRESS) Cy_TCPWM_TriggerCapture0((TCPWM_Type *)ADDRESS, 0)
61#define IFX_TCPWM_TriggerCapture1(ADDRESS) Cy_TCPWM_TriggerCapture1((TCPWM_Type *)ADDRESS, 0)
62#define IFX_TCPWM_TriggerStart_Single(ADDRESS) \
63 Cy_TCPWM_TriggerStart_Single((TCPWM_Type *)ADDRESS, 0)
64#define IFX_TCPWM_TriggerStopOrKill_Single(ADDRESS) \
65 Cy_TCPWM_TriggerStopOrKill_Single((TCPWM_Type *)ADDRESS, 0)
66
67#define IFX_TCPWM_Counter_GetCapture0BufVal(ADDRESS) \
68 Cy_TCPWM_Counter_GetCapture0BufVal((TCPWM_Type *)ADDRESS, 0)
69#define IFX_TCPWM_Counter_GetCapture0Val(ADDRESS) \
70 Cy_TCPWM_Counter_GetCapture0Val((TCPWM_Type *)ADDRESS, 0)
71#define IFX_TCPWM_Counter_GetCapture1BufVal(ADDRESS) \
72 Cy_TCPWM_Counter_GetCapture1BufVal((TCPWM_Type *)ADDRESS, 0)
73#define IFX_TCPWM_Counter_GetCapture1Val(ADDRESS) \
74 Cy_TCPWM_Counter_GetCapture1Val((TCPWM_Type *)ADDRESS, 0)
75#define IFX_TCPWM_Counter_GetCompare0BufVal(ADDRESS) \
76 Cy_TCPWM_Counter_GetCompare0BufVal((TCPWM_Type *)ADDRESS, 0)
77#define IFX_TCPWM_Counter_GetCompare0Val(ADDRESS) \
78 Cy_TCPWM_Counter_GetCompare0Val((TCPWM_Type *)ADDRESS, 0)
79#define IFX_TCPWM_Counter_GetCompare1BufVal(ADDRESS) \
80 Cy_TCPWM_Counter_GetCompare1BufVal((TCPWM_Type *)ADDRESS, 0)
81#define IFX_TCPWM_Counter_GetCompare1Val(ADDRESS) \
82 Cy_TCPWM_Counter_GetCompare1Val((TCPWM_Type *)ADDRESS, 0)
83#define IFX_TCPWM_Counter_GetCounter(ADDRESS) Cy_TCPWM_Counter_GetCounter((TCPWM_Type *)ADDRESS, 0)
84#define IFX_TCPWM_Counter_GetPeriod(ADDRESS) Cy_TCPWM_Counter_GetPeriod((TCPWM_Type *)ADDRESS, 0)
85#define IFX_TCPWM_Counter_GetStatus(ADDRESS) Cy_TCPWM_Counter_GetStatus((TCPWM_Type *)ADDRESS, 0)
86#define IFX_TCPWM_Counter_Disable(ADDRESS) Cy_TCPWM_Counter_Disable((TCPWM_Type *)ADDRESS, 0)
87#define IFX_TCPWM_Counter_Enable(ADDRESS) Cy_TCPWM_Counter_Enable((TCPWM_Type *)ADDRESS, 0)
88#define IFX_TCPWM_Counter_EnableCompare0Swap(ADDRESS, ENABLE) \
89 Cy_TCPWM_Counter_EnableCompare0Swap((TCPWM_Type *)ADDRESS, 0, ENABLE)
90#define IFX_TCPWM_Counter_EnableCompare1Swap(ADDRESS, ENABLE) \
91 Cy_TCPWM_Counter_EnableCompare1Swap((TCPWM_Type *)ADDRESS, 0, ENABLE)
92#define IFX_TCPWM_Counter_EnableSwap(ADDRESS, ENABLE) \
93 Cy_TCPWM_Counter_EnableSwap((TCPWM_Type *)ADDRESS, 0, ENABLE)
94#define IFX_TCPWM_Counter_SetCompare0BufVal(ADDRESS, COMPARE1) \
95 Cy_TCPWM_Counter_SetCompare0BufVal((TCPWM_Type *)ADDRESS, 0, COMPARE1)
96#define IFX_TCPWM_Counter_SetCompare0Val(ADDRESS, COMPARE0) \
97 Cy_TCPWM_Counter_SetCompare0Val((TCPWM_Type *)ADDRESS, 0, COMPARE0)
98#define IFX_TCPWM_Counter_SetCompare1BufVal(ADDRESS, COMPAREBUF1) \
99 Cy_TCPWM_Counter_SetCompare1BufVal((TCPWM_Type *)ADDRESS, 0, COMPAREBUF1)
100#define IFX_TCPWM_Counter_SetCompare1Val(ADDRESS, COMPARE1) \
101 Cy_TCPWM_Counter_SetCompare1Val((TCPWM_Type *)ADDRESS, 0, COMPARE1)
102#define IFX_TCPWM_Counter_SetCounter(ADDRESS, COUNT) \
103 Cy_TCPWM_Counter_SetCounter((TCPWM_Type *)ADDRESS, 0, COUNT)
104#define IFX_TCPWM_Counter_SetDirection_Change_Mode(ADDRESS, DIRECTION_MODE) \
105 Cy_TCPWM_Counter_SetDirection_Change_Mode((TCPWM_Type *)ADDRESS, 0, DIRECTION_MODE)
106#define IFX_TCPWM_Counter_SetPeriod(ADDRESS, PERIOD) \
107 Cy_TCPWM_Counter_SetPeriod((TCPWM_Type *)ADDRESS, 0, PERIOD)
108
109#define IFX_TCPWM_PWM_GetCompare0BufVal(ADDRESS) \
110 Cy_TCPWM_PWM_GetCompare0BufVal((TCPWM_Type *)ADDRESS, 0)
111#define IFX_TCPWM_PWM_GetCompare0Val(ADDRESS) Cy_TCPWM_PWM_GetCompare0Val((TCPWM_Type *)ADDRESS, 0)
112#define IFX_TCPWM_PWM_GetCounter(ADDRESS) Cy_TCPWM_PWM_GetCounter((TCPWM_Type *)ADDRESS, 0)
113#define IFX_TCPWM_PWM_GetDtCounter(ADDRESS) Cy_TCPWM_PWM_GetDtCounter((TCPWM_Type *)ADDRESS, 0)
114#define IFX_TCPWM_PWM_GetPeriod0(ADDRESS) Cy_TCPWM_PWM_GetPeriod0((TCPWM_Type *)ADDRESS, 0)
115#define IFX_TCPWM_PWM_GetPeriod1(ADDRESS) Cy_TCPWM_PWM_GetPeriod1((TCPWM_Type *)ADDRESS, 0)
116#define IFX_TCPWM_PWM_GetStatus(ADDRESS) Cy_TCPWM_PWM_GetStatus((TCPWM_Type *)ADDRESS, 0)
117#define IFX_TCPWM_PWM_Disable(ADDRESS) Cy_TCPWM_PWM_Disable((TCPWM_Type *)ADDRESS, 0)
118#define IFX_TCPWM_PWM_Enable(ADDRESS) Cy_TCPWM_PWM_Enable((TCPWM_Type *)ADDRESS, 0)
119#define IFX_TCPWM_PWM_EnableCompare0Swap(ADDRESS, ENABLE) \
120 Cy_TCPWM_PWM_EnableCompare0Swap((TCPWM_Type *)ADDRESS, 0, ENABLE)
121#define IFX_TCPWM_PWM_EnableLineSelectSwap(ADDRESS, ENABLE) \
122 Cy_TCPWM_PWM_EnableLineSelectSwap((TCPWM_Type *)ADDRESS, 0, ENABLE)
123#define IFX_TCPWM_PWM_EnablePeriodSwap(ADDRESS, ENABLE) \
124 Cy_TCPWM_PWM_EnablePeriodSwap((TCPWM_Type *)ADDRESS, 0, ENABLE)
125#define IFX_TCPWM_PWM_EnableSwap(ADDRESS, ENABLE) \
126 Cy_TCPWM_PWM_EnableSwap((TCPWM_Type *)ADDRESS, 0, ENABLE)
127#define IFX_TCPWM_PWM_Init(ADDRESS, CONFIG) Cy_TCPWM_PWM_Init((TCPWM_Type *)ADDRESS, 0, CONFIG)
128#define IFX_TCPWM_PWM_PWMDeadTime(ADDRESS, DEADTIME) \
129 Cy_TCPWM_PWM_PWMDeadTime((TCPWM_Type *)ADDRESS, 0, DEADTIME)
130#define IFX_TCPWM_PWM_PWMDeadTimeBuff(ADDRESS, DEADTIME) \
131 Cy_TCPWM_PWM_PWMDeadTimeBuff((TCPWM_Type *)ADDRESS, 0, DEADTIME)
132#define IFX_TCPWM_PWM_PWMDeadTimeBuffN(ADDRESS, DEADTIME) \
133 Cy_TCPWM_PWM_PWMDeadTimeBuffN((TCPWM_Type *)ADDRESS, 0, DEADTIME)
134#define IFX_TCPWM_PWM_PWMDeadTimeN(ADDRESS, DEADTIME) \
135 Cy_TCPWM_PWM_PWMDeadTimeN((TCPWM_Type *)ADDRESS, 0, DEADTIME)
136#define IFX_TCPWM_PWM_SetCompare0BufVal(ADDRESS, COMPAREBUF0) \
137 Cy_TCPWM_PWM_SetCompare0BufVal((TCPWM_Type *)ADDRESS, 0, COMPAREBUF0)
138#define IFX_TCPWM_PWM_SetCompare0Val(ADDRESS, COMPARE0) \
139 Cy_TCPWM_PWM_SetCompare0Val((TCPWM_Type *)ADDRESS, 0, COMPARE0)
140#define IFX_TCPWM_PWM_SetCounter(ADDRESS, COUNT) \
141 Cy_TCPWM_PWM_SetCounter((TCPWM_Type *)ADDRESS, 0, COUNT)
142#define IFX_TCPWM_PWM_SetDT(ADDRESS, DEADTIME) \
143 Cy_TCPWM_PWM_SetDT((TCPWM_Type *)ADDRESS, 0, DEADTIME)
144#define IFX_TCPWM_PWM_SetDTBuff(ADDRESS, DEADTIME) \
145 Cy_TCPWM_PWM_SetDTBuff((TCPWM_Type *)ADDRESS, 0, DEADTIME)
146#define IFX_TCPWM_PWM_SetPeriod0(ADDRESS, PERIOD0) \
147 Cy_TCPWM_PWM_SetPeriod0((TCPWM_Type *)ADDRESS, 0, PERIOD0)
148#define IFX_TCPWM_PWM_SetPeriod1(ADDRESS, PERIOD1) \
149 Cy_TCPWM_PWM_SetPeriod1((TCPWM_Type *)ADDRESS, 0, PERIOD1)
150#define IFX_en_tcpwm_status_t(ADDRESS, MODE, PERIOD, DUTY, LIMITER) \
151 cy_en_tcpwm_status_t Cy_TCPWM_PWM_Configure_Dithering((TCPWM_Type *)ADDRESS, 0, MODE, \
152 PERIOD, DUTY, LIMITER)
153#define IFX_TCPWM_TriggerCaptureOrSwap_Single(ADDRESS) \
154 Cy_TCPWM_TriggerCaptureOrSwap_Single((TCPWM_Type *)ADDRESS, 0)
155#endif /* CY_TCPWM_H */