1 /***************************************************************************//**
2 * \file cy_device.h
3 * \version 2.0
4 *
5 * This file specifies the structure for core and peripheral block HW base
6 * addresses, versions, and parameters.
7 *
8 ********************************************************************************/
9 #ifndef CY_DEVICE_H_
10 #define CY_DEVICE_H_
11 
12 #include <stdint.h>
13 #include <stddef.h>
14 
15 #include "cy_utils.h"
16 
17 #ifndef BOY2_UUT
18 #include "cy_device_headers.h"
19 #endif
20 
21 #include "startup_cat1b.h"
22 
23 
24 CY_MISRA_FP_BLOCK_START('MISRA C-2012 Rule 8.6', 1, \
25 'Checked manually. The definition is a part of linker script.')
26 
27 #ifdef _GPIO_CYW20829_56_QFN_H_
28 #define _GPIO_CYW20829B0_56_QFN_H_
29 #endif
30 
31 #ifdef _GPIO_CYW20829_40_QFN_H_
32 #define _GPIO_CYW20829B0_40_QFN_H_
33 #endif
34 
35 /* Device descriptor type */
36 typedef struct
37 {
38     /* Base HW addresses */
39     uint32_t hsiomBase;
40     uint32_t gpioBase;
41 
42     /* IP block versions: [7:4] major, [3:0] minor */
43     uint8_t  dwVersion;
44 
45     /* Parameters */
46     uint8_t  cpussDw0ChNr;
47     uint8_t  cpussDw1ChNr;
48     uint8_t  epMonitorNr;
49 
50     /* Peripheral register offsets */
51 
52    /* DW registers */
53     uint16_t dwChOffset;
54     uint16_t dwChSize;
55     uint8_t  dwChCtlPrioPos;
56     uint8_t  dwChCtlPreemptablePos;
57     uint8_t  dwStatusChIdxPos;
58     uint32_t dwStatusChIdxMsk;
59 
60     uint8_t  tcpwmCC1Present;
61     uint8_t  tcpwmAMCPresent;
62     uint8_t  tcpwmSMCPrecent;
63 
64 } cy_stc_device_t;
65 
66 /* Pointer to device configuration structure */
67 #define CY_DEVICE_CFG                   (&cy_deviceIpBlockCfg)
68 
69 
70 /*******************************************************************************
71 *                   Global Variables
72 *******************************************************************************/
73 
74 extern const cy_stc_device_t   cy_deviceIpBlockCfg;
75 extern const cy_stc_device_t* cy_device;
76 
77 /*******************************************************************************
78 *                   Global Extern Functions
79 *******************************************************************************/
80 
81 /*******************************************************************************
82 *               Macro Definitions
83 *******************************************************************************/
84 #if (__SAUREGION_PRESENT==1)
85   #define SECURE_ALIAS_OFFSET                   (0x10000000UL)
86   #ifdef CY_PDL_TZ_ENABLED
87     #define GET_ALIAS_ADDRESS(addr)             (uint32_t)(((uint32_t)(addr)) | SECURE_ALIAS_OFFSET)
88   #else
89     #define GET_ALIAS_ADDRESS(addr)             (uint32_t)(((uint32_t)(addr)) & ~SECURE_ALIAS_OFFSET)
90   #endif
91 #else
92   #define GET_ALIAS_ADDRESS(addr)               (uint32_t)(addr)
93 #endif /* (__SAUREGION_PRESENT==1) */
94 
95 
96 #if defined(CY_DEVICE_BOY2)
97     #ifndef NORMAL_PROVISIONED_LCS
98     #define CM33_NS_PC_VALUE            (1u)
99     #define CM33_S_PC_VALUE             (0u)
100     #else
101     #define CM33_NS_PC_VALUE            (3u)
102     #define CM33_S_PC_VALUE             (2u)
103     #endif
104 #endif
105 
106 /*******************************************************************************
107 *                   Function Prototypes
108 *******************************************************************************/
109 
110 void Cy_PDL_Init(const cy_stc_device_t * device);
111 
112 /*******************************************************************************
113 *               Register Access Helper Macros
114 *******************************************************************************/
115 #define CY_DEVICE_CAT1B                /* Device Category */
116 /*******************************************************************************
117 *               SDHC
118 *******************************************************************************/
119 #define SDHC_WRAP_CTL(base)                     (((SDHC_Type *)(base))->WRAP.CTL)
120 #define SDHC_CORE_SDMASA_R(base)                (((SDHC_Type *)(base))->CORE.SDMASA_R)
121 #define SDHC_CORE_BLOCKSIZE_R(base)             (((SDHC_Type *)(base))->CORE.BLOCKSIZE_R)
122 #define SDHC_CORE_BLOCKCOUNT_R(base)            (((SDHC_Type *)(base))->CORE.BLOCKCOUNT_R)
123 #define SDHC_CORE_ARGUMENT_R(base)              (((SDHC_Type *)(base))->CORE.ARGUMENT_R)
124 #define SDHC_CORE_XFER_MODE_R(base)             (((SDHC_Type *)(base))->CORE.XFER_MODE_R)
125 #define SDHC_CORE_CMD_R(base)                   (((SDHC_Type *)(base))->CORE.CMD_R)
126 #define SDHC_CORE_RESP01_R(base)                (((SDHC_Type *)(base))->CORE.RESP01_R)
127 #define SDHC_CORE_RESP23_R(base)                (((SDHC_Type *)(base))->CORE.RESP23_R)
128 #define SDHC_CORE_RESP45_R(base)                (((SDHC_Type *)(base))->CORE.RESP45_R)
129 #define SDHC_CORE_RESP67_R(base)                (((SDHC_Type *)(base))->CORE.RESP67_R)
130 #define SDHC_CORE_BUF_DATA_R(base)              (((SDHC_Type *)(base))->CORE.BUF_DATA_R)
131 #define SDHC_CORE_PSTATE_REG(base)              (((SDHC_Type *)(base))->CORE.PSTATE_REG)
132 #define SDHC_CORE_HOST_CTRL1_R(base)            (((SDHC_Type *)(base))->CORE.HOST_CTRL1_R)
133 #define SDHC_CORE_PWR_CTRL_R(base)              (((SDHC_Type *)(base))->CORE.PWR_CTRL_R)
134 #define SDHC_CORE_BGAP_CTRL_R(base)             (((SDHC_Type *)(base))->CORE.BGAP_CTRL_R)
135 #define SDHC_CORE_WUP_CTRL_R(base)              (((SDHC_Type *)(base))->CORE.WUP_CTRL_R)
136 #define SDHC_CORE_CLK_CTRL_R(base)              (((SDHC_Type *)(base))->CORE.CLK_CTRL_R)
137 #define SDHC_CORE_TOUT_CTRL_R(base)             (((SDHC_Type *)(base))->CORE.TOUT_CTRL_R)
138 #define SDHC_CORE_SW_RST_R(base)                (((SDHC_Type *)(base))->CORE.SW_RST_R)
139 #define SDHC_CORE_NORMAL_INT_STAT_R(base)       (((SDHC_Type *)(base))->CORE.NORMAL_INT_STAT_R)
140 #define SDHC_CORE_ERROR_INT_STAT_R(base)        (((SDHC_Type *)(base))->CORE.ERROR_INT_STAT_R)
141 #define SDHC_CORE_NORMAL_INT_STAT_EN_R(base)    (((SDHC_Type *)(base))->CORE.NORMAL_INT_STAT_EN_R)
142 #define SDHC_CORE_ERROR_INT_STAT_EN_R(base)     (((SDHC_Type *)(base))->CORE.ERROR_INT_STAT_EN_R)
143 #define SDHC_CORE_NORMAL_INT_SIGNAL_EN_R(base)  (((SDHC_Type *)(base))->CORE.NORMAL_INT_SIGNAL_EN_R)
144 #define SDHC_CORE_ERROR_INT_SIGNAL_EN_R(base)   (((SDHC_Type *)(base))->CORE.ERROR_INT_SIGNAL_EN_R)
145 #define SDHC_CORE_AUTO_CMD_STAT_R(base)         (((SDHC_Type *)(base))->CORE.AUTO_CMD_STAT_R)
146 #define SDHC_CORE_HOST_CTRL2_R(base)            (((SDHC_Type *)(base))->CORE.HOST_CTRL2_R)
147 #define SDHC_CORE_CAPABILITIES1_R(base)         (((SDHC_Type *)(base))->CORE.CAPABILITIES1_R)
148 #define SDHC_CORE_CAPABILITIES2_R(base)         (((SDHC_Type *)(base))->CORE.CAPABILITIES2_R)
149 #define SDHC_CORE_CURR_CAPABILITIES1_R(base)    (((SDHC_Type *)(base))->CORE.CURR_CAPABILITIES1_R)
150 #define SDHC_CORE_CURR_CAPABILITIES2_R(base)    (((SDHC_Type *)(base))->CORE.CURR_CAPABILITIES2_R)
151 #define SDHC_CORE_ADMA_ERR_STAT_R(base)         (((SDHC_Type *)(base))->CORE.ADMA_ERR_STAT_R)
152 #define SDHC_CORE_ADMA_SA_LOW_R(base)           (((SDHC_Type *)(base))->CORE.ADMA_SA_LOW_R)
153 #define SDHC_CORE_ADMA_ID_LOW_R(base)           (((SDHC_Type *)(base))->CORE.ADMA_ID_LOW_R)
154 #define SDHC_CORE_EMMC_CTRL_R(base)             (((SDHC_Type *)(base))->CORE.EMMC_CTRL_R)
155 #define SDHC_CORE_GP_OUT_R(base)                (((SDHC_Type *)(base))->CORE.GP_OUT_R)
156 
157 /*******************************************************************************
158 *                SMARTIO
159 *******************************************************************************/
160 
161 #define SMARTIO_PRT_CTL(base)               (((SMARTIO_PRT_Type *)(base))->CTL)
162 #define SMARTIO_PRT_SYNC_CTL(base)          (((SMARTIO_PRT_Type *)(base))->SYNC_CTL)
163 #define SMARTIO_PRT_LUT_SEL(base, idx)      (((SMARTIO_PRT_Type *)(base))->LUT_SEL[idx])
164 #define SMARTIO_PRT_LUT_CTL(base, idx)      (((SMARTIO_PRT_Type *)(base))->LUT_CTL[idx])
165 #define SMARTIO_PRT_DU_SEL(base)            (((SMARTIO_PRT_Type *)(base))->DU_SEL)
166 #define SMARTIO_PRT_DU_CTL(base)            (((SMARTIO_PRT_Type *)(base))->DU_CTL)
167 #define SMARTIO_PRT_DATA(base)              (((SMARTIO_PRT_Type *)(base))->DATA)
168 
169 
170 /*******************************************************************************
171 *                SMIF
172 *******************************************************************************/
173 #if ((defined(CY_IP_MXSMIF_VERSION)) && (CY_IP_MXSMIF_VERSION>=3))
174 /* For backward compatibility of API, use first crypto device as default device */
175 #define SMIF_CRYPTO_CMD(base)            (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_CMD)
176 #define SMIF_CRYPTO_ADDR(base)           (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_ADDR)
177 #define SMIF_CRYPTO_MASK(base)           (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_MASK)
178 #define SMIF_CRYPTO_SUBREGION(base)      (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_SUBREGION)
179 #define SMIF_CRYPTO_INPUT0(base)         (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_INPUT0)
180 #define SMIF_CRYPTO_INPUT1(base)         (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_INPUT1)
181 #define SMIF_CRYPTO_INPUT2(base)         (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_INPUT2)
182 #define SMIF_CRYPTO_INPUT3(base)         (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_INPUT3)
183 #define SMIF_CRYPTO_KEY0(base)           (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_KEY0)
184 #define SMIF_CRYPTO_KEY1(base)           (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_KEY1)
185 #define SMIF_CRYPTO_KEY2(base)           (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_KEY2)
186 #define SMIF_CRYPTO_KEY3(base)           (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_KEY3)
187 #define SMIF_CRYPTO_OUTPUT0(base)        (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_OUTPUT0)
188 #define SMIF_CRYPTO_OUTPUT1(base)        (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_OUTPUT1)
189 #define SMIF_CRYPTO_OUTPUT2(base)        (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_OUTPUT2)
190 #define SMIF_CRYPTO_OUTPUT3(base)        (((SMIF_Type*) base)->SMIF_CRYPTO_BLOCK[0].CRYPTO_OUTPUT3)
191 #else
192 #define SMIF_CRYPTO_CMD(base)            (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_CMD)
193 #define SMIF_CRYPTO_ADDR(base)            (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_ADDR)
194 #define SMIF_CRYPTO_MASK(base)            (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_MASK)
195 #define SMIF_CRYPTO_SUBREGION(base)        (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_SUBREGION)
196 #define SMIF_CRYPTO_INPUT0(base)        (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_INPUT0)
197 #define SMIF_CRYPTO_INPUT1(base)        (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_INPUT1)
198 #define SMIF_CRYPTO_INPUT2(base)        (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_INPUT2)
199 #define SMIF_CRYPTO_INPUT3(base)        (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_INPUT3)
200 #define SMIF_CRYPTO_KEY0(base)            (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_KEY0)
201 #define SMIF_CRYPTO_KEY1(base)            (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_KEY1)
202 #define SMIF_CRYPTO_KEY2(base)            (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_KEY2)
203 #define SMIF_CRYPTO_KEY3(base)            (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_KEY3)
204 #define SMIF_CRYPTO_OUTPUT0(base)        (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_OUTPUT0)
205 #define SMIF_CRYPTO_OUTPUT1(base)        (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_OUTPUT1)
206 #define SMIF_CRYPTO_OUTPUT2(base)        (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_OUTPUT2)
207 #define SMIF_CRYPTO_OUTPUT3(base)        (((SMIF_SMIF_CRYPTO_Type *)(base))->CRYPTO_OUTPUT3)
208 #endif
209 
210 #define SMIF_CRYPTO_IDX(base, deviceIndex)                 (((SMIF_Type *)(base))->SMIF_CRYPTO_BLOCK[deviceIndex])
211 
212 #define SMIF_CRYPTO_IDX_CMD(base, deviceIndex)        (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_CMD)
213 #define SMIF_CRYPTO_IDX_ADDR(base, deviceIndex)        (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_ADDR)
214 #define SMIF_CRYPTO_IDX_MASK(base, deviceIndex)        (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_MASK)
215 #define SMIF_CRYPTO_IDX_SUBREGION(base, deviceIndex)    (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_SUBREGION)
216 #define SMIF_CRYPTO_IDX_INPUT0(base, deviceIndex)    (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_INPUT0)
217 #define SMIF_CRYPTO_IDX_INPUT1(base, deviceIndex)    (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_INPUT1)
218 #define SMIF_CRYPTO_IDX_INPUT2(base, deviceIndex)    (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_INPUT2)
219 #define SMIF_CRYPTO_IDX_INPUT3(base, deviceIndex)    (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_INPUT3)
220 #define SMIF_CRYPTO_IDX_KEY0(base, deviceIndex)        (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_KEY0)
221 #define SMIF_CRYPTO_IDX_KEY1(base, deviceIndex)        (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_KEY1)
222 #define SMIF_CRYPTO_IDX_KEY2(base, deviceIndex)        (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_KEY2)
223 #define SMIF_CRYPTO_IDX_KEY3(base, deviceIndex)        (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_KEY3)
224 #define SMIF_CRYPTO_IDX_OUTPUT0(base, deviceIndex)    (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_OUTPUT0)
225 #define SMIF_CRYPTO_IDX_OUTPUT1(base, deviceIndex)    (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_OUTPUT1)
226 #define SMIF_CRYPTO_IDX_OUTPUT2(base, deviceIndex)    (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_OUTPUT2)
227 #define SMIF_CRYPTO_IDX_OUTPUT3(base, deviceIndex)    (SMIF_CRYPTO_IDX(base, deviceIndex).CRYPTO_OUTPUT3)
228 
229 
230 #define SMIF_DEVICE_CTL(base)               (((SMIF_DEVICE_Type *)(base))->CTL)
231 #define SMIF_DEVICE_ADDR(base)              (((SMIF_DEVICE_Type *)(base))->ADDR)
232 #define SMIF_DEVICE_ADDR_CTL(base)          (((SMIF_DEVICE_Type *)(base))->ADDR_CTL)
233 #define SMIF_DEVICE_MASK(base)              (((SMIF_DEVICE_Type *)(base))->MASK)
234 #define SMIF_DEVICE_RD_CMD_CTL(base)        (((SMIF_DEVICE_Type *)(base))->RD_CMD_CTL)
235 #define SMIF_DEVICE_RD_ADDR_CTL(base)       (((SMIF_DEVICE_Type *)(base))->RD_ADDR_CTL)
236 #define SMIF_DEVICE_RD_MODE_CTL(base)       (((SMIF_DEVICE_Type *)(base))->RD_MODE_CTL)
237 #define SMIF_DEVICE_RD_DUMMY_CTL(base)      (((SMIF_DEVICE_Type *)(base))->RD_DUMMY_CTL)
238 #define SMIF_DEVICE_RD_DATA_CTL(base)       (((SMIF_DEVICE_Type *)(base))->RD_DATA_CTL)
239 #define SMIF_DEVICE_RD_BOUND_CTL(base)       (((SMIF_DEVICE_Type *)(base))->RD_BOUND_CTL)
240 #define SMIF_DEVICE_WR_CMD_CTL(base)        (((SMIF_DEVICE_Type *)(base))->WR_CMD_CTL)
241 #define SMIF_DEVICE_WR_ADDR_CTL(base)       (((SMIF_DEVICE_Type *)(base))->WR_ADDR_CTL)
242 #define SMIF_DEVICE_WR_MODE_CTL(base)       (((SMIF_DEVICE_Type *)(base))->WR_MODE_CTL)
243 #define SMIF_DEVICE_WR_DUMMY_CTL(base)      (((SMIF_DEVICE_Type *)(base))->WR_DUMMY_CTL)
244 #define SMIF_DEVICE_WR_DATA_CTL(base)       (((SMIF_DEVICE_Type *)(base))->WR_DATA_CTL)
245 
246 #define SMIF_DEVICE_IDX(base, deviceIndex)                 (((SMIF_Type *)(base))->DEVICE[deviceIndex])
247 
248 #define SMIF_DEVICE_IDX_CTL(base, deviceIndex)             (SMIF_DEVICE_IDX(base, deviceIndex).CTL)
249 #define SMIF_DEVICE_IDX_ADDR(base, deviceIndex)            (SMIF_DEVICE_IDX(base, deviceIndex).ADDR)
250 #define SMIF_DEVICE_IDX_ADDR_CTL(base, deviceIndex)        (SMIF_DEVICE_IDX(base, deviceIndex).ADDR_CTL)
251 #define SMIF_DEVICE_IDX_MASK(base, deviceIndex)            (SMIF_DEVICE_IDX(base, deviceIndex).MASK)
252 #define SMIF_DEVICE_IDX_RD_CMD_CTL(base, deviceIndex)      (SMIF_DEVICE_IDX(base, deviceIndex).RD_CMD_CTL)
253 #define SMIF_DEVICE_IDX_RD_ADDR_CTL(base, deviceIndex)     (SMIF_DEVICE_IDX(base, deviceIndex).RD_ADDR_CTL)
254 #define SMIF_DEVICE_IDX_RD_MODE_CTL(base, deviceIndex)     (SMIF_DEVICE_IDX(base, deviceIndex).RD_MODE_CTL)
255 #define SMIF_DEVICE_IDX_RD_DUMMY_CTL(base, deviceIndex)    (SMIF_DEVICE_IDX(base, deviceIndex).RD_DUMMY_CTL)
256 #define SMIF_DEVICE_IDX_RD_DATA_CTL(base, deviceIndex)     (SMIF_DEVICE_IDX(base, deviceIndex).RD_DATA_CTL)
257 #define SMIF_DEVICE_IDX_WR_CMD_CTL(base, deviceIndex)      (SMIF_DEVICE_IDX(base, deviceIndex).WR_CMD_CTL)
258 #define SMIF_DEVICE_IDX_WR_ADDR_CTL(base, deviceIndex)     (SMIF_DEVICE_IDX(base, deviceIndex).WR_ADDR_CTL)
259 #define SMIF_DEVICE_IDX_WR_MODE_CTL(base, deviceIndex)     (SMIF_DEVICE_IDX(base, deviceIndex).WR_MODE_CTL)
260 #define SMIF_DEVICE_IDX_WR_DUMMY_CTL(base, deviceIndex)    (SMIF_DEVICE_IDX(base, deviceIndex).WR_DUMMY_CTL)
261 #define SMIF_DEVICE_IDX_WR_DATA_CTL(base, deviceIndex)     (SMIF_DEVICE_IDX(base, deviceIndex).WR_DATA_CTL)
262 
263 #define SMIF_CTL(base)                        (((SMIF_Type *)(base))->CTL)
264 #define SMIF_STATUS(base)                    (((SMIF_Type *)(base))->STATUS)
265 #define SMIF_INT_CLOCK_DELAY_TAP_SEL0(base)    (((SMIF_Type *)(base))->INT_CLOCK_DELAY_TAP_SEL0)
266 #define SMIF_INT_CLOCK_DELAY_TAP_SEL1(base)    (((SMIF_Type *)(base))->INT_CLOCK_DELAY_TAP_SEL1)
267 #define SMIF_DL_CTL(base)                    (((SMIF_Type *)(base))->DL_CTL)
268 #define SMIF_DL_STATUS0(base)                (((SMIF_Type *)(base))->DL_STATUS0)
269 #define SMIF_DL_STATUS1(base)                (((SMIF_Type *)(base))->DL_STATUS1)
270 #define SMIF_TX_CMD_FIFO_STATUS(base)        (((SMIF_Type *)(base))->TX_CMD_FIFO_STATUS)
271 #define SMIF_TX_CMD_MMIO_FIFO_STATUS(base)    (((SMIF_Type *)(base))->TX_CMD_MMIO_FIFO_STATUS)
272 #define SMIF_TX_CMD_MMIO_FIFO_WR(base)        (((SMIF_Type *)(base))->TX_CMD_MMIO_FIFO_WR)
273 #define SMIF_TX_DATA_MMIO_FIFO_CTL(base)    (((SMIF_Type *)(base))->TX_DATA_MMIO_FIFO_CTL)
274 #define SMIF_TX_DATA_FIFO_STATUS(base)        (((SMIF_Type *)(base))->TX_DATA_FIFO_STATUS)
275 #define SMIF_TX_DATA_MMIO_FIFO_STATUS(base)    (((SMIF_Type *)(base))->TX_DATA_MMIO_FIFO_STATUS)
276 #define SMIF_TX_DATA_MMIO_FIFO_WR1(base)    (((SMIF_Type *)(base))->TX_DATA_MMIO_FIFO_WR1)
277 #define SMIF_TX_DATA_MMIO_FIFO_WR2(base)    (((SMIF_Type *)(base))->TX_DATA_MMIO_FIFO_WR2)
278 #define SMIF_TX_DATA_MMIO_FIFO_WR4(base)    (((SMIF_Type *)(base))->TX_DATA_MMIO_FIFO_WR4)
279 #define SMIF_TX_DATA_MMIO_FIFO_WR1ODD(base)    (((SMIF_Type *)(base))->TX_DATA_MMIO_FIFO_WR1ODD)
280 #define SMIF_RX_DATA_MMIO_FIFO_CTL(base)    (((SMIF_Type *)(base))->RX_DATA_MMIO_FIFO_CTL)
281 #define SMIF_RX_DATA_MMIO_FIFO_STATUS(base)    (((SMIF_Type *)(base))->RX_DATA_MMIO_FIFO_STATUS)
282 #define SMIF_RX_DATA_FIFO_STATUS(base)        (((SMIF_Type *)(base))->RX_DATA_FIFO_STATUS)
283 #define SMIF_RX_DATA_MMIO_FIFO_RD1(base)    (((SMIF_Type *)(base))->RX_DATA_MMIO_FIFO_RD1)
284 #define SMIF_RX_DATA_MMIO_FIFO_RD2(base)    (((SMIF_Type *)(base))->RX_DATA_MMIO_FIFO_RD2)
285 #define SMIF_RX_DATA_MMIO_FIFO_RD4(base)    (((SMIF_Type *)(base))->RX_DATA_MMIO_FIFO_RD4)
286 #define SMIF_RX_DATA_MMIO_FIFO_RD1_SILENT(base)    (((SMIF_Type *)(base))->RX_DATA_MMIO_FIFO_RD1_SILENT)
287 #define SMIF_SLOW_CA_CTL(base)                   (((SMIF_Type *)(base))->SLOW_CA_CTL)
288 #define SMIF_SLOW_CA_CMD(base)                (((SMIF_Type *)(base))->SLOW_CA_CMD)
289 #define SMIF_FAST_CA_CTL(base)                (((SMIF_Type *)(base))->FAST_CA_CTL)
290 #define SMIF_FAST_CA_CMD(base)                (((SMIF_Type *)(base))->FAST_CA_CMD)
291 #define SMIF_CRC_CMD(base)                    (((SMIF_Type *)(base))->CRC_CMD)
292 #define SMIF_CRC_INPUT0(base)                (((SMIF_Type *)(base))->CRC_INPUT0)
293 #define SMIF_CRC_INPUT1(base)                (((SMIF_Type *)(base))->CRC_INPUT1)
294 #define SMIF_CRC_OUTPUT(base)                (((SMIF_Type *)(base))->CRC_OUTPUT)
295 #define SMIF_INTR(base)                        (((SMIF_Type *)(base))->INTR)
296 #define SMIF_INTR_SET(base)                    (((SMIF_Type *)(base))->INTR_SET)
297 #define SMIF_INTR_MASK(base)                (((SMIF_Type *)(base))->INTR_MASK)
298 #define SMIF_INTR_MASKED(base)                (((SMIF_Type *)(base))->INTR_MASKED)
299 
300 /*******************************************************************************
301 *                DW
302 *******************************************************************************/
303 
304 
305 #define CY_DW                               (0UL)
306 #define CY_DW_CRC                           (1UL)
307 #define CY_DW0_BASE                         DW0
308 #define CY_DW1_BASE                         DW1
309 #define CY_DW0_CH_NR                        CPUSS_DW0_CH_NR
310 #define CY_DW1_CH_NR                        CPUSS_DW1_CH_NR
311 
312 #define CY_DW_CH_CTL_PRIO_Pos               ((uint32_t)(DW_CH_STRUCT_CH_CTL_PRIO_Pos))
313 #define CY_DW_CH_CTL_PRIO_Msk               ((uint32_t)(0x3UL << CY_DW_CH_CTL_PRIO_Pos))
314 #define CY_DW_CH_CTL_PREEMPTABLE_Pos        ((uint32_t)(DW_CH_STRUCT_CH_CTL_PREEMPTABLE_Pos))
315 #define CY_DW_CH_CTL_PREEMPTABLE_Msk        ((uint32_t)(0x1UL << CY_DW_CH_CTL_PREEMPTABLE_Pos))
316 #define CY_DW_STATUS_CH_IDX_Pos             ((uint32_t)(DW_STATUS_CH_IDX_Pos))
317 #define CY_DW_STATUS_CH_IDX_Msk             (DW_STATUS_CH_IDX_Msk)
318 
319 #define DW_CTL(base)                        (((DW_Type*)(base))->CTL)
320 #define DW_STATUS(base)                     (((DW_Type const*)(base))->STATUS)
321 #define DW_DESCR_SRC(base)                  (((DW_Type*)(base))->ACT_DESCR_SRC)
322 #define DW_DESCR_DST(base)                  (((DW_Type*)(base))->ACT_DESCR_DST)
323 
324 #define DW_CRC_CTL(base)                    (((DW_Type*)(base))->CRC_CTL)
325 #define DW_CRC_DATA_CTL(base)               (((DW_Type*)(base))->CRC_DATA_CTL)
326 #define DW_CRC_REM_CTL(base)                (((DW_Type*)(base))->CRC_REM_CTL)
327 #define DW_CRC_POL_CTL(base)                (((DW_Type*)(base))->CRC_POL_CTL)
328 #define DW_CRC_LFSR_CTL(base)               (((DW_Type*)(base))->CRC_LFSR_CTL)
329 
330 #define DW_CH_OFFSET                        (uint32_t)(offsetof(DW_Type, CH_STRUCT))
331 #define DW_CH_SIZE                            (uint32_t)(sizeof(DW_CH_STRUCT_Type))
332 
333 #define DW_CH(base, chan)                    ((DW_CH_STRUCT_Type*)((uint32_t)(base) + DW_CH_OFFSET + (chan * DW_CH_SIZE)))
334 #define DW_CH_CTL(base, chan)               (DW_CH((base), (chan))->CH_CTL)
335 #define DW_CH_STATUS(base, chan)            (DW_CH((base), (chan))->CH_STATUS)
336 #define DW_CH_IDX(base, chan)               (DW_CH((base), (chan))->CH_IDX)
337 #define DW_CH_CURR_PTR(base, chan)          (DW_CH((base), (chan))->CH_CURR_PTR)
338 
339 #define DW_CH_INTR(base, chan)              (DW_CH((base), (chan))->INTR)
340 #define DW_CH_INTR_SET(base, chan)          (DW_CH((base), (chan))->INTR_SET)
341 #define DW_CH_INTR_MASK(base, chan)         (DW_CH((base), (chan))->INTR_MASK)
342 #define DW_CH_INTR_MASKED(base, chan)       (DW_CH((base), (chan))->INTR_MASKED)
343 #define DW_CH_TR_CMD(base, chan)            (DW_CH((base), (chan))->TR_CMD)
344 
345 #if defined (CY_IP_MXDW)
346 #define DW_V2_CRC_CTL_DATA_REVERSE_Msk DW_CRC_CTL_DATA_REVERSE_Msk
347 #define DW_V2_CRC_CTL_REM_REVERSE_Msk DW_CRC_CTL_REM_REVERSE_Msk
348 #define DW_V2_CRC_DATA_CTL_DATA_XOR_Msk DW_CRC_DATA_CTL_DATA_XOR_Msk
349 #define DW_V2_CRC_REM_CTL_REM_XOR_Msk DW_CRC_REM_CTL_REM_XOR_Msk
350 #define DW_V2_CRC_POL_CTL_POLYNOMIAL_Msk DW_CRC_POL_CTL_POLYNOMIAL_Msk
351 #define DW_V2_CRC_LFSR_CTL_LFSR32_Msk DW_CRC_LFSR_CTL_LFSR32_Msk
352 #define DW_V2_CRC_CTL_DATA_REVERSE_Pos DW_CRC_CTL_DATA_REVERSE_Pos
353 #define DW_V2_CRC_CTL_REM_REVERSE_Pos DW_CRC_CTL_REM_REVERSE_Pos
354 #define DW_V2_CRC_DATA_CTL_DATA_XOR_Pos DW_CRC_DATA_CTL_DATA_XOR_Pos
355 #define DW_V2_CRC_REM_CTL_REM_XOR_Pos DW_CRC_REM_CTL_REM_XOR_Pos
356 #define DW_V2_CRC_POL_CTL_POLYNOMIAL_Pos DW_CRC_POL_CTL_POLYNOMIAL_Pos
357 #define DW_V2_CRC_LFSR_CTL_LFSR32_Pos DW_CRC_LFSR_CTL_LFSR32_Pos
358 #endif /* CY_IP_MXDW */
359 
360 /*******************************************************************************
361 *                DMAC
362 *******************************************************************************/
363 #if defined (CY_IP_MXAHBDMAC)
364 #define CY_DMAC_CH_NR                       (4UL)
365 #define DMAC_CTL(base)                      (((MXAHBDMAC_Type*)(base))->CTL)
366 #define DMAC_ACTIVE(base)                   (((MXAHBDMAC_Type const*)(base))->ACTIVE)
367 #define DMAC_CH(base, chan)                 (&(((MXAHBDMAC_Type*)(base))->CH[(chan)]))
368 #define DMAC_CH_CTL(base, chan)             (DMAC_CH(base, chan)->CTL)
369 #define DMAC_CH_IDX(base, chan)             (DMAC_CH(base, chan)->IDX)
370 #define DMAC_CH_CURR(base, chan)            (DMAC_CH(base, chan)->CURR)
371 #define DMAC_CH_DESCR_SRC(base, chan)       (DMAC_CH(base, chan)->DESCR_SRC)
372 #define DMAC_CH_DESCR_DST(base, chan)       (DMAC_CH(base, chan)->DESCR_DST)
373 #define DMAC_CH_INTR(base, chan)            (DMAC_CH(base, chan)->INTR)
374 #define DMAC_CH_INTR_SET(base, chan)        (DMAC_CH(base, chan)->INTR_SET)
375 #define DMAC_CH_INTR_MASK(base, chan)       (DMAC_CH(base, chan)->INTR_MASK)
376 #define DMAC_CH_INTR_MASKED(base, chan)     (DMAC_CH(base, chan)->INTR_MASKED)
377 
378 typedef MXAHBDMAC_Type DMAC_Type;
379 #define DMAC                                    MXAHBDMAC0_BASE
380 
381 #define DMAC_CH_V2_INTR_COMPLETION_Msk MXAHBDMAC_CH_INTR_COMPLETION_Msk
382 #define DMAC_CH_V2_INTR_COMPLETION_Pos MXAHBDMAC_CH_INTR_COMPLETION_Pos
383 #define DMAC_CH_V2_INTR_SRC_BUS_ERROR_Msk MXAHBDMAC_CH_INTR_SRC_BUS_ERROR_Msk
384 #define DMAC_CH_V2_INTR_SRC_BUS_ERROR_Pos MXAHBDMAC_CH_INTR_SRC_BUS_ERROR_Pos
385 #define DMAC_CH_V2_INTR_DST_BUS_ERROR_Msk MXAHBDMAC_CH_INTR_DST_BUS_ERROR_Msk
386 #define DMAC_CH_V2_INTR_DST_BUS_ERROR_Pos MXAHBDMAC_CH_INTR_DST_BUS_ERROR_Pos
387 #define DMAC_CH_V2_INTR_SRC_MISAL_Msk MXAHBDMAC_CH_INTR_SRC_MISAL_Msk
388 #define DMAC_CH_V2_INTR_SRC_MISAL_Pos MXAHBDMAC_CH_INTR_SRC_MISAL_Pos
389 #define DMAC_CH_V2_INTR_DST_MISAL_Msk MXAHBDMAC_CH_INTR_DST_MISAL_Msk
390 #define DMAC_CH_V2_INTR_DST_MISAL_Pos MXAHBDMAC_CH_INTR_DST_MISAL_Pos
391 #define DMAC_CH_V2_INTR_CURR_PTR_NULL_Msk MXAHBDMAC_CH_INTR_CURR_PTR_NULL_Msk
392 #define DMAC_CH_V2_INTR_CURR_PTR_NULL_Pos MXAHBDMAC_CH_INTR_CURR_PTR_NULL_Pos
393 #define DMAC_CH_V2_INTR_ACTIVE_CH_DISABLED_Msk MXAHBDMAC_CH_INTR_ACTIVE_CH_DISABLED_Msk
394 #define DMAC_CH_V2_INTR_ACTIVE_CH_DISABLED_Pos MXAHBDMAC_CH_INTR_ACTIVE_CH_DISABLED_Pos
395 #define DMAC_CH_V2_INTR_DESCR_BUS_ERROR_Msk MXAHBDMAC_CH_INTR_DESCR_BUS_ERROR_Msk
396 #define DMAC_CH_V2_INTR_DESCR_BUS_ERROR_Pos MXAHBDMAC_CH_INTR_DESCR_BUS_ERROR_Pos
397 #define DMAC_Type MXAHBDMAC_Type
398 #define DMAC_V2_CTL_ENABLED_Msk MXAHBDMAC_CTL_ENABLED_Msk
399 #define DMAC_V2_CTL_ENABLED_Pos MXAHBDMAC_CTL_ENABLED_Pos
400 #define DMAC_V2_ACTIVE_ACTIVE_Msk MXAHBDMAC_ACTIVE_ACTIVE_Msk
401 #define DMAC_V2_ACTIVE_ACTIVE_Pos MXAHBDMAC_ACTIVE_ACTIVE_Pos
402 #define DMAC_CH_V2_DESCR_CTL_INTR_TYPE_Msk MXAHBDMAC_CH_DESCR_CTL_INTR_TYPE_Msk
403 #define DMAC_CH_V2_DESCR_CTL_INTR_TYPE_Pos MXAHBDMAC_CH_DESCR_CTL_INTR_TYPE_Pos
404 #define DMAC_CH_V2_DESCR_CTL_TR_IN_TYPE_Msk MXAHBDMAC_CH_DESCR_CTL_TR_IN_TYPE_Msk
405 #define DMAC_CH_V2_DESCR_CTL_TR_IN_TYPE_Pos MXAHBDMAC_CH_DESCR_CTL_TR_IN_TYPE_Pos
406 #define DMAC_CH_V2_DESCR_CTL_TR_OUT_TYPE_Msk MXAHBDMAC_CH_DESCR_CTL_TR_OUT_TYPE_Msk
407 #define DMAC_CH_V2_DESCR_CTL_TR_OUT_TYPE_Pos MXAHBDMAC_CH_DESCR_CTL_TR_OUT_TYPE_Pos
408 #define DMAC_CH_V2_DESCR_CTL_DATA_SIZE_Msk MXAHBDMAC_CH_DESCR_CTL_DATA_SIZE_Msk
409 #define DMAC_CH_V2_DESCR_CTL_DATA_SIZE_Pos MXAHBDMAC_CH_DESCR_CTL_DATA_SIZE_Pos
410 #define DMAC_CH_V2_DESCR_CTL_SRC_TRANSFER_SIZE_Msk MXAHBDMAC_CH_DESCR_CTL_SRC_TRANSFER_SIZE_Msk
411 #define DMAC_CH_V2_DESCR_CTL_SRC_TRANSFER_SIZE_Pos MXAHBDMAC_CH_DESCR_CTL_SRC_TRANSFER_SIZE_Pos
412 #define DMAC_CH_V2_DESCR_CTL_DST_TRANSFER_SIZE_Msk MXAHBDMAC_CH_DESCR_CTL_DST_TRANSFER_SIZE_Msk
413 #define DMAC_CH_V2_DESCR_CTL_DST_TRANSFER_SIZE_Pos MXAHBDMAC_CH_DESCR_CTL_DST_TRANSFER_SIZE_Pos
414 #define DMAC_CH_V2_DESCR_CTL_WAIT_FOR_DEACT_Msk MXAHBDMAC_CH_DESCR_CTL_WAIT_FOR_DEACT_Msk
415 #define DMAC_CH_V2_DESCR_CTL_WAIT_FOR_DEACT_Pos MXAHBDMAC_CH_DESCR_CTL_WAIT_FOR_DEACT_Pos
416 #define DMAC_CH_V2_DESCR_CTL_DESCR_TYPE_Msk MXAHBDMAC_CH_DESCR_CTL_DESCR_TYPE_Msk
417 #define DMAC_CH_V2_DESCR_CTL_DESCR_TYPE_Pos MXAHBDMAC_CH_DESCR_CTL_DESCR_TYPE_Pos
418 #define DMAC_CH_V2_DESCR_CTL_CH_DISABLE_Msk MXAHBDMAC_CH_DESCR_CTL_CH_DISABLE_Msk
419 #define DMAC_CH_V2_DESCR_CTL_CH_DISABLE_Pos MXAHBDMAC_CH_DESCR_CTL_CH_DISABLE_Pos
420 #define DMAC_CH_V2_DESCR_X_INCR_SRC_X_Msk MXAHBDMAC_CH_DESCR_X_INCR_SRC_X_Msk
421 #define DMAC_CH_V2_DESCR_X_INCR_SRC_X_Pos MXAHBDMAC_CH_DESCR_X_INCR_SRC_X_Pos
422 #define DMAC_CH_V2_DESCR_X_INCR_DST_X_Msk MXAHBDMAC_CH_DESCR_X_INCR_DST_X_Msk
423 #define DMAC_CH_V2_DESCR_X_INCR_DST_X_Pos MXAHBDMAC_CH_DESCR_X_INCR_DST_X_Pos
424 #define DMAC_CH_V2_DESCR_Y_SIZE_Y_COUNT_Msk MXAHBDMAC_CH_DESCR_Y_SIZE_Y_COUNT_Msk
425 #define DMAC_CH_V2_DESCR_Y_SIZE_Y_COUNT_Pos MXAHBDMAC_CH_DESCR_Y_SIZE_Y_COUNT_Pos
426 #define DMAC_CH_V2_DESCR_Y_INCR_SRC_Y_Msk MXAHBDMAC_CH_DESCR_Y_INCR_SRC_Y_Msk
427 #define DMAC_CH_V2_DESCR_Y_INCR_SRC_Y_Pos MXAHBDMAC_CH_DESCR_Y_INCR_SRC_Y_Pos
428 #define DMAC_CH_V2_DESCR_Y_INCR_DST_Y_Msk MXAHBDMAC_CH_DESCR_Y_INCR_DST_Y_Msk
429 #define DMAC_CH_V2_DESCR_Y_INCR_DST_Y_Pos MXAHBDMAC_CH_DESCR_Y_INCR_DST_Y_Pos
430 #define DMAC_CH_V2_CTL_ENABLED_Msk MXAHBDMAC_CH_CTL_ENABLED_Msk
431 #define DMAC_CH_V2_CTL_ENABLED_Pos MXAHBDMAC_CH_CTL_ENABLED_Pos
432 #define DMAC_CH_V2_CTL_PRIO_Msk MXAHBDMAC_CH_CTL_PRIO_Msk
433 #define DMAC_CH_V2_CTL_PRIO_Pos MXAHBDMAC_CH_CTL_PRIO_Pos
434 #define DMAC_CH_V2_IDX_X_Msk MXAHBDMAC_CH_IDX_X_Msk
435 #define DMAC_CH_V2_IDX_X_Pos MXAHBDMAC_CH_IDX_X_Pos
436 #define DMAC_CH_V2_IDX_Y_Msk MXAHBDMAC_CH_IDX_Y_Msk
437 #define DMAC_CH_V2_IDX_Y_Pos MXAHBDMAC_CH_IDX_Y_Pos
438 #define DMAC_CH_V2_DESCR_CTL_DATA_PREFETCH_Msk MXAHBDMAC_CH_DESCR_CTL_DATA_PREFETCH_Msk
439 #define DMAC_CH_V2_DESCR_CTL_DATA_PREFETCH_Pos MXAHBDMAC_CH_DESCR_CTL_DATA_PREFETCH_Pos
440 #define DMAC_CH_V2_CTL_B_Msk MXAHBDMAC_CH_CTL_B_Msk
441 #define DMAC_CH_V2_CTL_B_Pos MXAHBDMAC_CH_CTL_B_Pos
442 #define DMAC_CH_V2_DESCR_X_SIZE_X_COUNT_Msk MXAHBDMAC_CH_DESCR_X_SIZE_X_COUNT_Msk
443 #define DMAC_CH_V2_DESCR_X_SIZE_X_COUNT_Pos MXAHBDMAC_CH_DESCR_X_SIZE_X_COUNT_Pos
444 
445 #endif
446 
447 /*******************************************************************************
448 *                CRYPTOLITE
449 *******************************************************************************/
450 #define CY_PLATFORM_REMAP_ADDRESS_CRYPTOLITE(addr)               (Cy_Platform_RemapAddr(addr))
451 
452 
453 #if defined(CY_DEVICE_BOY2)
Cy_Platform_RemapAddr(const void * addr)454 static inline void * Cy_Platform_RemapAddr(const void *addr)
455 {
456   uint32_t remapAddr, offset;
457 
458   #if defined(COMPONENT_SECURE_DEVICE)
459   /* FLASH Address Secure */
460   if (((uint32_t)addr >= CY_FLASH_S_SBUS_BASE) &&
461       ((uint32_t)addr < (CY_FLASH_S_SBUS_BASE + CY_FLASH_SIZE)))
462   {
463     offset = (uint32_t)addr - CY_FLASH_S_SBUS_BASE;
464     remapAddr = CY_FLASH_S_CBUS_BASE + offset;
465   }
466   /* SFLASH Address Secure */
467   else if (((uint32_t)addr >= CY_SFLASH_S_SBUS_BASE) &&
468       ((uint32_t)addr < (CY_SFLASH_S_SBUS_BASE + CY_SFLASH_SIZE)))
469   {
470     offset = (uint32_t)addr - CY_SFLASH_S_SBUS_BASE;
471     remapAddr = CY_SFLASH_S_CBUS_BASE + offset;
472   }
473   /* SRAM Address Secure */
474   else if (((uint32_t)addr >= CY_SRAM0_S_CBUS_BASE) &&
475       ((uint32_t)addr < (CY_SRAM0_S_CBUS_BASE + CY_SRAM0_SIZE)))
476   {
477     offset = (uint32_t)addr - CY_SRAM0_S_CBUS_BASE;
478     remapAddr = CY_SRAM0_S_SBUS_BASE + offset;
479   }
480   #else
481   /* FLASH Address Non-Secure */
482   if (((uint32_t)addr >= CY_FLASH_NS_SBUS_BASE) &&
483       ((uint32_t)addr < (CY_FLASH_NS_SBUS_BASE + CY_FLASH_SIZE)))
484   {
485     offset = (uint32_t)addr - CY_FLASH_NS_SBUS_BASE;
486     remapAddr = CY_FLASH_NS_CBUS_BASE + offset;
487   }
488   /* SFLASH Address Non-Secure */
489   else if (((uint32_t)addr >= CY_SFLASH_NS_SBUS_BASE) &&
490       ((uint32_t)addr < (CY_SFLASH_NS_SBUS_BASE + CY_SFLASH_SIZE)))
491   {
492     offset = (uint32_t)addr - CY_SFLASH_NS_SBUS_BASE;
493     remapAddr = CY_SFLASH_NS_CBUS_BASE + offset;
494   }
495   /* SRAM Address Non-Secure */
496   else if (((uint32_t)addr >= CY_SRAM0_NS_CBUS_BASE) &&
497       ((uint32_t)addr < (CY_SRAM0_NS_CBUS_BASE + CY_SRAM0_SIZE)))
498   {
499     offset = (uint32_t)addr - CY_SRAM0_NS_CBUS_BASE;
500     remapAddr = CY_SRAM0_NS_SBUS_BASE + offset;
501   }
502   #endif
503   else
504   {
505     remapAddr = (uint32_t)addr;
506   }
507   return (void *)remapAddr;
508 }
509 #else
Cy_Platform_RemapAddr(const void * addr)510 static inline void * Cy_Platform_RemapAddr(const void *addr)
511 {
512   uint32_t remapAddr, offset;
513 
514  /* XIP Address*/
515   if (((uint32_t)addr >= CY_XIP_NS_CBUS_BASE) &&
516       ((uint32_t)addr < (CY_XIP_NS_CBUS_BASE + CY_XIP_SIZE)))
517   {
518     offset = (uint32_t)addr - CY_XIP_NS_CBUS_BASE;
519     remapAddr = CY_XIP_NS_SBUS_BASE + offset;
520   }
521   /* SRAM Address*/
522   else if (((uint32_t)addr >= CY_SRAM0_NS_CBUS_BASE) &&
523       ((uint32_t)addr < (CY_SRAM0_NS_CBUS_BASE + CY_SRAM0_SIZE)))
524   {
525     offset = (uint32_t)addr - CY_SRAM0_NS_CBUS_BASE;
526     remapAddr = CY_SRAM0_NS_SBUS_BASE + offset;
527   }
528   else
529   {
530     remapAddr = (uint32_t)addr;
531   }
532   return (void *)remapAddr;
533 
534 }
535 
536 
537 
538 
539 
540 #endif
541 
542 /*******************************************************************************
543 *                IOSS
544 *******************************************************************************/
545 
546 #define CY_GPIO_BASE                       ((uint32_t)GPIO_BASE)
547 
548 #define GPIO_SEC_INTR_CAUSE0               ((GPIO)->SEC_INTR_CAUSE0)
549 #define GPIO_SEC_INTR_CAUSE1               ((GPIO)->SEC_INTR_CAUSE1)
550 #define GPIO_SEC_INTR_CAUSE2               ((GPIO)->SEC_INTR_CAUSE2)
551 #define GPIO_SEC_INTR_CAUSE3               ((GPIO)->SEC_INTR_CAUSE3)
552 #define GPIO_INTR_CAUSE0                   ((GPIO)->INTR_CAUSE0)
553 #define GPIO_INTR_CAUSE1                   ((GPIO)->INTR_CAUSE1)
554 #define GPIO_INTR_CAUSE2                   ((GPIO)->INTR_CAUSE2)
555 #define GPIO_INTR_CAUSE3                   ((GPIO)->INTR_CAUSE3)
556 
557 #define GPIO_PRT_OUT(base)                 (((GPIO_PRT_Type*)(base))->OUT)
558 #define GPIO_PRT_OUT_CLR(base)             (((GPIO_PRT_Type*)(base))->OUT_CLR)
559 #define GPIO_PRT_OUT_SET(base)             (((GPIO_PRT_Type*)(base))->OUT_SET)
560 #define GPIO_PRT_OUT_INV(base)             (((GPIO_PRT_Type*)(base))->OUT_INV)
561 #define GPIO_PRT_IN(base)                  (((GPIO_PRT_Type*)(base))->IN)
562 #define GPIO_PRT_INTR(base)                (((GPIO_PRT_Type*)(base))->INTR)
563 #define GPIO_PRT_INTR_MASK(base)           (((GPIO_PRT_Type*)(base))->INTR_MASK)
564 #define GPIO_PRT_INTR_MASKED(base)         (((GPIO_PRT_Type*)(base))->INTR_MASKED)
565 #define GPIO_PRT_INTR_SET(base)            (((GPIO_PRT_Type*)(base))->INTR_SET)
566 #define GPIO_PRT_INTR_CFG(base)            (((GPIO_PRT_Type*)(base))->INTR_CFG)
567 #define GPIO_PRT_CFG(base)                 (((GPIO_PRT_Type*)(base))->CFG)
568 #define GPIO_PRT_CFG_IN(base)              (((GPIO_PRT_Type*)(base))->CFG_IN)
569 #define GPIO_PRT_CFG_OUT(base)             (((GPIO_PRT_Type*)(base))->CFG_OUT)
570 #define GPIO_PRT_CFG_SIO(base)             (((GPIO_PRT_Type*)(base))->CFG_SIO)
571 #define GPIO_PRT_SLEW_EXT(base)            (((GPIO_PRT_Type*)(base))->CFG_SLEW_EXT)
572 #define GPIO_PRT_DRIVE_EXT0(base)          (((GPIO_PRT_Type*)(base))->CFG_DRIVE_EXT0)
573 #define GPIO_PRT_DRIVE_EXT1(base)          (((GPIO_PRT_Type*)(base))->CFG_DRIVE_EXT1)
574 #define GPIO_PRT_CFG_IN_AUTOLVL(base)      (((GPIO_PRT_Type*)(base))->CFG_IN_AUTOLVL)
575 
576 #define CY_HSIOM_BASE                      ((uint32_t)HSIOM_BASE)
577 
578 #define HSIOM_PRT_PORT_SEL0(base)          (((HSIOM_PRT_Type *)(base))->PORT_SEL0)
579 #define HSIOM_PRT_PORT_SEL1(base)          (((HSIOM_PRT_Type *)(base))->PORT_SEL1)
580 
581 #if (IOSS_HSIOM_HSIOM_SEC_PORT_NR != 0) || (CPUSS_CM33_0_SECEXT_PRESENT != 0)
582 #define CY_HSIOM_SECURE_BASE               ((uint32_t)&HSIOM->SECURE_PRT[0])
583 #endif /* IOSS_HSIOM_HSIOM_SEC_PORT_NR, CPUSS_CM33_0_SECEXT_PRESENT */
584 
585 
586 #define HSIOM_SEC_PRT_NONSEC_MASK(base)    (((HSIOM_SECURE_PRT_Type *)(base))->NONSECURE_MASK)
587 
588 
589 #define HSIOM_AMUX_SPLIT_CTL(switchCtrl)    (((HSIOM_Type *)HSIOM_BASE)->AMUX_SPLIT_CTL[switchCtrl])
590 
591 /*******************************************************************************
592 *                SCB
593 *******************************************************************************/
594 #define SCB_CTRL(base)                      (((CySCB_Type*) (base))->CTRL)
595 #define SCB_SPI_CTRL(base)                  (((CySCB_Type*) (base))->SPI_CTRL)
596 #define SCB_SPI_STATUS(base)                (((CySCB_Type*) (base))->SPI_STATUS)
597 #define SCB_SPI_TX_CTRL(base)              (((CySCB_Type*) (base))->SPI_TX_CTRL)
598 #define SCB_SPI_RX_CTRL(base)              (((CySCB_Type*) (base))->SPI_RX_CTRL)
599 #define SCB_UART_CTRL(base)                 (((CySCB_Type*) (base))->UART_CTRL)
600 #define SCB_UART_TX_CTRL(base)              (((CySCB_Type*) (base))->UART_TX_CTRL)
601 #define SCB_UART_RX_CTRL(base)              (((CySCB_Type*) (base))->UART_RX_CTRL)
602 #define SCB_UART_FLOW_CTRL(base)            (((CySCB_Type*) (base))->UART_FLOW_CTRL)
603 #define SCB_I2C_CTRL(base)                  (((CySCB_Type*) (base))->I2C_CTRL)
604 #define SCB_I2C_STATUS(base)                (((CySCB_Type*) (base))->I2C_STATUS)
605 #define SCB_I2C_M_CMD(base)                 (((CySCB_Type*) (base))->I2C_M_CMD)
606 #define SCB_I2C_S_CMD(base)                 (((CySCB_Type*) (base))->I2C_S_CMD)
607 #define SCB_I2C_CFG(base)                   (((CySCB_Type*) (base))->I2C_CFG)
608 #define SCB_I2C_STRETCH_CTRL(base)          (((CySCB_Type*) (base))->I2C_STRETCH_CTRL)
609 #define SCB_I2C_STRETCH_STATUS(base)        (((CySCB_Type*) (base))->I2C_STRETCH_STATUS)
610 #define SCB_TX_CTRL(base)                   (((CySCB_Type*) (base))->TX_CTRL)
611 #define SCB_TX_FIFO_CTRL(base)              (((CySCB_Type*) (base))->TX_FIFO_CTRL)
612 #define SCB_TX_FIFO_STATUS(base)            (((CySCB_Type*) (base))->TX_FIFO_STATUS)
613 #define SCB_TX_FIFO_WR(base)                (((CySCB_Type*) (base))->TX_FIFO_WR)
614 #define SCB_RX_CTRL(base)                   (((CySCB_Type*) (base))->RX_CTRL)
615 #define SCB_RX_FIFO_CTRL(base)              (((CySCB_Type*) (base))->RX_FIFO_CTRL)
616 #define SCB_RX_FIFO_STATUS(base)            (((CySCB_Type*) (base))->RX_FIFO_STATUS)
617 #define SCB_RX_MATCH(base)                  (((CySCB_Type*) (base))->RX_MATCH)
618 #define SCB_RX_FIFO_RD(base)                (((CySCB_Type*) (base))->RX_FIFO_RD)
619 #define SCB_INTR_CAUSE(base)                (((CySCB_Type*) (base))->INTR_CAUSE)
620 #define SCB_INTR_I2C_EC(base)               (((CySCB_Type*) (base))->INTR_I2C_EC)
621 #define SCB_INTR_I2C_EC_MASK(base)          (((CySCB_Type*) (base))->INTR_I2C_EC_MASK)
622 #define SCB_INTR_I2C_EC_MASKED(base)        (((CySCB_Type*) (base))->INTR_I2C_EC_MASKED)
623 #define SCB_INTR_SPI_EC(base)               (((CySCB_Type*) (base))->INTR_SPI_EC)
624 #define SCB_INTR_SPI_EC_MASK(base)          (((CySCB_Type*) (base))->INTR_SPI_EC_MASK)
625 #define SCB_INTR_SPI_EC_MASKED(base)        (((CySCB_Type*) (base))->INTR_SPI_EC_MASKED)
626 #define SCB_INTR_M(base)                    (((CySCB_Type*) (base))->INTR_M)
627 #define SCB_INTR_M_SET(base)                (((CySCB_Type*) (base))->INTR_M_SET)
628 #define SCB_INTR_M_MASK(base)               (((CySCB_Type*) (base))->INTR_M_MASK)
629 #define SCB_INTR_M_MASKED(base)             (((CySCB_Type*) (base))->INTR_M_MASKED)
630 #define SCB_INTR_S(base)                    (((CySCB_Type*) (base))->INTR_S)
631 #define SCB_INTR_S_SET(base)                (((CySCB_Type*) (base))->INTR_S_SET)
632 #define SCB_INTR_S_MASK(base)               (((CySCB_Type*) (base))->INTR_S_MASK)
633 #define SCB_INTR_S_MASKED(base)             (((CySCB_Type*) (base))->INTR_S_MASKED)
634 #define SCB_INTR_TX(base)                   (((CySCB_Type*) (base))->INTR_TX)
635 #define SCB_INTR_TX_SET(base)               (((CySCB_Type*) (base))->INTR_TX_SET)
636 #define SCB_INTR_TX_MASK(base)              (((CySCB_Type*) (base))->INTR_TX_MASK)
637 #define SCB_INTR_TX_MASKED(base)            (((CySCB_Type*) (base))->INTR_TX_MASKED)
638 #define SCB_INTR_RX(base)                   (((CySCB_Type*) (base))->INTR_RX)
639 #define SCB_INTR_RX_SET(base)               (((CySCB_Type*) (base))->INTR_RX_SET)
640 #define SCB_INTR_RX_MASK(base)              (((CySCB_Type*) (base))->INTR_RX_MASK)
641 #define SCB_INTR_RX_MASKED(base)            (((CySCB_Type*) (base))->INTR_RX_MASKED)
642 
643 #if(CY_IP_MXSCB_VERSION>=4)
644 #define SCB_SPI_CTRL_LATE_MISO_SAMPLE_Pos SCB_SPI_CTRL_LATE_SAMPLE_Pos
645 #define SCB_SPI_CTRL_LATE_MISO_SAMPLE_Msk SCB_SPI_CTRL_LATE_SAMPLE_Msk
646 #endif
647 
648 
649 /*******************************************************************************
650 *                I3C
651 *******************************************************************************/
652 
653 
654 #define I3C_CORE_DEVICE_CTRL(base)                         (((I3C_CORE_Type*) (base))->DEVICE_CTRL)
655 #define I3C_CORE_DEVICE_ADDR(base)                         (((I3C_CORE_Type*) (base))->DEVICE_ADDR)
656 #define I3C_CORE_HW_CAPABILITY(base)                     (((I3C_CORE_Type*) (base))->HW_CAPABILITY)
657 #define I3C_CORE_COMMAND_QUEUE_PORT(base)                 (((I3C_CORE_Type*) (base))->COMMAND_QUEUE_PORT)
658 #define I3C_CORE_RESPONSE_QUEUE_PORT(base)                 (((I3C_CORE_Type*) (base))->RESPONSE_QUEUE_PORT)
659 #define I3C_CORE_TX_RX_DATA_PORT(base)                     (((I3C_CORE_Type*) (base))->TX_RX_DATA_PORT)
660 #define I3C_CORE_IBI_QUEUE_STATUS(base)                 (((I3C_CORE_Type*) (base))->IBI_QUEUE_STATUS)
661 #define I3C_CORE_QUEUE_THLD_CTRL(base)                     (((I3C_CORE_Type*) (base))->QUEUE_THLD_CTRL)
662 #define I3C_CORE_DATA_BUFFER_THLD_CTRL(base)            (((I3C_CORE_Type*) (base))->DATA_BUFFER_THLD_CTRL)
663 #define I3C_CORE_IBI_QUEUE_CTRL(base)                    (((I3C_CORE_Type*) (base))->IBI_QUEUE_CTRL)
664 #define I3C_CORE_IBI_MR_REQ_REJECT(base)                 (((I3C_CORE_Type*) (base))->IBI_MR_REQ_REJECT)
665 #define I3C_CORE_IBI_SIR_REQ_REJECT(base)               (((I3C_CORE_Type*) (base))->IBI_SIR_REQ_REJECT)
666 #define I3C_CORE_RESET_CTRL(base)                       (((I3C_CORE_Type*) (base))->RESET_CTRL)
667 #define I3C_CORE_SLV_EVENT_STATUS(base)                 (((I3C_CORE_Type*) (base))->SLV_EVENT_STATUS)
668 #define I3C_CORE_INTR_STATUS(base)                      (((I3C_CORE_Type*) (base))->INTR_STATUS)
669 #define I3C_CORE_INTR_STATUS_EN(base)                   (((I3C_CORE_Type*) (base))->INTR_STATUS_EN)
670 #define I3C_CORE_INTR_SIGNAL_EN(base)                   (((I3C_CORE_Type*) (base))->INTR_SIGNAL_EN)
671 #define I3C_CORE_INTR_FORCE(base)                       (((I3C_CORE_Type*) (base))->INTR_FORCE)
672 #define I3C_CORE_QUEUE_STATUS_LEVEL(base)               (((I3C_CORE_Type*) (base))->QUEUE_STATUS_LEVEL)
673 #define I3C_CORE_DATA_BUFFER_STATUS_LEVEL(base)         (((I3C_CORE_Type*) (base))->DATA_BUFFER_STATUS_LEVEL)
674 #define I3C_CORE_PRESENT_STATE(base)                     (((I3C_CORE_Type*) (base))->PRESENT_STATE)
675 #define I3C_CORE_CCC_DEVICE_STATUS(base)                (((I3C_CORE_Type*) (base))->CCC_DEVICE_STATUS)
676 #define I3C_CORE_DEVICE_ADDR_TABLE_POINTER(base)        (((I3C_CORE_Type*) (base))->DEVICE_ADDR_TABLE_POINTER)
677 #define I3C_CORE_DEV_CHAR_TABLE_POINTER(base)           (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE_POINTER)
678 #define I3C_CORE_VENDOR_SPECIFIC_REG_POINTER(base)      (((I3C_CORE_Type*) (base))->VENDOR_SPECIFIC_REG_POINTER)
679 #define I3C_CORE_SLV_PID_VALUE(base)                    (((I3C_CORE_Type*) (base))->SLV_PID_VALUE)
680 #define I3C_CORE_SLV_CHAR_CTRL(base)                    (((I3C_CORE_Type*) (base))->SLV_CHAR_CTRL)
681 #define I3C_CORE_SLV_MAX_LEN(base)                      (((I3C_CORE_Type*) (base))->SLV_MAX_LEN)
682 #define I3C_CORE_MAX_READ_TURNAROUND(base)              (((I3C_CORE_Type*) (base))->MAX_READ_TURNAROUND)
683 #define I3C_CORE_MAX_DATA_SPEED(base)                   (((I3C_CORE_Type*) (base))->MAX_DATA_SPEED)
684 #define I3C_CORE_SLV_INTR_REQ(base)                      (((I3C_CORE_Type*) (base))->SLV_INTR_REQ)
685 #define I3C_CORE_DEVICE_CTRL_EXTENDED(base)             (((I3C_CORE_Type*) (base))->DEVICE_CTRL_EXTENDED)
686 #define I3C_CORE_SCL_I3C_OD_TIMING(base)                (((I3C_CORE_Type*) (base))->SCL_I3C_OD_TIMING)
687 #define I3C_CORE_SCL_I3C_PP_TIMING(base)                (((I3C_CORE_Type*) (base))->SCL_I3C_PP_TIMING)
688 #define I3C_CORE_SCL_I2C_FM_TIMING(base)                (((I3C_CORE_Type*) (base))->SCL_I2C_FM_TIMING)
689 #define I3C_CORE_SCL_I2C_FMP_TIMING(base)               (((I3C_CORE_Type*) (base))->SCL_I2C_FMP_TIMING)
690 #define I3C_CORE_SCL_EXT_LCNT_TIMING(base)              (((I3C_CORE_Type*) (base))->SCL_EXT_LCNT_TIMING)
691 #define I3C_CORE_SCL_EXT_TERMN_LCNT_TIMING(base)        (((I3C_CORE_Type*) (base))->SCL_EXT_TERMN_LCNT_TIMING)
692 #define I3C_CORE_SDA_HOLD_DLY_TIMING(base)              (((I3C_CORE_Type*) (base))->SDA_HOLD_DLY_TIMING)
693 #define I3C_CORE_BUS_FREE_AVAIL_TIMING(base)            (((I3C_CORE_Type*) (base))->BUS_FREE_AVAIL_TIMING)
694 #define I3C_CORE_BUS_IDLE_TIMING(base)                   (((I3C_CORE_Type*) (base))->BUS_IDLE_TIMING)
695 #define I3C_CORE_I3C_VER_ID(base)                       (((I3C_CORE_Type*) (base))->I3C_VER_ID)
696 #define I3C_CORE_I3C_VER_TYPE(base)                     (((I3C_CORE_Type*) (base))->I3C_VER_TYPE)
697 #define I3C_CORE_QUEUE_SIZE_CAPABILITY(base)            (((I3C_CORE_Type*) (base))->QUEUE_SIZE_CAPABILITY)
698 #define I3C_CORE_DEV_CHAR_TABLE1_LOC1(base)                (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE1_LOC1)
699 #define I3C_CORE_DEV_CHAR_TABLE1_LOC2(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE1_LOC2)
700 #define I3C_CORE_DEV_CHAR_TABLE1_LOC3(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE1_LOC3)
701 #define I3C_CORE_DEV_CHAR_TABLE1_LOC4(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE1_LOC4)
702 #define I3C_CORE_DEV_CHAR_TABLE2_LOC1(base)                (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE2_LOC1)
703 #define I3C_CORE_DEV_CHAR_TABLE2_LOC2(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE2_LOC2)
704 #define I3C_CORE_DEV_CHAR_TABLE2_LOC3(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE2_LOC3)
705 #define I3C_CORE_DEV_CHAR_TABLE2_LOC4(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE2_LOC4)
706 #define I3C_CORE_DEV_CHAR_TABLE3_LOC1(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE3_LOC1)
707 #define I3C_CORE_DEV_CHAR_TABLE3_LOC2(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE3_LOC2)
708 #define I3C_CORE_DEV_CHAR_TABLE3_LOC3(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE3_LOC3)
709 #define I3C_CORE_DEV_CHAR_TABLE3_LOC4(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE3_LOC4)
710 #define I3C_CORE_DEV_CHAR_TABLE4_LOC1(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE4_LOC1)
711 #define I3C_CORE_DEV_CHAR_TABLE4_LOC2(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE4_LOC2)
712 #define I3C_CORE_DEV_CHAR_TABLE4_LOC3(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE4_LOC3)
713 #define I3C_CORE_DEV_CHAR_TABLE4_LOC4(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE4_LOC4)
714 #define I3C_CORE_DEV_CHAR_TABLE5_LOC1(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE5_LOC1)
715 #define I3C_CORE_DEV_CHAR_TABLE5_LOC2(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE5_LOC2)
716 #define I3C_CORE_DEV_CHAR_TABLE5_LOC3(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE5_LOC3)
717 #define I3C_CORE_DEV_CHAR_TABLE5_LOC4(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE5_LOC4)
718 #define I3C_CORE_DEV_CHAR_TABLE6_LOC1(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE6_LOC1)
719 #define I3C_CORE_DEV_CHAR_TABLE6_LOC2(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE6_LOC2)
720 #define I3C_CORE_DEV_CHAR_TABLE6_LOC3(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE6_LOC3)
721 #define I3C_CORE_DEV_CHAR_TABLE6_LOC4(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE6_LOC4)
722 #define I3C_CORE_DEV_CHAR_TABLE7_LOC1(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE7_LOC1)
723 #define I3C_CORE_DEV_CHAR_TABLE7_LOC2(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE7_LOC2)
724 #define I3C_CORE_DEV_CHAR_TABLE7_LOC3(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE7_LOC3)
725 #define I3C_CORE_DEV_CHAR_TABLE7_LOC4(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE7_LOC4)
726 #define I3C_CORE_DEV_CHAR_TABLE8_LOC1(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE8_LOC1)
727 #define I3C_CORE_DEV_CHAR_TABLE8_LOC2(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE8_LOC2)
728 #define I3C_CORE_DEV_CHAR_TABLE8_LOC3(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE8_LOC3)
729 #define I3C_CORE_DEV_CHAR_TABLE8_LOC4(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE8_LOC4)
730 #define I3C_CORE_DEV_CHAR_TABLE9_LOC1(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE9_LOC1)
731 #define I3C_CORE_DEV_CHAR_TABLE9_LOC2(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE9_LOC2)
732 #define I3C_CORE_DEV_CHAR_TABLE9_LOC3(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE9_LOC3)
733 #define I3C_CORE_DEV_CHAR_TABLE9_LOC4(base)             (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE9_LOC4)
734 #define I3C_CORE_DEV_CHAR_TABLE10_LOC1(base)            (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE10_LOC1)
735 #define I3C_CORE_DEV_CHAR_TABLE10_LOC2(base)            (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE10_LOC2)
736 #define I3C_CORE_DEV_CHAR_TABLE10_LOC3(base)            (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE10_LOC3)
737 #define I3C_CORE_DEV_CHAR_TABLE10_LOC4(base)            (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE10_LOC4)
738 #define I3C_CORE_DEV_CHAR_TABLE11_LOC1(base)            (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE11_LOC1)
739 #define I3C_CORE_DEV_CHAR_TABLE11_LOC2(base)            (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE11_LOC2)
740 #define I3C_CORE_DEV_CHAR_TABLE11_LOC3(base)            (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE11_LOC3)
741 #define I3C_CORE_DEV_CHAR_TABLE11_LOC4(base)            (((I3C_CORE_Type*) (base))->DEV_CHAR_TABLE11_LOC4)
742 #define I3C_CORE_DEV_ADDR_TABLE_LOC1(base)                (((I3C_CORE_Type*) (base))->DEV_ADDR_TABLE_LOC1)
743 #define I3C_CORE_DEV_ADDR_TABLE_LOC2(base)                (((I3C_CORE_Type*) (base))->DEV_ADDR_TABLE_LOC2)
744 #define I3C_CORE_DEV_ADDR_TABLE_LOC3(base)                (((I3C_CORE_Type*) (base))->DEV_ADDR_TABLE_LOC3)
745 #define I3C_CORE_DEV_ADDR_TABLE_LOC4(base)                (((I3C_CORE_Type*) (base))->DEV_ADDR_TABLE_LOC4)
746 #define I3C_CORE_DEV_ADDR_TABLE_LOC5(base)                (((I3C_CORE_Type*) (base))->DEV_ADDR_TABLE_LOC5)
747 #define I3C_CORE_DEV_ADDR_TABLE_LOC6(base)                (((I3C_CORE_Type*) (base))->DEV_ADDR_TABLE_LOC6)
748 #define I3C_CORE_DEV_ADDR_TABLE_LOC7(base)                (((I3C_CORE_Type*) (base))->DEV_ADDR_TABLE_LOC7)
749 #define I3C_CORE_DEV_ADDR_TABLE_LOC8(base)                (((I3C_CORE_Type*) (base))->DEV_ADDR_TABLE_LOC8)
750 #define I3C_CORE_DEV_ADDR_TABLE_LOC9(base)                (((I3C_CORE_Type*) (base))->DEV_ADDR_TABLE_LOC9)
751 #define I3C_CORE_DEV_ADDR_TABLE_LOC10(base)                (((I3C_CORE_Type*) (base))->DEV_ADDR_TABLE_LOC10)
752 #define I3C_CORE_DEV_ADDR_TABLE_LOC11(base)                (((I3C_CORE_Type*) (base))->DEV_ADDR_TABLE_LOC11)
753 
754 /*******************************************************************************
755 *                EFUSE
756 ******************************************************************************/
757 
758 #define EFUSE_CTL(base)                              (((EFUSE_Type *) (base))->CTL)
759 #define EFUSE_TEST(base)                             (((EFUSE_Type *) (base))->TEST)
760 #define EFUSE_CMD(base)                              (((EFUSE_Type *) (base))->CMD)
761 #define EFUSE_CONFIG(base)                           (((EFUSE_Type *) (base))->CONFIG)
762 #define EFUSE_SEQ_DEFAULT(base)                      (((EFUSE_Type *) (base))->SEQ_DEFAULT)
763 #define EFUSE_SEQ_READ_CTL_0(base)                   (((EFUSE_Type *) (base))->SEQ_READ_CTL_0)
764 #define EFUSE_SEQ_READ_CTL_1(base)                   (((EFUSE_Type *) (base))->SEQ_READ_CTL_1)
765 #define EFUSE_SEQ_READ_CTL_2(base)                   (((EFUSE_Type *) (base))->SEQ_READ_CTL_2)
766 #define EFUSE_SEQ_READ_CTL_3(base)                   (((EFUSE_Type *) (base))->SEQ_READ_CTL_3)
767 #define EFUSE_SEQ_READ_CTL_4(base)                   (((EFUSE_Type *) (base))->SEQ_READ_CTL_4)
768 #define EFUSE_SEQ_READ_CTL_5(base)                   (((EFUSE_Type *) (base))->SEQ_READ_CTL_5)
769 #define EFUSE_SEQ_READ_CTL_6(base)                   (((EFUSE_Type *) (base))->SEQ_READ_CTL_6)
770 #define EFUSE_SEQ_READ_CTL_7(base)                   (((EFUSE_Type *) (base))->SEQ_READ_CTL_7)
771 #define EFUSE_SEQ_PROGRAM_CTL_0(base)                (((EFUSE_Type *) (base))->SEQ_PROGRAM_CTL_0)
772 #define EFUSE_SEQ_PROGRAM_CTL_1(base)                (((EFUSE_Type *) (base))->SEQ_PROGRAM_CTL_1)
773 #define EFUSE_SEQ_PROGRAM_CTL_2(base)                (((EFUSE_Type *) (base))->SEQ_PROGRAM_CTL_2)
774 #define EFUSE_SEQ_PROGRAM_CTL_3(base)                (((EFUSE_Type *) (base))->SEQ_PROGRAM_CTL_3)
775 #define EFUSE_SEQ_PROGRAM_CTL_4(base)                (((EFUSE_Type *) (base))->SEQ_PROGRAM_CTL_4)
776 #define EFUSE_SEQ_PROGRAM_CTL_5(base)                (((EFUSE_Type *) (base))->SEQ_PROGRAM_CTL_5)
777 #define EFUSE_SEQ_PROGRAM_CTL_6(base)                (((EFUSE_Type *) (base))->SEQ_PROGRAM_CTL_6)
778 #define EFUSE_SEQ_PROGRAM_CTL_7(base)                (((EFUSE_Type *) (base))->SEQ_PROGRAM_CTL_7)
779 #define EFUSE_BOOTROW(base)                          (((EFUSE_Type *) (base))->BOOTROW)
780 
781 /*******************************************************************************
782 *                FAULT
783 *******************************************************************************/
784 
785 #define FAULT_CTL(base)                         (((FAULT_STRUCT_Type *)(base))->CTL)
786 #define FAULT_STATUS(base)                      (((FAULT_STRUCT_Type *)(base))->STATUS)
787 #define FAULT_DATA(base)                        (((FAULT_STRUCT_Type *)(base))->DATA)
788 #define FAULT_PENDING0(base)                    (((FAULT_STRUCT_Type *)(base))->PENDING0)
789 #define FAULT_PENDING1(base)                    (((FAULT_STRUCT_Type *)(base))->PENDING1)
790 #define FAULT_PENDING2(base)                    (((FAULT_STRUCT_Type *)(base))->PENDING2)
791 #define FAULT_MASK0(base)                       (((FAULT_STRUCT_Type *)(base))->MASK0)
792 #define FAULT_MASK1(base)                       (((FAULT_STRUCT_Type *)(base))->MASK1)
793 #define FAULT_MASK2(base)                       (((FAULT_STRUCT_Type *)(base))->MASK2)
794 #define FAULT_INTR(base)                        (((FAULT_STRUCT_Type *)(base))->INTR)
795 #define FAULT_INTR_SET(base)                    (((FAULT_STRUCT_Type *)(base))->INTR_SET)
796 #define FAULT_INTR_MASK(base)                   (((FAULT_STRUCT_Type *)(base))->INTR_MASK)
797 #define FAULT_INTR_MASKED(base)                 (((FAULT_STRUCT_Type *)(base))->INTR_MASKED)
798 
799 /**
800   * \brief Instances of Fault data register.
801   */
802 typedef enum
803 {
804     CY_SYSFAULT_MPU_0                =   0,     /* Bus master 0 MPU/SMPU. */
805     CY_SYSFAULT_MPU_1                =   1,     /* Bus master 1 MPU. See MPU_0 description. */
806     CY_SYSFAULT_MPU_2                =   2,     /* Bus master 2 MPU. See MPU_0 description. */
807     CY_SYSFAULT_MPU_3                =   3,     /* Bus master 3 MPU. See MPU_0 description. */
808     CY_SYSFAULT_MPU_4                =   4,     /* Bus master 4 MPU. See MPU_0 description. */
809     CY_SYSFAULT_MPU_5                =   5,     /* Bus master 5 MPU. See MPU_0 description. */
810     CY_SYSFAULT_MPU_6                =   6,     /* Bus master 6 MPU. See MPU_0 description. */
811     CY_SYSFAULT_MPU_7                =   7,     /* Bus master 7 MPU. See MPU_0 description. */
812     CY_SYSFAULT_MPU_8                =   8,     /* Bus master 8 MPU. See MPU_0 description. */
813     CY_SYSFAULT_MPU_9                =   9,     /* Bus master 9 MPU. See MPU_0 description. */
814     CY_SYSFAULT_MPU_10               =  10,     /* Bus master 10 MPU. See MPU_0 description. */
815     CY_SYSFAULT_MPU_11               =  11,     /* Bus master 11 MPU. See MPU_0 description. */
816     CY_SYSFAULT_MPU_12               =  12,     /* Bus master 12 MPU. See MPU_0 description. */
817     CY_SYSFAULT_MPU_13               =  13,     /* Bus master 13 MPU. See MPU_0 description. */
818     CY_SYSFAULT_MPU_14               =  14,     /* Bus master 14 MPU. See MPU_0 description. */
819     CY_SYSFAULT_MPU_15               =  15,     /* Bus master 15 MPU. See MPU_0 description. */
820     CY_SYSFAULT_CM4_SYS_MPU          =  16,     /* CM4 system bus AHB-Lite interface MPU. See MPU_0 description. */
821     CY_SYSFAULT_CM4_CODE_MPU         =  17,     /* CM4 code bus AHB-Lite interface MPU for non flash controller accesses. See MPU_0 description. */
822     CM4_CODE_FLASHC_MPU              =  18,     /* CM4 code bus AHB-Lite interface MPU for flash controller accesses. See MPU_0 description. */
823     CY_SYSFAULT_MS_PPU_4             =  25,     /* Peripheral interconnect, master interface 4 PPU. See MS_PPU_0 description. */
824     CY_SYSFAULT_PERI_ECC             =  26,     /* Peripheral interconnect, protection structures SRAM, correctable ECC error: */
825     CY_SYSFAULT_PERI_NC_ECC          =  27,     /* Peripheral interconnect, protection structures SRAM, non-correctable ECC error. */
826     CY_SYSFAULT_MS_PPU_0             =  28,     /* Peripheral interconnect, master interface 0 PPU. */
827     CY_SYSFAULT_MS_PPU_1             =  29,     /* Peripheral interconnect, master interface 1 PPU. See MS_PPU_0 description. */
828     CY_SYSFAULT_MS_PPU_2             =  30,     /* Peripheral interconnect, master interface 2 PPU. See MS_PPU_0 description. */
829     CY_SYSFAULT_MS_PPU_3             =  31,     /* Peripheral interconnect, master interface 3 PPU. See MS_PPU_0 description. */
830     CY_SYSFAULT_GROUP_FAULT_0        =  32,     /* Peripheral group 0 fault detection. */
831     CY_SYSFAULT_GROUP_FAULT_1        =  33,     /* Peripheral group 1 fault detection. See GROUP_FAULT_0 description. */
832     CY_SYSFAULT_GROUP_FAULT_2        =  34,     /* Peripheral group 2 fault detection. See GROUP_FAULT_0 description. */
833     CY_SYSFAULT_GROUP_FAULT_3        =  35,     /* Peripheral group 3 fault detection. See GROUP_FAULT_0 description. */
834     CY_SYSFAULT_GROUP_FAULT_4        =  36,     /* Peripheral group 4 fault detection. See GROUP_FAULT_0 description. */
835     CY_SYSFAULT_GROUP_FAULT_5        =  37,     /* Peripheral group 5 fault detection. See GROUP_FAULT_0 description. */
836     CY_SYSFAULT_GROUP_FAULT_6        =  38,     /* Peripheral group 6 fault detection. See GROUP_FAULT_0 description. */
837     CY_SYSFAULT_GROUP_FAULT_7        =  39,     /* Peripheral group 7 fault detection. See GROUP_FAULT_0 description. */
838     CY_SYSFAULT_GROUP_FAULT_8        =  40,     /* Peripheral group 8 fault detection. See GROUP_FAULT_0 description. */
839     CY_SYSFAULT_GROUP_FAULT_9        =  41,     /* Peripheral group 9 fault detection. See GROUP_FAULT_0 description. */
840     CY_SYSFAULT_GROUP_FAULT_10       =  42,     /* Peripheral group 10 fault detection. See GROUP_FAULT_0 description. */
841     CY_SYSFAULT_GROUP_FAULT_11       =  43,     /* Peripheral group 11 fault detection. See GROUP_FAULT_0 description. */
842     CY_SYSFAULT_GROUP_FAULT_12       =  44,     /* Peripheral group 12 fault detection. See GROUP_FAULT_0 description. */
843     CY_SYSFAULT_GROUP_FAULT_13       =  45,     /* Peripheral group 13 fault detection. See GROUP_FAULT_0 description. */
844     CY_SYSFAULT_GROUP_FAULT_14       =  46,     /* Peripheral group 14 fault detection. See GROUP_FAULT_0 description. */
845     CY_SYSFAULT_GROUP_FAULT_15       =  47,     /* Peripheral group 15 fault detection. See GROUP_FAULT_0 description. */
846     CY_SYSFAULT_FLASHC_MAIN_BUS_ERROR  =  48,   /* Flash controller, main interface, bus error: */
847     CY_SYSFAULT_FLASHC_MAIN_C_ECC    =  49,     /* Flash controller, main interface, correctable ECC error: */
848     CY_SYSFAULT_FLASHC_MAIN_NC_ECC   =  50,     /* Flash controller, main interface, non-correctable ECC error.  See FLASHC_MAIN_C_ECC description. */
849     CY_SYSFAULT_FLASHC_WORK_BUS_ERROR  =  51,   /* Flash controller, work interface, bus error. See FLASHC_MAIN_BUS_ERROR description. */
850     CY_SYSFAULT_FLASHC_WORK_C_ECC    =  52,     /* Flash controller, work interface, correctable ECC error: */
851     CY_SYSFAULT_FLASHC_WORK_NC_ECC   =  53,     /* Flash controller, work interface, non-correctable ECC error. See FLASHC_WORK_C_ECC description. */
852     CY_SYSFAULT_FLASHC_CM0_CA_C_ECC  =  54,     /* Flash controller, CM0+ cache, correctable ECC error: */
853     CY_SYSFAULT_FLASHC_CM0_CA_NC_ECC  =  55,    /* Flash controller, CM0+ cache, non-correctable ECC error.  See FLASHC_CM0_CA_C_ECC description. */
854     CY_SYSFAULT_FLASHC_CM4_CA_C_ECC  =  56,     /* Flash controller, CM4 cache, correctable ECC error. See FLASHC_CM0_CA_C_ECC description. */
855     CY_SYSFAULT_FLASHC_CM4_CA_NC_ECC =  57,     /* Flash controller, CM4 cache, non-correctable ECC error. See FLASHC_CM0_CA_C_ECC description.. */
856     CY_SYSFAULT_RAMC0_C_ECC          =  58,     /* System SRAM 0 correctable ECC error: */
857     CY_SYSFAULT_RAMC0_NC_ECC         =  59,     /* System SRAM 0 non-correctable ECC error.  See RAMC0_C_ECC description. */
858     CY_SYSFAULT_RAMC1_C_ECC          =  60,     /* System SRAM 1 correctable ECC error. See RAMC0_C_ECC description. */
859     CY_SYSFAULT_RAMC1_NC_ECC         =  61,     /* System SRAM 1 non-correctable ECC error. See RAMC0_C_ECC description. */
860     CY_SYSFAULT_RAMC2_C_ECC          =  62,     /* System SRAM 2 correctable ECC error. See RAMC0_C_ECC description. */
861     CY_SYSFAULT_RAMC2_NC_ECC         =  63,     /* System SRAM 2 non-correctable ECC error. See RAMC0_C_ECC description. */
862     CY_SYSFAULT_CRYPTO_C_ECC         =  64,     /* Cryptography SRAM correctable ECC error. */
863     CY_SYSFAULT_CRYPTO_NC_ECC        =  65,     /* Cryptography SRAM non-correctable ECC error. See CRYPTO_C_ECC description. */
864     CY_SYSFAULT_DW0_C_ECC            =  70,     /* DataWire 0 SRAM 1 correctable ECC error: */
865     CY_SYSFAULT_DW0_NC_ECC           =  71,     /* DataWire 0 SRAM 1 non-correctable ECC error. See DW0_C_ECC description. */
866     CY_SYSFAULT_DW1_C_ECC            =  72,     /* DataWire 1 SRAM 1 correctable ECC error. See DW0_C_ECC description. */
867     CY_SYSFAULT_DW1_NC_ECC           =  73,     /* DataWire 1 SRAM 1 non-correctable ECC error. See DW0_C_ECC description. */
868     CY_SYSFAULT_FM_SRAM_C_ECC        =  74,     /* eCT Flash SRAM (for embedded operations) correctable ECC error: */
869     CY_SYSFAULT_FM_SRAM_NC_ECC       =  75,     /* eCT Flash SRAM non-correctable ECC error: See FM_SRAM_C_ECC description. */
870     CY_SYSFAULT_CAN0_C_ECC           =  80,     /* CAN controller 0 MRAM correctable ECC error: */
871     CY_SYSFAULT_CAN0_NC_ECC          =  81,     /* CAN controller 0 MRAM non-correctable ECC error: */
872     CY_SYSFAULT_CAN1_C_ECC           =  82,     /* CAN controller 1 MRAM correctable ECC error. See CAN0_C_ECC description. */
873     CY_SYSFAULT_CAN1_NC_ECC          =  83,     /* CAN controller 1 MRAM non-correctable ECC error. See CAN0_NC_ECC description. */
874     CY_SYSFAULT_CAN2_C_ECC           =  84,     /* CAN controller 2 MRAM correctable ECC error. See CAN0_C_ECC description.. */
875     CY_SYSFAULT_CAN2_NC_ECC          =  85,     /* CAN controller 2 MRAM non-correctable ECC error. See CAN0_NC_ECC description. */
876     CY_SYSFAULT_SRSS_CSV             =  90,     /* SRSS Clock SuperVisor (CSV) violation detected. Multiple CSV can detect a violation at the same time. */
877     CY_SYSFAULT_SRSS_SSV             =  91,     /* SRSS Clock SuperVisor (CSV) violation detected. Multiple CSV can detect a violation at the same time. */
878     CY_SYSFAULT_SRSS_MCWDT0          =  92,     /* SRSS Multi-Counter Watch Dog Timer (MCWDT) #0 violation detected. Multiple counters can detect a violation at the same time. */
879     CY_SYSFAULT_SRSS_MCWDT1          =  93,     /* SRSS Multi-Counter Watch Dog Timer (MCWDT) #1 violation detected. See SRSS_MCWDT0 description. */
880     CY_SYSFAULT_SRSS_MCWDT2          =  94,     /* SRSS Multi-Counter Watch Dog Timer (MCWDT) #2 violation detected. See SRSS_MCWDT0 description. */
881     CY_SYSFAULT_SRSS_MCWDT3          =  95,     /* SRSS Multi-Counter Watch Dog Timer (MCWDT) #3 violation detected. See SRSS_MCWDT0 description. */
882     CY_SYSFAULT_NO_FAULT             =  96
883 } cy_en_SysFault_source_t;
884 
885 /*******************************************************************************
886 *                PROFILE
887 *******************************************************************************/
888 
889 
890 #define CY_EP_MONITOR_COUNT                 ((uint32_t)(cy_device->epMonitorNr))
891 #define CY_EP_CNT_NR                        (8UL)
892 #define PROFILE_CTL                         (((PROFILE_Type*) PROFILE_BASE)->CTL)
893 #define PROFILE_STATUS                      (((PROFILE_Type*) PROFILE_BASE)->STATUS)
894 #define PROFILE_CMD                         (((PROFILE_Type*) PROFILE_BASE)->CMD)
895 #define PROFILE_INTR                        (((PROFILE_Type*) PROFILE_BASE)->INTR)
896 #define PROFILE_INTR_MASK                   (((PROFILE_Type*) PROFILE_BASE)->INTR_MASK)
897 #define PROFILE_INTR_MASKED                 (((PROFILE_Type*) PROFILE_BASE)->INTR_MASKED)
898 #define PROFILE_CNT_STRUCT                  (((PROFILE_Type*) PROFILE_BASE)->CNT_STRUCT)
899 
900 /*******************************************************************************
901 *                SRSS
902 *******************************************************************************/
903 
904 #define CY_SRSS_NUM_PLL400M                 0
905 #define CY_SRSS_PLL400M_PRESENT             0
906 #if defined (CY_DEVICE_BOY2)
907 #define CY_SRSS_DPLL_LP_PRESENT             SRSS_NUM_DPLL250
908 #define SRSS_NUM_DPLL_LP                    SRSS_NUM_DPLL250
909 #define SRSS_PLL_250M_0_PATH_NUM            (1UL)
910 #define SRSS_PLL_250M_1_PATH_NUM            (2UL)
911 #define CY_SYSCLK_HF_MAX_FREQ(hfNum)        (240000000U)
912 #define CY_MXS40SSRSS_VER_1_2               1UL
913 #define SRSS_DPLL_LP_FRAC_BIT_COUNT         (24ULL)
914 #define SRSS_CLK_ROOT_SELECT_ROOT_DIV       SRSS_CLK_ROOT_SELECT_ROOT_DIV_INT
915 #define PWRMODE_PWR_SELECT                  (((PWRMODE_Type *) PWRMODE)->CLK_SELECT)
916 #define SRSS_CLK_DPLL_LP_CONFIG(pllNum)     (((SRSS_Type *) SRSS)->CLK_DPLL_LP[pllNum].CONFIG)
917 #define SRSS_CLK_DPLL_LP_CONFIG2(pllNum)    (((SRSS_Type *) SRSS)->CLK_DPLL_LP[pllNum].CONFIG2)
918 #define SRSS_CLK_DPLL_LP_CONFIG3(pllNum)    (((SRSS_Type *) SRSS)->CLK_DPLL_LP[pllNum].CONFIG3)
919 #define SRSS_CLK_DPLL_LP_CONFIG4(pllNum)    (((SRSS_Type *) SRSS)->CLK_DPLL_LP[pllNum].CONFIG4)
920 #define SRSS_CLK_DPLL_LP_CONFIG5(pllNum)    (((SRSS_Type *) SRSS)->CLK_DPLL_LP[pllNum].CONFIG5)
921 #define SRSS_CLK_DPLL_LP_CONFIG6(pllNum)    (((SRSS_Type *) SRSS)->CLK_DPLL_LP[pllNum].CONFIG6)
922 #define SRSS_CLK_DPLL_LP_CONFIG7(pllNum)    (((SRSS_Type *) SRSS)->CLK_DPLL_LP[pllNum].CONFIG7)
923 #define SRSS_CLK_DPLL_LP_STATUS(pllNum)     (((SRSS_Type *) SRSS)->CLK_DPLL_LP[pllNum].STATUS)
924 #define SRSS_TRIM_RAM_CTL                   (((SRSS_Type*) SRSS)->RAM_TRIM_STRUCT.TRIM_RAM_CTL)
925 #define SRSS_TRIM_ROM_CTL                   (((SRSS_Type*) SRSS)->RAM_TRIM_STRUCT.TRIM_ROM_CTL)
926 #define SRSS_PWR_TRIM_PWRSYS_CTL            (*(volatile uint32_t *) 0x422020E0U)
927 #define SRSS_PWR_TRIM_WAKE_CTL              (*(volatile uint32_t *) 0x422020E8U)
928 /* SRSS.PWR_TRIM_PWRSYS_CTL */
929 #define SRSS_PWR_TRIM_PWRSYS_CTL_ACT_REG_TRIM_Pos 0UL
930 #define SRSS_PWR_TRIM_PWRSYS_CTL_ACT_REG_TRIM_Msk 0x1FUL
931 #define SRSS_PWR_TRIM_PWRSYS_CTL_ACT_REG_BOOST_Pos 30UL
932 #define SRSS_PWR_TRIM_PWRSYS_CTL_ACT_REG_BOOST_Msk 0xC0000000UL
933 /* SRSS.PWR_TRIM_WAKE_CTL */
934 #define SRSS_PWR_TRIM_WAKE_CTL_WAKE_DELAY_Pos   0UL
935 #define SRSS_PWR_TRIM_WAKE_CTL_WAKE_DELAY_Msk   0xFFUL
936 
937 #else
938 #define CY_SRSS_DPLL_LP_PRESENT             0
939 #define CY_MXS40SSRSS_VER_1_2               0UL
940 #endif
941 #define CY_SRSS_NUM_CLKPATH                 SRSS_NUM_CLKPATH
942 #define CY_SRSS_NUM_PLL                     SRSS_NUM_TOTAL_PLL
943 #define CY_SRSS_NUM_HFROOT                  SRSS_NUM_HFROOT
944 #define CY_SRSS_ECO_PRESENT                 SRSS_ECO_PRESENT
945 #define CY_SRSS_FLL_PRESENT                 SRSS_FLL_PRESENT
946 #define CY_SRSS_PLL_PRESENT                 SRSS_NUM_TOTAL_PLL
947 #define CY_SRSS_ALTHF_PRESENT               SRSS_ALTHF_PRESENT
948 
949 #if defined (CY_IP_MXS28SRSS)
950 #define CY_SRSS_IHO_PRESENT                 0
951 #define CY_SRSS_MFO_PRESENT                 0
952 #endif
953 
954 #if defined (CY_IP_MXS40SSRSS)
955 #define CY_SRSS_IHO_PRESENT                 1
956 #define CY_SRSS_MFO_PRESENT                 1
957 #define CY_SRSS_PILO_PRESENT                SRSS_S40S_PILO_PRESENT
958 #define CY_SRSS_ILO_PRESENT                 1
959 #define CY_SRSS_IMO_PRESENT                 1
960 #endif
961 
962 
963 /** HF PATH # used for PERI PCLK */
964 #define CY_SYSCLK_CLK_PERI_HF_PATH_NUM     1U
965 
966 /** HF PATH # used for Core */
967 #define CY_SYSCLK_CLK_CORE_HF_PATH_NUM     0U
968 
969 /** FLL Max Frequency */
970 #define  CY_SYSCLK_FLL_MAX_OUTPUT_FREQ     (96000000UL)
971 
972 
973 
974 /* HF PATH # Max Allowed Frequencies */
975 #define CY_SYSCLK_MAX_FREQ_HF0             96000000U
976 #define CY_SYSCLK_MAX_FREQ_HF1             96000000U
977 #define CY_SYSCLK_MAX_FREQ_HF2             48000000U
978 #define CY_SYSCLK_MAX_FREQ_HF3             24000000U
979 
980 
981 #if defined (CY_DEVICE_CYW20829)
982 #define CY_SYSCLK_HF_MAX_FREQ(hfNum)       (((hfNum) == 0U) ?  (CY_SYSCLK_MAX_FREQ_HF0) : \
983                                            (((hfNum) == 1U) ?  (CY_SYSCLK_MAX_FREQ_HF1) : \
984                                            (((hfNum) == 2U) ?  (CY_SYSCLK_MAX_FREQ_HF2) : \
985                                            (((hfNum) == 3U) ?  (CY_SYSCLK_MAX_FREQ_HF3) : \
986                                            (0U)))))
987 #endif
988 
989 /* Technology Independant Register set */
990 #define SRSS_CLK_DSI_SELECT                 (((SRSS_Type *) SRSS)->CLK_DSI_SELECT)
991 #define SRSS_CLK_OUTPUT_FAST                (((SRSS_Type *) SRSS)->CLK_OUTPUT_FAST)
992 #define SRSS_CLK_OUTPUT_SLOW                (((SRSS_Type *) SRSS)->CLK_OUTPUT_SLOW)
993 #define SRSS_CLK_CAL_CNT1                   (((SRSS_Type *) SRSS)->CLK_CAL_CNT1)
994 #define SRSS_CLK_CAL_CNT2                   (((SRSS_Type *) SRSS)->CLK_CAL_CNT2)
995 #define SRSS_SRSS_INTR                      (((SRSS_Type *) SRSS)->SRSS_INTR)
996 #define SRSS_SRSS_INTR_SET                  (((SRSS_Type *) SRSS)->SRSS_INTR_SET)
997 #define SRSS_SRSS_INTR_MASK                 (((SRSS_Type *) SRSS)->SRSS_INTR_MASK)
998 #define SRSS_SRSS_INTR_MASKED               (((SRSS_Type *) SRSS)->SRSS_INTR_MASKED)
999 #define SRSS_SRSS_AINTR                     (((SRSS_Type *) SRSS)->SRSS_AINTR)
1000 #define SRSS_SRSS_AINTR_SET                 (((SRSS_Type *) SRSS)->SRSS_AINTR_SET)
1001 #define SRSS_SRSS_AINTR_MASK                (((SRSS_Type *) SRSS)->SRSS_AINTR_MASK)
1002 #define SRSS_SRSS_AINTR_MASKED              (((SRSS_Type *) SRSS)->SRSS_AINTR_MASKED)
1003 #define SRSS_PWR_CTL                        (((SRSS_Type *) SRSS)->PWR_CTL)
1004 #define SRSS_PWR_CTL2                       (((SRSS_Type *) SRSS)->PWR_CTL2)
1005 #define SRSS_PWR_HIBERNATE                  (((SRSS_Type *) SRSS)->PWR_HIBERNATE)
1006 #define SRSS_PWR_CTL3                       (((SRSS_Type *) SRSS)->PWR_CTL3)
1007 #define SRSS_PWR_STATUS                     (((SRSS_Type *) SRSS)->PWR_STATUS)
1008 #define SRSS_PWR_HIB_DATA                   (((SRSS_Type *) SRSS)->PWR_HIB_DATA)
1009 #define SRSS_CLK_PATH_SELECT                (((SRSS_Type *) SRSS)->CLK_PATH_SELECT)
1010 #define SRSS_CLK_ROOT_SELECT                (((SRSS_Type *) SRSS)->CLK_ROOT_SELECT)
1011 #define SRSS_CLK_DIRECT_SELECT              (((SRSS_Type *) SRSS)->CLK_DIRECT_SELECT)
1012 #define SRSS_CLK_ECO_STATUS                 (((SRSS_Type *) SRSS)->CLK_ECO_STATUS)
1013 #define SRSS_CLK_ILO_CONFIG                 (((SRSS_Type *) SRSS)->CLK_ILO_CONFIG)
1014 #define SRSS_CLK_TRIM_ILO_CTL               (((SRSS_Type *) SRSS)->CLK_TRIM_ILO_CTL)
1015 #define SRSS_CLK_PILO_CONFIG                (((SRSS_Type *) SRSS)->CLK_PILO_CONFIG)
1016 #define SRSS_CLK_ECO_CONFIG                 (((SRSS_Type *) SRSS)->CLK_ECO_CONFIG)
1017 #define SRSS_CLK_ECO_CONFIG2                (((SRSS_Type *) SRSS)->CLK_ECO_CONFIG2)
1018 #define SRSS_CLK_MFO_CONFIG                 (((SRSS_Type *) SRSS)->CLK_MFO_CONFIG)
1019 #define SRSS_CLK_IHO_CONFIG                 (((SRSS_Type *) SRSS)->CLK_IHO_CONFIG)
1020 #define SRSS_CLK_ALTHF_CTL                  (((SRSS_Type *) SRSS)->CLK_ALTHF_CTL)
1021 
1022 #if defined (CY_IP_MXS28SRSS)
1023 #define SRSS_CLK_ILO_CONFIG2                (((SRSS_Type *) SRSS)->CLK_ILO_CONFIG2)
1024 #define SRSS_CLK_PILO_CONFIG2               (((SRSS_Type *) SRSS)->CLK_PILO_CONFIG2)
1025 #endif
1026 #define SRSS_CSV_HF                         (((SRSS_Type *) SRSS)->CSV_HF)
1027 #define SRSS_CLK_SELECT                     (((SRSS_Type *) SRSS)->CLK_SELECT)
1028 #define SRSS_CLK_TIMER_CTL                  (((SRSS_Type *) SRSS)->CLK_TIMER_CTL)
1029 #define SRSS_CLK_IMO_CONFIG                 (((SRSS_Type *) SRSS)->CLK_IMO_CONFIG)
1030 #define SRSS_CLK_ECO_PRESCALE               (((SRSS_Type *) SRSS)->CLK_ECO_PRESCALE)
1031 #define SRSS_CLK_MF_SELECT                  (((SRSS_Type *) SRSS)->CLK_MF_SELECT)
1032 #define SRSS_CSV_REF_SEL                    (((SRSS_Type *) SRSS)->CSV_REF_SEL)
1033 #define SRSS_CSV_REF                        (((SRSS_Type *) SRSS)->CSV_REF)
1034 #define SRSS_CSV_LF                         (((SRSS_Type *) SRSS)->CSV_LF)
1035 #define SRSS_CSV_ILO                        (((SRSS_Type *) SRSS)->CSV_ILO)
1036 #define SRSS_RES_CAUSE                      (((SRSS_Type *) SRSS)->RES_CAUSE)
1037 #define SRSS_RES_CAUSE2                     (((SRSS_Type *) SRSS)->RES_CAUSE2)
1038 #define SRSS_RES_CAUSE_EXTEND               (((SRSS_Type *) SRSS)->RES_CAUSE_EXTEND)
1039 #define SRSS_PWR_CBUCK_CTL                  (((SRSS_Type *) SRSS)->PWR_CBUCK_CTL)
1040 #define SRSS_PWR_CBUCK_CTL2                 (((SRSS_Type *) SRSS)->PWR_CBUCK_CTL2)
1041 #define SRSS_PWR_CBUCK_CTL3                 (((SRSS_Type *) SRSS)->PWR_CBUCK_CTL3)
1042 #define SRSS_PWR_CBUCK_STATUS               (((SRSS_Type *) SRSS)->PWR_CBUCK_STATUS)
1043 #define SRSS_PWR_SDR0_CTL                   (((SRSS_Type *) SRSS)->PWR_SDR0_CTL)
1044 #define SRSS_PWR_SDR1_CTL                   (((SRSS_Type *) SRSS)->PWR_SDR1_CTL)
1045 #define SRSS_PWR_HVLDO0_CTL                 (((SRSS_Type *) SRSS)->PWR_HVLDO0_CTL)
1046 #define SRSS_CLK_LP_PLL                     (((SRSS_Type *) SRSS)->CLK_LP_PLL)
1047 #define SRSS_CLK_IHO                        (((SRSS_Type *) SRSS)->CLK_IHO)
1048 #define SRSS_TST_XRES_SECURE                (((SRSS_Type *) SRSS)->TST_XRES_SECURE)
1049 #define SRSS_RES_PXRES_CTL                  (((SRSS_Type *) SRSS)->RES_PXRES_CTL)
1050 #define SRSS_WDT_CTL                        (((SRSS_Type *) SRSS)->WDT_CTL)
1051 #define SRSS_WDT_CNT                        (((SRSS_Type *) SRSS)->WDT_CNT)
1052 #define SRSS_WDT_MATCH                      (((SRSS_Type *) SRSS)->WDT_MATCH)
1053 #if defined (CY_IP_MXS40SSRSS)
1054 #define SRSS_WDT_MATCH2                      (((SRSS_Type *) SRSS)->WDT_MATCH2)
1055 #endif
1056 
1057 #if defined (CY_IP_MXS28SRSS)
1058 #define SRSS_CLK_LP_PLL_CONFIG(pllNum)      (((CLK_LP_PLL_Type*) &SRSS->CLK_LP_PLL[pllNum])->PLL28LP_STRUCT.CONFIG)
1059 #define SRSS_CLK_LP_PLL_CONFIG2(pllNum)     (((CLK_LP_PLL_Type*) &SRSS->CLK_LP_PLL[pllNum])->PLL28LP_STRUCT.CONFIG2)
1060 #define SRSS_CLK_LP_PLL_CONFIG3(pllNum)     (((CLK_LP_PLL_Type*) &SRSS->CLK_LP_PLL[pllNum])->PLL28LP_STRUCT.CONFIG3)
1061 #define SRSS_CLK_LP_PLL_CONFIG4(pllNum)     (((CLK_LP_PLL_Type*) &SRSS->CLK_LP_PLL[pllNum])->PLL28LP_STRUCT.CONFIG4)
1062 #define SRSS_CLK_LP_PLL_CONFIG5(pllNum)     (((CLK_LP_PLL_Type*) &SRSS->CLK_LP_PLL[pllNum])->PLL28LP_STRUCT.CONFIG5)
1063 #define SRSS_CLK_LP_PLL_STATUS(pllNum)      (((CLK_LP_PLL_Type*) &SRSS->CLK_LP_PLL[pllNum])->PLL28LP_STRUCT.STATUS)
1064 #endif
1065 
1066 #if defined (CY_IP_MXS40SSRSS)
1067 #define SRSS_CLK_FLL_CONFIG                 (((SRSS_Type *) SRSS)->CLK_FLL_CONFIG)
1068 #define SRSS_CLK_FLL_CONFIG2                (((SRSS_Type *) SRSS)->CLK_FLL_CONFIG2)
1069 #define SRSS_CLK_FLL_CONFIG3                (((SRSS_Type *) SRSS)->CLK_FLL_CONFIG3)
1070 #define SRSS_CLK_FLL_CONFIG4                (((SRSS_Type *) SRSS)->CLK_FLL_CONFIG4)
1071 #define SRSS_CLK_FLL_STATUS                 (((SRSS_Type *) SRSS)->CLK_FLL_STATUS)
1072 
1073 #define SRSS_PWR_LVD_CTL                    (((SRSS_Type *) SRSS)->PWR_LVD_CTL)
1074 #define SRSS_PWR_LVD_STATUS                 (((SRSS_Type *) SRSS)->PWR_LVD_STATUS)
1075 
1076 #define SRSS_PWR_HIB_WAKE_CTL               (((SRSS_Type *) SRSS)->PWR_HIB_WAKE_CTL)
1077 #define SRSS_PWR_HIB_WAKE_CTL2              (((SRSS_Type *) SRSS)->PWR_HIB_WAKE_CTL2)
1078 #define SRSS_PWR_HIB_WAKE_CAUSE             (((SRSS_Type *) SRSS)->PWR_HIB_WAKE_CAUSE)
1079 #define SRSS_RES_SOFT_CTL                   (((SRSS_Type *) SRSS)->RES_SOFT_CTL)
1080 #endif
1081 
1082 #if defined (CY_DEVICE_CYW20829)
1083 #define SRSS_TST_DDFT_FAST_CTL_REG          (*(volatile uint32_t *) 0x40201104U)
1084 #define SRSS_TST_DDFT_SLOW_CTL_REG          (*(volatile uint32_t *) 0x40201108U)
1085 #else
1086 #define SRSS_TST_DDFT_FAST_CTL_REG          (*(volatile uint32_t *) 0x42201104U)
1087 #define SRSS_TST_DDFT_SLOW_CTL_REG          (*(volatile uint32_t *) 0x42201108U)
1088 #endif
1089 
1090 #define SRSS_TST_DDFT_SLOW_CTL_MASK         (0x00001F1EU)
1091 #define SRSS_TST_DDFT_FAST_CTL_MASK         (62U)
1092 
1093 #if defined (CY_IP_MXS40SSRSS)
1094 /* PPU configurations for DEEPSLEEP */
1095 #define CY_SYSTEM_MAIN_PPU_DEEPSLEEP_MODE        PPU_V1_MODE_FULL_RET
1096 #define CY_SYSTEM_CPUSS_PPU_DEEPSLEEP_MODE       PPU_V1_MODE_FULL_RET
1097 #define CY_SYSTEM_SRAM_PPU_DEEPSLEEP_MODE        PPU_V1_MODE_MEM_RET
1098 
1099 /* PPU configurations for DEEPSLEEP-RAM */
1100 #define CY_SYSTEM_MAIN_PPU_DEEPSLEEP_RAM_MODE    PPU_V1_MODE_MEM_RET
1101 #define CY_SYSTEM_CPUSS_PPU_DEEPSLEEP_RAM_MODE   PPU_V1_MODE_OFF
1102 #define CY_SYSTEM_SRAM_PPU_DEEPSLEEP_RAM_MODE    PPU_V1_MODE_MEM_RET
1103 
1104 /* PPU configurations for DEEPSLEEP-OFF */
1105 #define CY_SYSTEM_MAIN_PPU_DEEPSLEEP_OFF_MODE    PPU_V1_MODE_OFF
1106 #define CY_SYSTEM_CPUSS_PPU_DEEPSLEEP_OFF_MODE   PPU_V1_MODE_OFF
1107 #define CY_SYSTEM_SRAM_PPU_DEEPSLEEP_OFF_MODE    PPU_V1_MODE_OFF
1108 
1109 /* System DEEPSLEEP Mode = (PPU_MAIN Mode)*/
1110 #define CY_SYSTEM_DEEPSLEEP_PPU_MODES        ((uint32_t)CY_SYSTEM_MAIN_PPU_DEEPSLEEP_MODE)
1111 #define CY_SYSTEM_DEEPSLEEP_RAM_PPU_MODES    ((uint32_t)CY_SYSTEM_MAIN_PPU_DEEPSLEEP_RAM_MODE)
1112 #define CY_SYSTEM_DEEPSLEEP_OFF_PPU_MODES    ((uint32_t)CY_SYSTEM_MAIN_PPU_DEEPSLEEP_OFF_MODE)
1113 #endif
1114 
1115 #define SRSS_CSV_HF_CSV_REF_CTL(hf)             (((SRSS_Type *) SRSS)->CSV_HF_STRUCT.CSV[hf].REF_CTL)
1116 #define SRSS_CSV_HF_CSV_REF_LIMIT(hf)           (((SRSS_Type *) SRSS)->CSV_HF_STRUCT.CSV[hf].REF_LIMIT)
1117 #define SRSS_CSV_HF_CSV_MON_CTL(hf)             (((SRSS_Type *) SRSS)->CSV_HF_STRUCT.CSV[hf].MON_CTL)
1118 #define CSV_HF_CSV_REF_CTL_CSV_STARTUP           CSV_HF_CSV_REF_CTL_STARTUP
1119 #define CSV_HF_CSV_REF_LIMIT_CSV_LOWER           CSV_HF_CSV_REF_LIMIT_LOWER
1120 #define CSV_HF_CSV_REF_LIMIT_CSV_UPPER           CSV_HF_CSV_REF_LIMIT_UPPER
1121 #define CSV_HF_CSV_MON_CTL_CSV_PERIOD            CSV_HF_CSV_MON_CTL_PERIOD
1122 
1123 #define SRSS_CSV_LF_CSV_REF_CTL                 (((SRSS_Type *) SRSS)->CSV_LF_STRUCT.CSV.REF_CTL)
1124 #define SRSS_CSV_LF_CSV_REF_LIMIT               (((SRSS_Type *) SRSS)->CSV_LF_STRUCT.CSV.REF_LIMIT)
1125 #define SRSS_CSV_LF_CSV_MON_CTL                 (((SRSS_Type *) SRSS)->CSV_LF_STRUCT.CSV.MON_CTL)
1126 #define CSV_LF_CSV_REF_CTL_CSV_STARTUP           CSV_LF_CSV_REF_CTL_STARTUP
1127 #define CSV_LF_CSV_REF_LIMIT_CSV_LOWER           CSV_LF_CSV_REF_LIMIT_LOWER
1128 #define CSV_LF_CSV_REF_LIMIT_CSV_UPPER           CSV_LF_CSV_REF_LIMIT_UPPER
1129 #define CSV_LF_CSV_MON_CTL_CSV_PERIOD            CSV_LF_CSV_MON_CTL_PERIOD
1130 
1131 /*******************************************************************************
1132 *                PERI
1133 *******************************************************************************/
1134 /*******************************************************************************
1135 *                PERI PCLK
1136 *******************************************************************************/
1137 
1138 #define PERI_INSTANCE_COUNT                    (1U)
1139 
1140 #ifndef PERI0_PCLK_GROUP_NR
1141 #define PERI0_PCLK_GROUP_NR     PERI_PCLK_GROUP_NR
1142 #endif
1143 
1144 #ifndef PERI1_PCLK_GROUP_NR
1145 #define PERI1_PCLK_GROUP_NR     (0U)
1146 #endif
1147 
1148 
1149 #ifndef PERI_PCLK0_BASE
1150 #define PERI_PCLK0_BASE     PERI_PCLK_BASE
1151 #endif
1152 
1153 #ifndef PERI_PCLK1_BASE
1154 #define PERI_PCLK1_BASE     0U
1155 #endif
1156 
1157 #if (PERI_INSTANCE_COUNT == 1U)
1158 #define PERI0_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_8_VECT PERI_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_8_VECT
1159 #define PERI0_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_8_VECT PERI_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_8_VECT
1160 #define PERI0_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_8_VECT PERI_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_8_VECT
1161 #define PERI0_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_8_VECT PERI_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_8_VECT
1162 #define PERI0_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_8_VECT PERI_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_8_VECT
1163 #define PERI0_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_8_VECT PERI_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_8_VECT
1164 #define PERI0_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_8_VECT PERI_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_8_VECT
1165 #define PERI0_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_8_VECT 0U
1166 
1167 
1168 #define PERI0_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_VECT PERI_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_VECT
1169 #define PERI0_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_16_VECT PERI_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_16_VECT
1170 #define PERI0_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_16_VECT PERI_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_16_VECT
1171 #define PERI0_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_16_VECT PERI_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_16_VECT
1172 #define PERI0_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_16_VECT PERI_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_16_VECT
1173 #define PERI0_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_16_VECT PERI_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_16_VECT
1174 #define PERI0_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_16_VECT PERI_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_16_VECT
1175 #define PERI0_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_16_VECT 0U
1176 
1177 
1178 #define PERI0_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_5_VECT
1179 #define PERI0_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_16_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_16_5_VECT
1180 #define PERI0_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_16_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_16_5_VECT
1181 #define PERI0_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_16_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_16_5_VECT
1182 #define PERI0_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_16_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_16_5_VECT
1183 #define PERI0_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_16_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_16_5_VECT
1184 #define PERI0_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_16_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_16_5_VECT
1185 #define PERI0_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_16_5_VECT 0U
1186 
1187 #define PERI0_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_24_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_24_5_VECT
1188 #define PERI0_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_24_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_24_5_VECT
1189 #define PERI0_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_24_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_24_5_VECT
1190 #define PERI0_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_24_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_24_5_VECT
1191 #define PERI0_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_24_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_24_5_VECT
1192 #define PERI0_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_24_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_24_5_VECT
1193 #define PERI0_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_24_5_VECT PERI_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_24_5_VECT
1194 #define PERI0_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_24_5_VECT 0U
1195 
1196 #define PERI1_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_8_VECT 0U
1197 #define PERI1_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_8_VECT 0U
1198 #define PERI1_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_8_VECT 0U
1199 #define PERI1_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_8_VECT 0U
1200 #define PERI1_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_8_VECT 0U
1201 #define PERI1_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_8_VECT 0U
1202 #define PERI1_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_8_VECT 0U
1203 #define PERI1_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_8_VECT 0U
1204 
1205 #define PERI1_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_VECT 0U
1206 #define PERI1_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_16_VECT 0U
1207 #define PERI1_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_16_VECT 0U
1208 #define PERI1_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_16_VECT 0U
1209 #define PERI1_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_16_VECT 0U
1210 #define PERI1_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_16_VECT 0U
1211 #define PERI1_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_16_VECT 0U
1212 #define PERI1_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_16_VECT 0U
1213 
1214 
1215 #define PERI1_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_5_VECT 0U
1216 #define PERI1_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_16_5_VECT 0U
1217 #define PERI1_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_16_5_VECT 0U
1218 #define PERI1_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_16_5_VECT 0U
1219 #define PERI1_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_16_5_VECT 0U
1220 #define PERI1_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_16_5_VECT 0U
1221 #define PERI1_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_16_5_VECT 0U
1222 #define PERI1_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_16_5_VECT 0U
1223 
1224 #define PERI1_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_24_5_VECT 0U
1225 #define PERI1_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_24_5_VECT 0U
1226 #define PERI1_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_24_5_VECT 0U
1227 #define PERI1_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_24_5_VECT 0U
1228 #define PERI1_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_24_5_VECT 0U
1229 #define PERI1_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_24_5_VECT 0U
1230 #define PERI1_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_24_5_VECT 0U
1231 #define PERI1_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_24_5_VECT 0U
1232 
1233 #endif
1234 
1235 #define PERI_PCLK_PERI_NUM_Msk                 (0x000000FFU)
1236 #define PERI_PCLK_GR_NUM_Msk                   (0x0000FF00U)
1237 #define PERI_PCLK_GR_NUM_Pos                   (8U)
1238 #define PERI_PCLK_PERIPHERAL_GROUP_NUM         (1UL << PERI_PCLK_GR_NUM_Pos)
1239 #define PERI_PCLK_INST_NUM_Msk                 (0x00FF0000U)
1240 #define PERI_PCLK_INST_NUM_Pos                 (16U)
1241 
1242 #define PERI_PCLK_GR_NUM(instNum)              (((instNum) == 0U)? PERI0_PCLK_GROUP_NR : PERI1_PCLK_GROUP_NR)
1243 
1244 #define PERI_PCLK1_OFFSET                      (PERI_PCLK1_BASE - PERI_PCLK0_BASE)
1245 #define PERI_PCLK_REG_BASE(instNum)            ((PERI_PCLK_Type*)(PERI_PCLK0_BASE + ((instNum) * PERI_PCLK1_OFFSET)))
1246 
1247 #define PERI_DIV_8_CTL(instNum, grNum, divNum)                   ((PERI_PCLK_GR_Type*) &PERI_PCLK_REG_BASE(instNum)->GR[grNum])->DIV_8_CTL[divNum]
1248 #define PERI_DIV_16_CTL(instNum, grNum, divNum)                  ((PERI_PCLK_GR_Type*) &PERI_PCLK_REG_BASE(instNum)->GR[grNum])->DIV_16_CTL[divNum]
1249 #define PERI_DIV_16_5_CTL(instNum, grNum, divNum)                ((PERI_PCLK_GR_Type*) &PERI_PCLK_REG_BASE(instNum)->GR[grNum])->DIV_16_5_CTL[divNum]
1250 #define PERI_DIV_24_5_CTL(instNum, grNum, divNum)                ((PERI_PCLK_GR_Type*) &PERI_PCLK_REG_BASE(instNum)->GR[grNum])->DIV_24_5_CTL[divNum]
1251 #define PERI_CLOCK_CTL(instNum, grNum, periNum)                  ((PERI_PCLK_GR_Type*) &PERI_PCLK_REG_BASE(instNum)->GR[grNum])->CLOCK_CTL[periNum]
1252 #define PERI_DIV_CMD(instNum, grNum)                             ((PERI_PCLK_GR_Type*) &PERI_PCLK_REG_BASE(instNum)->GR[grNum])->DIV_CMD
1253 
1254 #define PERI_PCLK_GR_DIV_8_NR(instNum, grNum)     (((instNum) == 0U) ? \
1255                                                   (((grNum) <= 3U) ? \
1256                                                   ((uint32_t)(((((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_8_VECT) |      \
1257                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_8_VECT) << 8U)         |    \
1258                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_8_VECT) << 16U)        |    \
1259                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_8_VECT) << 24U)) >> ((grNum) * 8UL)) & 0xFFUL)) \
1260                                                   : \
1261                                                   ((uint32_t)(((((PERI0_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_8_VECT)) |        \
1262                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_8_VECT) << 8U)    |    \
1263                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_8_VECT) << 16U)   |    \
1264                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_8_VECT) << 24U)) >> (((uint32_t)(grNum) - 4UL) * 8UL)) & 0xFFUL))) \
1265                                                   : \
1266                                                   (((grNum) <= 3U) ? \
1267                                                   ((uint32_t)(((((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_8_VECT) |      \
1268                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_8_VECT) << 8U)          |    \
1269                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_8_VECT) << 16U)         |    \
1270                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_8_VECT) << 24U)) >> ((grNum) * 8UL)) & 0xFFUL)) \
1271                                                   : \
1272                                                   ((uint32_t)(((((PERI1_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_8_VECT)) |         \
1273                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_8_VECT) << 8U)    |    \
1274                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_8_VECT) << 16U)   |    \
1275                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_8_VECT) << 24U)) >> (((uint32_t)(grNum) - 4UL) * 8UL)) & 0xFFUL))))
1276 
1277 #define PERI_PCLK_GR_DIV_16_NR(instNum, grNum)    (((instNum) == 0U) ? \
1278                                                   (((grNum) <= 3U) ? \
1279                                                   ((uint32_t)(((((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_VECT) |      \
1280                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_16_VECT) << 8U)         |    \
1281                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_16_VECT) << 16U)        |    \
1282                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_16_VECT) << 24U)) >> ((grNum) * 8UL)) & 0xFFUL)) \
1283                                                   : \
1284                                                   ((uint32_t)(((((PERI0_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_16_VECT)) |         \
1285                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_16_VECT) << 8U)    |    \
1286                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_16_VECT) << 16U)   |    \
1287                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_16_VECT) << 24U)) >> (((uint32_t)(grNum) - 4UL) * 8UL)) & 0xFFUL))) \
1288                                                   : \
1289                                                   (((grNum) <= 3U) ? \
1290                                                   ((uint32_t)(((((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_VECT) |       \
1291                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_16_VECT) << 8U)          |    \
1292                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_16_VECT) << 16U)         |    \
1293                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_16_VECT) << 24U)) >> ((grNum) * 8UL)) & 0xFFUL)) \
1294                                                   : \
1295                                                   ((uint32_t)(((((PERI1_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_16_VECT)) |         \
1296                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_16_VECT) << 8U)    |    \
1297                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_16_VECT) << 16U)   |    \
1298                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_16_VECT) << 24U)) >> (((uint32_t)(grNum) - 4UL) * 8UL)) & 0xFFUL))))
1299 
1300 #define PERI_PCLK_GR_DIV_16_5_NR(instNum, grNum)  (((instNum) == 0U) ? \
1301                                                   (((grNum) <= 3U) ? \
1302                                                   ((uint32_t)(((((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_5_VECT) |          \
1303                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_16_5_VECT) << 8U)    |    \
1304                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_16_5_VECT) << 16U)    |    \
1305                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_16_5_VECT) << 24U)) >> ((grNum) * 8UL)) & 0xFFUL)) \
1306                                                   : \
1307                                                   ((uint32_t)(((((PERI0_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_16_5_VECT)) |         \
1308                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_16_5_VECT) << 8U)    |    \
1309                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_16_5_VECT) << 16U)   |    \
1310                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_16_5_VECT) << 24U)) >> (((uint32_t)(grNum) - 4UL) * 8UL)) & 0xFFUL))) \
1311                                                   : \
1312                                                   (((grNum) <= 3U) ? \
1313                                                   ((uint32_t)(((((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_5_VECT) |       \
1314                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_16_5_VECT) << 8U)          |    \
1315                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_16_5_VECT) << 16U)         |    \
1316                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_16_5_VECT) << 24U)) >> ((grNum) * 8UL)) & 0xFFUL)) \
1317                                                   : \
1318                                                   ((uint32_t)(((((PERI1_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_16_5_VECT)) |         \
1319                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_16_5_VECT) << 8U)    |    \
1320                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_16_5_VECT) << 16U)   |    \
1321                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_16_5_VECT) << 24U)) >> (((uint32_t)(grNum) - 4UL) * 8UL)) & 0xFFUL))))
1322 
1323 #define PERI_PCLK_GR_DIV_24_5_NR(instNum, grNum)  (((instNum) == 0U) ? \
1324                                                   (((grNum) <= 3U) ? \
1325                                                   ((uint32_t)(((((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_24_5_VECT) |      \
1326                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_24_5_VECT) << 8U)         |    \
1327                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_24_5_VECT) << 16U)        |    \
1328                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_24_5_VECT) << 24U)) >> ((grNum) * 8UL)) & 0xFFUL)) \
1329                                                   : \
1330                                                   ((uint32_t)(((((PERI0_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_24_5_VECT)) |         \
1331                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_24_5_VECT) << 8U)    |    \
1332                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_24_5_VECT) << 16U)   |    \
1333                                                   (((uint32_t)PERI0_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_24_5_VECT) << 24U)) >> (((uint32_t)(grNum) - 4UL) * 8UL)) & 0xFFUL))) \
1334                                                   : \
1335                                                   (((grNum) <= 3U) ? \
1336                                                   ((uint32_t)(((((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_VECT) |       \
1337                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_24_5_VECT) << 8U)          |    \
1338                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_24_5_VECT) << 16U)         |    \
1339                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_24_5_VECT) << 24U)) >> ((grNum) * 8UL)) & 0xFFUL)) \
1340                                                   : \
1341                                                   ((uint32_t)(((((PERI1_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_24_5_VECT)) |         \
1342                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_24_5_VECT) << 8U)    |    \
1343                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_24_5_VECT) << 16U)   |    \
1344                                                   (((uint32_t)PERI1_PERI_PCLK_PCLK_GROUP_NR7_GR_DIV_24_5_VECT) << 24U)) >> (((uint32_t)(grNum) - 4UL) * 8UL)) & 0xFFUL))))
1345 
1346 /* PERI_PCLK_GR.DIV_CMD */
1347 #define CY_PERI_DIV_CMD_DIV_SEL_Pos             PERI_PCLK_GR_DIV_CMD_DIV_SEL_Pos
1348 #define CY_PERI_DIV_CMD_DIV_SEL_Msk             PERI_PCLK_GR_DIV_CMD_DIV_SEL_Msk
1349 #define CY_PERI_DIV_CMD_TYPE_SEL_Pos            PERI_PCLK_GR_DIV_CMD_TYPE_SEL_Pos
1350 #define CY_PERI_DIV_CMD_TYPE_SEL_Msk            PERI_PCLK_GR_DIV_CMD_TYPE_SEL_Msk
1351 #define CY_PERI_DIV_CMD_PA_DIV_SEL_Pos          PERI_PCLK_GR_DIV_CMD_PA_DIV_SEL_Pos
1352 #define CY_PERI_DIV_CMD_PA_DIV_SEL_Msk          PERI_PCLK_GR_DIV_CMD_PA_DIV_SEL_Msk
1353 #define CY_PERI_DIV_CMD_PA_TYPE_SEL_Pos         PERI_PCLK_GR_DIV_CMD_PA_TYPE_SEL_Pos
1354 #define CY_PERI_DIV_CMD_PA_TYPE_SEL_Msk         PERI_PCLK_GR_DIV_CMD_PA_TYPE_SEL_Msk
1355 #define CY_PERI_DIV_CMD_DISABLE_Pos             PERI_PCLK_GR_DIV_CMD_DISABLE_Pos
1356 #define CY_PERI_DIV_CMD_DISABLE_Msk             PERI_PCLK_GR_DIV_CMD_DISABLE_Msk
1357 #define CY_PERI_DIV_CMD_ENABLE_Pos              PERI_PCLK_GR_DIV_CMD_ENABLE_Pos
1358 #define CY_PERI_DIV_CMD_ENABLE_Msk              PERI_PCLK_GR_DIV_CMD_ENABLE_Msk
1359 
1360 
1361 #define PERI_DIV_CMD_DIV_SEL_Pos                PERI_PCLK_GR_DIV_CMD_DIV_SEL_Pos
1362 #define PERI_DIV_CMD_DIV_SEL_Msk                PERI_PCLK_GR_DIV_CMD_DIV_SEL_Msk
1363 #define PERI_DIV_CMD_TYPE_SEL_Pos               PERI_PCLK_GR_DIV_CMD_TYPE_SEL_Pos
1364 #define PERI_DIV_CMD_TYPE_SEL_Msk               PERI_PCLK_GR_DIV_CMD_TYPE_SEL_Msk
1365 #define PERI_DIV_CMD_PA_DIV_SEL_Pos             PERI_PCLK_GR_DIV_CMD_PA_DIV_SEL_Pos
1366 #define PERI_DIV_CMD_PA_DIV_SEL_Msk             PERI_PCLK_GR_DIV_CMD_PA_DIV_SEL_Msk
1367 #define PERI_DIV_CMD_PA_TYPE_SEL_Pos            PERI_PCLK_GR_DIV_CMD_PA_TYPE_SEL_Pos
1368 #define PERI_DIV_CMD_PA_TYPE_SEL_Msk            PERI_PCLK_GR_DIV_CMD_PA_TYPE_SEL_Msk
1369 #define PERI_DIV_CMD_DISABLE_Pos                PERI_PCLK_GR_DIV_CMD_DISABLE_Pos
1370 #define PERI_DIV_CMD_DISABLE_Msk                PERI_PCLK_GR_DIV_CMD_DISABLE_Msk
1371 #define PERI_DIV_CMD_ENABLE_Pos                 PERI_PCLK_GR_DIV_CMD_ENABLE_Pos
1372 #define PERI_DIV_CMD_ENABLE_Msk                 PERI_PCLK_GR_DIV_CMD_ENABLE_Msk
1373 
1374 /* PERI_PCLK_GR.CLOCK_CTL */
1375 #define CY_PERI_CLOCK_CTL_DIV_SEL_Pos           PERI_PCLK_GR_CLOCK_CTL_DIV_SEL_Pos
1376 #define CY_PERI_CLOCK_CTL_DIV_SEL_Msk           PERI_PCLK_GR_CLOCK_CTL_DIV_SEL_Msk
1377 #define CY_PERI_CLOCK_CTL_TYPE_SEL_Pos          PERI_PCLK_GR_CLOCK_CTL_TYPE_SEL_Pos
1378 #define CY_PERI_CLOCK_CTL_TYPE_SEL_Msk          PERI_PCLK_GR_CLOCK_CTL_TYPE_SEL_Msk
1379 /* PERI.DIV_8_CTL */
1380 #define PERI_DIV_8_CTL_EN_Pos                   PERI_PCLK_GR_DIV_8_CTL_EN_Pos
1381 #define PERI_DIV_8_CTL_EN_Msk                   PERI_PCLK_GR_DIV_8_CTL_EN_Msk
1382 #define PERI_DIV_8_CTL_INT8_DIV_Pos             PERI_PCLK_GR_DIV_8_CTL_INT8_DIV_Pos
1383 #define PERI_DIV_8_CTL_INT8_DIV_Msk             PERI_PCLK_GR_DIV_8_CTL_INT8_DIV_Msk
1384 /* PERI.DIV_16_CTL */
1385 #define PERI_DIV_16_CTL_EN_Pos                  PERI_PCLK_GR_DIV_16_CTL_EN_Pos
1386 #define PERI_DIV_16_CTL_EN_Msk                  PERI_PCLK_GR_DIV_16_CTL_EN_Msk
1387 #define PERI_DIV_16_CTL_INT16_DIV_Pos           PERI_PCLK_GR_DIV_16_CTL_INT16_DIV_Pos
1388 #define PERI_DIV_16_CTL_INT16_DIV_Msk           PERI_PCLK_GR_DIV_16_CTL_INT16_DIV_Msk
1389 /* PERI.DIV_16_5_CTL */
1390 #define PERI_DIV_16_5_CTL_EN_Pos                PERI_PCLK_GR_DIV_16_5_CTL_EN_Pos
1391 #define PERI_DIV_16_5_CTL_EN_Msk                PERI_PCLK_GR_DIV_16_5_CTL_EN_Msk
1392 #define PERI_DIV_16_5_CTL_FRAC5_DIV_Pos         PERI_PCLK_GR_DIV_16_5_CTL_FRAC5_DIV_Pos
1393 #define PERI_DIV_16_5_CTL_FRAC5_DIV_Msk         PERI_PCLK_GR_DIV_16_5_CTL_FRAC5_DIV_Msk
1394 #define PERI_DIV_16_5_CTL_INT16_DIV_Pos         PERI_PCLK_GR_DIV_16_5_CTL_INT16_DIV_Pos
1395 #define PERI_DIV_16_5_CTL_INT16_DIV_Msk         PERI_PCLK_GR_DIV_16_5_CTL_INT16_DIV_Msk
1396 /* PERI.DIV_24_5_CTL */
1397 #define PERI_DIV_24_5_CTL_EN_Pos                PERI_PCLK_GR_DIV_24_5_CTL_EN_Pos
1398 #define PERI_DIV_24_5_CTL_EN_Msk                PERI_PCLK_GR_DIV_24_5_CTL_EN_Msk
1399 #define PERI_DIV_24_5_CTL_FRAC5_DIV_Pos         PERI_PCLK_GR_DIV_24_5_CTL_FRAC5_DIV_Pos
1400 #define PERI_DIV_24_5_CTL_FRAC5_DIV_Msk         PERI_PCLK_GR_DIV_24_5_CTL_FRAC5_DIV_Msk
1401 #define PERI_DIV_24_5_CTL_INT24_DIV_Pos         PERI_PCLK_GR_DIV_24_5_CTL_INT24_DIV_Pos
1402 #define PERI_DIV_24_5_CTL_INT24_DIV_Msk         PERI_PCLK_GR_DIV_24_5_CTL_INT24_DIV_Msk
1403 
1404 /*******************************************************************************
1405 *                PERI-GROUP
1406 *******************************************************************************/
1407 #if defined (CY_DEVICE_BOY2)
1408 #define CY_PERI_GROUP_NR                        6
1409 #else
1410 #define CY_PERI_GROUP_NR                        4
1411 #define CY_PERI_BLESS_GROUP_NR                  3
1412 #endif /* CY_DEVICE_BOY2 */
1413 
1414 #ifndef PERI0_BASE
1415 #define PERI0_BASE PERI_BASE
1416 #endif
1417 
1418 #ifndef PERI1_BASE
1419 #define PERI1_BASE 0U
1420 #endif
1421 
1422 
1423 #define PERI_GR_OFFSET                      (PERI1_BASE - PERI0_BASE)
1424 #define PERI_GR_REG_BASE(instNum)           ((PERI_Type*)(PERI0_BASE + ((instNum) * PERI_GR_OFFSET)))
1425 
1426 #define PERI_GR_INST_NUM_Msk                 (0x0000FF00U)
1427 #define PERI_GR_INST_NUM_Pos                 (8U)
1428 
1429 
1430 #define PERI_GR_CLOCK_CTL(instNum, grNum)   ((PERI_GR_Type*) &PERI_GR_REG_BASE(instNum)->GR[grNum])->CLOCK_CTL
1431 #define PERI_GR_SL_CTL(instNum, grNum)      ((PERI_GR_Type*) &PERI_GR_REG_BASE(instNum)->GR[grNum])->SL_CTL
1432 #define PERI_GR_SL_CTL2(instNum, grNum)     ((PERI_GR_Type*) &PERI_GR_REG_BASE(instNum)->GR[grNum])->SL_CTL2
1433 #define PERI_GR_SL_CTL3(instNum, grNum)     ((PERI_GR_Type*) &PERI_GR_REG_BASE(instNum)->GR[grNum])->SL_CTL3
1434 
1435 /*******************************************************************************
1436 *                PERI-TR
1437 *******************************************************************************/
1438 
1439 #define PERI_TR_CMD                         (((PERI_Type*) (PERI_BASE))->TR_CMD)
1440 #define PERI_TR_GR_TR_CTL(group, trCtl)     (*(volatile uint32_t*) ((uint32_t)PERI_BASE+ (uint32_t)offsetof(PERI_Type,TR_GR) + \
1441                                             ((group) * (uint32_t)sizeof(PERI_TR_GR_Type)) + \
1442                                             ((trCtl) * (uint32_t)sizeof(uint32_t))))
1443 
1444 #if defined (CY_IP_MXSPERI)
1445 #define PERI_TR_GR_TR_OUT_CTL_TR_SEL_Msk PERI_TR_GR_TR_CTL_TR_SEL_Msk
1446 #define PERI_TR_GR_TR_OUT_CTL_TR_SEL_Pos PERI_TR_GR_TR_CTL_TR_SEL_Pos
1447 #define CY_PERI_TR_CTL_SEL_Msk PERI_TR_GR_TR_CTL_TR_SEL_Msk
1448 #define CY_PERI_TR_CTL_SEL_Pos PERI_TR_GR_TR_CTL_TR_SEL_Pos
1449 #define PERI_V2_TR_CMD_OUT_SEL_Msk PERI_TR_CMD_OUT_SEL_Msk
1450 #define PERI_V2_TR_CMD_OUT_SEL_Pos PERI_TR_CMD_OUT_SEL_Pos
1451 #define PERI_V2_TR_CMD_GROUP_SEL_Msk PERI_TR_CMD_GROUP_SEL_Msk
1452 #define PERI_V2_TR_CMD_GROUP_SEL_Pos PERI_TR_CMD_GROUP_SEL_Pos
1453 #define CY_PERI_TR_CMD_GROUP_SEL_Msk PERI_TR_CMD_GROUP_SEL_Msk
1454 #define CY_PERI_TR_CMD_GROUP_SEL_Pos PERI_TR_CMD_GROUP_SEL_Pos
1455 #define CY_PERI_TR_CTL_SEL PERI_TR_GR_TR_CTL_TR_SEL
1456 #define PERI_TR_GR_TR_OUT_CTL_TR_INV_Msk PERI_TR_GR_TR_CTL_TR_INV_Msk
1457 #define PERI_TR_GR_TR_OUT_CTL_TR_INV_Pos PERI_TR_GR_TR_CTL_TR_INV_Pos
1458 #define PERI_TR_GR_TR_OUT_CTL_TR_EDGE_Msk PERI_TR_GR_TR_CTL_TR_EDGE_Msk
1459 #define PERI_TR_GR_TR_OUT_CTL_TR_EDGE_Pos PERI_TR_GR_TR_CTL_TR_EDGE_Pos
1460 #define PERI_V2_TR_CMD_TR_EDGE_Msk PERI_TR_CMD_TR_EDGE_Msk
1461 #define PERI_V2_TR_CMD_TR_EDGE_Pos PERI_TR_CMD_TR_EDGE_Pos
1462 #define PERI_TR_1TO1_GR_V2_TR_CTL_TR_INV_Msk PERI_TR_1TO1_GR_TR_CTL_TR_INV_Msk
1463 #define PERI_TR_1TO1_GR_V2_TR_CTL_TR_INV_Pos PERI_TR_1TO1_GR_TR_CTL_TR_INV_Pos
1464 #define PERI_TR_1TO1_GR_V2_TR_CTL_TR_EDGE_Msk PERI_TR_1TO1_GR_TR_CTL_TR_EDGE_Msk
1465 #define PERI_TR_1TO1_GR_V2_TR_CTL_TR_EDGE_Pos PERI_TR_1TO1_GR_TR_CTL_TR_EDGE_Pos
1466 #define PERI_TR_1TO1_GR_V2_TR_CTL_TR_SEL_Msk PERI_TR_1TO1_GR_TR_CTL_TR_SEL_Msk
1467 #define PERI_TR_1TO1_GR_V2_TR_CTL_TR_SEL_Pos PERI_TR_1TO1_GR_TR_CTL_TR_SEL_Pos
1468 #define PERI_TR_GR_V2_TR_CTL_DBG_FREEZE_EN_Msk PERI_TR_GR_TR_CTL_DBG_FREEZE_EN_Msk
1469 #define PERI_TR_GR_V2_TR_CTL_DBG_FREEZE_EN_Pos PERI_TR_GR_TR_CTL_DBG_FREEZE_EN_Pos
1470 #define CY_PERI_V1 0U
1471 #define PERI_TR_CMD_COUNT_Pos 0UL
1472 #define PERI_TR_CMD_COUNT_Msk 0UL
1473 #endif /* CY_IP_MXSPERI */
1474 
1475 /* CLK_HF* to PERI PCLK Group Mapping */
1476 #define PERI0_PCLK_GR_NUM_0_CLK_HF_NUM              (0U)
1477 #define PERI0_PCLK_GR_NUM_1_CLK_HF_NUM              (1U)
1478 #define PERI0_PCLK_GR_NUM_2_CLK_HF_NUM              (0U)
1479 #define PERI0_PCLK_GR_NUM_3_CLK_HF_NUM              (1U)
1480 #define PERI0_PCLK_GR_NUM_4_CLK_HF_NUM              (2U)
1481 #define PERI0_PCLK_GR_NUM_5_CLK_HF_NUM              (3U)
1482 #if defined (CY_DEVICE_BOY2)
1483 #define PERI0_PCLK_GR_NUM_6_CLK_HF_NUM              (4U)
1484 #else
1485 #define PERI0_PCLK_GR_NUM_6_CLK_HF_NUM              (1U)
1486 #endif
1487 
1488 
1489 #if defined (CY_IP_MXS40SSRSS)
1490 #define CY_SYSPM_BOOTROM_ENTRYPOINT_ADDR        ((uint32_t)(&BACKUP_BREG_SET1[0])) /* Boot ROM will check this address for locating the entry point after Warm Boot */
1491 #define CY_SYSPM_BOOTROM_DSRAM_DBG_ENABLE_MASK 0x00000001U
1492 #endif
1493 #if defined (CY_DEVICE_CYW20829)
1494 #define ENABLE_MEM_VOLTAGE_TRIMS
1495 #endif
1496 
1497 
1498 /*******************************************************************************
1499 *                MXCM33
1500 *******************************************************************************/
1501 #define MXCM33_CM33_NMI_CTL(nmi)              (((volatile uint32_t *) (MXCM33->CM33_NMI_CTL))[(nmi)])
1502 
1503 /*******************************************************************************
1504 *                MCWDT
1505 *******************************************************************************/
1506 
1507 #define MCWDT_CNTLOW(base)      (((MCWDT_STRUCT_Type *)(base))->MCWDT_CNTLOW)
1508 #define MCWDT_CNTHIGH(base)     (((MCWDT_STRUCT_Type *)(base))->MCWDT_CNTHIGH)
1509 #define MCWDT_MATCH(base)       (((MCWDT_STRUCT_Type *)(base))->MCWDT_MATCH)
1510 #define MCWDT_CONFIG(base)      (((MCWDT_STRUCT_Type *)(base))->MCWDT_CONFIG)
1511 #define MCWDT_CTL(base)         (((MCWDT_STRUCT_Type *)(base))->MCWDT_CTL)
1512 #define MCWDT_INTR(base)        (((MCWDT_STRUCT_Type *)(base))->MCWDT_INTR)
1513 #define MCWDT_INTR_SET(base)    (((MCWDT_STRUCT_Type *)(base))->MCWDT_INTR_SET)
1514 #define MCWDT_INTR_MASK(base)   (((MCWDT_STRUCT_Type *)(base))->MCWDT_INTR_MASK)
1515 #define MCWDT_INTR_MASKED(base) (((MCWDT_STRUCT_Type *)(base))->MCWDT_INTR_MASKED)
1516 #define MCWDT_LOCK(base)        (((MCWDT_STRUCT_Type *)(base))->MCWDT_LOCK)
1517 #define MCWDT_LOWER_LIMIT(base) (((MCWDT_STRUCT_Type *)(base))->MCWDT_LOWER_LIMIT)
1518 
1519 #if defined (CY_DEVICE_BOY2)
1520 /*******************************************************************************
1521 *                SFLASH
1522 *******************************************************************************/
1523 #define SFLASH_CPUSS_TRIM_ROM_CTL_LP        (((SFLASH_Type *) SFLASH)->CPUSS_TRIM_ROM_CTL_LP)
1524 #define SFLASH_CPUSS_TRIM_RAM_CTL_LP        (((SFLASH_Type *) SFLASH)->CPUSS_TRIM_RAM_CTL_LP)
1525 #define SFLASH_CPUSS_TRIM_ROM_CTL_ULP       (((SFLASH_Type *) SFLASH)->CPUSS_TRIM_ROM_CTL_ULP)
1526 #define SFLASH_CPUSS_TRIM_RAM_CTL_ULP       (((SFLASH_Type *) SFLASH)->CPUSS_TRIM_RAM_CTL_ULP)
1527 #define SFLASH_CPUSS_TRIM_ROM_CTL_HALF_LP   (((SFLASH_Type *) SFLASH)->CPUSS_TRIM_ROM_CTL_HALF_LP)
1528 #define SFLASH_CPUSS_TRIM_RAM_CTL_HALF_LP   (((SFLASH_Type *) SFLASH)->CPUSS_TRIM_RAM_CTL_HALF_LP)
1529 #define SFLASH_CPUSS_TRIM_ROM_CTL_HALF_ULP  (((SFLASH_Type *) SFLASH)->CPUSS_TRIM_ROM_CTL_HALF_ULP)
1530 #define SFLASH_CPUSS_TRIM_RAM_CTL_HALF_ULP  (((SFLASH_Type *) SFLASH)->CPUSS_TRIM_RAM_CTL_HALF_ULP)
1531 
1532 #define SFLASH_LDO_0P9V_TRIM                (((SFLASH_Type *) SFLASH)->LDO_0P9V_TRIM)
1533 #define SFLASH_LDO_1P0V_TRIM                (((SFLASH_Type *) SFLASH)->LDO_1P0V_TRIM)
1534 #define SFLASH_LDO_1P1V_TRIM                (((SFLASH_Type *) SFLASH)->LDO_1P1V_TRIM)
1535 #define SFLASH_LDO_1P2V_TRIM                (((SFLASH_Type *) SFLASH)->LDO_1P2V_TRIM)
1536 #define SFLASH_PWR_TRIM_WAKE_CTL            (((SFLASH_Type *) SFLASH)->PWR_TRIM_WAKE_CTL)
1537 
1538 #define SFLASH_DIE_YEAR                     (((SFLASH_Type *) SFLASH)->DIE_YEAR)
1539 #define SFLASH_DIE_MINOR                    (((SFLASH_Type *) SFLASH)->DIE_MINOR)
1540 #define SFLASH_DIE_SORT                     (((SFLASH_Type *) SFLASH)->DIE_SORT)
1541 #define SFLASH_DIE_Y                        (((SFLASH_Type *) SFLASH)->DIE_Y)
1542 #define SFLASH_DIE_X                        (((SFLASH_Type *) SFLASH)->DIE_X)
1543 #define SFLASH_DIE_WAFER                    (((SFLASH_Type *) SFLASH)->DIE_WAFER)
1544 #define SFLASH_DIE_LOT(val)                 (((SFLASH_Type *) SFLASH)->DIE_LOT[(val)])
1545 
1546 #define SFLASH_SAR_CALOFFST_0_N40C          (((SFLASH_Type *) SFLASH)->SAR_CALOFFST_0_N40C)
1547 #define SFLASH_SAR_CALOFFST_1_N40C          (((SFLASH_Type *) SFLASH)->SAR_CALOFFST_1_N40C)
1548 #define SFLASH_SAR_CALOFFST_2_N40C          (((SFLASH_Type *) SFLASH)->SAR_CALOFFST_2_N40C)
1549 #define SFLASH_SAR_CALOFFST_3_N40C          (((SFLASH_Type *) SFLASH)->SAR_CALOFFST_3_N40C)
1550 #define SFLASH_SAR_CALOFFST_0_125C          (((SFLASH_Type *) SFLASH)->SAR_CALOFFST_0_125C)
1551 #define SFLASH_SAR_CALOFFST_1_125C          (((SFLASH_Type *) SFLASH)->SAR_CALOFFST_1_125C)
1552 #define SFLASH_SAR_CALOFFST_2_125C          (((SFLASH_Type *) SFLASH)->SAR_CALOFFST_2_125C)
1553 #define SFLASH_SAR_CALOFFST_3_125C          (((SFLASH_Type *) SFLASH)->SAR_CALOFFST_3_125C)
1554 #define SFLASH_SAR_CALOFFST_0_25C           (((SFLASH_Type *) SFLASH)->SAR_CALOFFST_0_25C)
1555 #define SFLASH_SAR_CALOFFST_1_25C           (((SFLASH_Type *) SFLASH)->SAR_CALOFFST_1_25C)
1556 #define SFLASH_SAR_CALOFFST_2_25C           (((SFLASH_Type *) SFLASH)->SAR_CALOFFST_2_25C)
1557 #define SFLASH_SAR_CALOFFST_3_25C           (((SFLASH_Type *) SFLASH)->SAR_CALOFFST_3_25C)
1558 #define SFLASH_SAR_CALREFPT                 (((SFLASH_Type *) SFLASH)->SAR_CALREFPT)
1559 #define SFLASH_SAR_TEMP_COEF_A              (((SFLASH_Type *) SFLASH)->SAR_TEMP_COEF_A)
1560 #define SFLASH_SAR_TEMP_COEF_B              (((SFLASH_Type *) SFLASH)->SAR_TEMP_COEF_B)
1561 #define SFLASH_SAR_TEMP_COEF_C              (((SFLASH_Type *) SFLASH)->SAR_TEMP_COEF_C)
1562 #define SFLASH_SAR_TEMP_COEF_D              (((SFLASH_Type *) SFLASH)->SAR_TEMP_COEF_D)
1563 #define SFLASH_SAR_CAL_LIN_TABLE(val)       (((SFLASH_Type *) SFLASH)->SAR_CAL_LIN_TABLE[(val)])
1564 #define SFLASH_SAR_CALGAINC                 (((SFLASH_Type *) SFLASH)->SAR_CALGAINC)
1565 #define SFLASH_SAR_CALGAINF                 (((SFLASH_Type *) SFLASH)->SAR_CALGAINF)
1566 #define SFLASH_SAR_INFRA_TRIM_TABLE         (((SFLASH_Type *) SFLASH)->SAR_INFRA_TRIM_TABLE)
1567 #endif
1568 
1569 /*******************************************************************************
1570 *                CPUSS
1571 *******************************************************************************/
1572 #define CPUSS_SYSTICK_NS_CTL                (((CPUSS_Type*) CPUSS_BASE)->SYSTICK_NS_CTL)
1573 #define CPUSS_SYSTICK_S_CTL                 (((CPUSS_Type*) CPUSS_BASE)->SYSTICK_S_CTL)
1574 #if defined (CY_DEVICE_CYW20829)
1575 #define CPUSS_TRIM_RAM_CTL                  (((CPUSS_Type*) CPUSS_BASE)->TRIM_RAM_CTL)
1576 #define CPUSS_TRIM_ROM_CTL                  (((CPUSS_Type*) CPUSS_BASE)->TRIM_ROM_CTL)
1577 #endif
1578 #define CPUSS_PRODUCT_ID                    (((CPUSS_Type*) CPUSS_BASE)->PRODUCT_ID)
1579 
1580 
1581 /* ARM core registers */
1582 #define SYSTICK_CTRL                        (((SysTick_Type *)SysTick)->CTRL)
1583 #define SYSTICK_LOAD                        (((SysTick_Type *)SysTick)->LOAD)
1584 #define SYSTICK_VAL                         (((SysTick_Type *)SysTick)->VAL)
1585 #define SYSTICK_NS_CTRL                     (((SysTick_Type *)SysTick_NS)->CTRL)
1586 #define SYSTICK_NS_LOAD                     (((SysTick_Type *)SysTick_NS)->LOAD)
1587 #define SYSTICK_NS_VAL                      (((SysTick_Type *)SysTick_NS)->VAL)
1588 #define SCB_SCR                             (((SCB_Type *)SCB)->SCR)
1589 
1590 #if defined (CY_DEVICE_CYW20829)
1591 #define CY_UNIQE_DEVICE_ID_PRESENT_SFLASH      0u
1592 #else
1593 #define CY_UNIQE_DEVICE_ID_PRESENT_SFLASH      1u
1594 #endif
1595 
1596 
1597 /*******************************************************************************
1598 *                LPCOMP
1599 *******************************************************************************/
1600 
1601 #define LPCOMP_CMP0_CTRL(base)              (((LPCOMP_Type *)(base))->CMP0_CTRL)
1602 #define LPCOMP_CMP1_CTRL(base)              (((LPCOMP_Type *)(base))->CMP1_CTRL)
1603 #define LPCOMP_CMP0_SW_CLEAR(base)          (((LPCOMP_Type *)(base))->CMP0_SW_CLEAR)
1604 #define LPCOMP_CMP1_SW_CLEAR(base)          (((LPCOMP_Type *)(base))->CMP1_SW_CLEAR)
1605 #define LPCOMP_CMP0_SW(base)                (((LPCOMP_Type *)(base))->CMP0_SW)
1606 #define LPCOMP_CMP1_SW(base)                (((LPCOMP_Type *)(base))->CMP1_SW)
1607 #define LPCOMP_STATUS(base)                 (((LPCOMP_Type *)(base))->STATUS)
1608 #define LPCOMP_CONFIG(base)                 (((LPCOMP_Type *)(base))->CONFIG)
1609 #define LPCOMP_INTR(base)                   (((LPCOMP_Type *)(base))->INTR)
1610 #define LPCOMP_INTR_SET(base)               (((LPCOMP_Type *)(base))->INTR_SET)
1611 #define LPCOMP_INTR_MASK(base)              (((LPCOMP_Type *)(base))->INTR_MASK)
1612 #define LPCOMP_INTR_MASKED(base)            (((LPCOMP_Type *)(base))->INTR_MASKED)
1613 
1614 
1615 /*******************************************************************************
1616 *                TCPWM
1617 *******************************************************************************/
1618 
1619 #if defined CY_IP_MXS40TCPWM
1620 /* CY_IP_MXS40TCPWM is nothing but the CY_IP_MXTCPWM version 3. In BOY-II it is called CY_IP_MXS40TCPWM */
1621 #define CY_IP_MXTCPWM                   1u
1622 #define CY_IP_MXTCPWM_VERSION           3u
1623 #endif /* defined CY_IP_MXS40TCPWM */
1624 
1625 #define TCPWM_CTRL_SET(base)                (((TCPWM_Type *)(base))->CTRL_SET)
1626 #define TCPWM_CTRL_CLR(base)                (((TCPWM_Type *)(base))->CTRL_CLR)
1627 #define TCPWM_CMD_START(base)               (((TCPWM_Type *)(base))->CMD_START)
1628 #define TCPWM_CMD_RELOAD(base)              (((TCPWM_Type *)(base))->CMD_RELOAD)
1629 #define TCPWM_CMD_STOP(base)                (((TCPWM_Type *)(base))->CMD_STOP)
1630 #define TCPWM_CMD_CAPTURE(base)             (((TCPWM_Type *)(base))->CMD_CAPTURE)
1631 
1632 #define TCPWM_CNT_CTRL(base, cntNum)         (((TCPWM_Type *)(base))->CNT[cntNum].CTRL)
1633 #define TCPWM_CNT_CC(base, cntNum)           (((TCPWM_Type *)(base))->CNT[cntNum].CC)
1634 #define TCPWM_CNT_CC_BUFF(base, cntNum)      (((TCPWM_Type *)(base))->CNT[cntNum].CC_BUFF)
1635 #define TCPWM_CNT_COUNTER(base, cntNum)      (((TCPWM_Type *)(base))->CNT[cntNum].COUNTER)
1636 #define TCPWM_CNT_PERIOD(base, cntNum)       (((TCPWM_Type *)(base))->CNT[cntNum].PERIOD)
1637 #define TCPWM_CNT_PERIOD_BUFF(base, cntNum)  (((TCPWM_Type *)(base))->CNT[cntNum].PERIOD_BUFF)
1638 #define TCPWM_CNT_STATUS(base, cntNum)       (((TCPWM_Type *)(base))->CNT[cntNum].STATUS)
1639 #define TCPWM_CNT_INTR(base, cntNum)         (((TCPWM_Type *)(base))->CNT[cntNum].INTR)
1640 #define TCPWM_CNT_INTR_SET(base, cntNum)     (((TCPWM_Type *)(base))->CNT[cntNum].INTR_SET)
1641 #define TCPWM_CNT_INTR_MASK(base, cntNum)    (((TCPWM_Type *)(base))->CNT[cntNum].INTR_MASK)
1642 #define TCPWM_CNT_INTR_MASKED(base, cntNum)  (((TCPWM_Type *)(base))->CNT[cntNum].INTR_MASKED)
1643 #define TCPWM_CNT_TR_CTRL0(base, cntNum)     (((TCPWM_Type *)(base))->CNT[cntNum].TR_CTRL0)
1644 #define TCPWM_CNT_TR_CTRL1(base, cntNum)     (((TCPWM_Type *)(base))->CNT[cntNum].TR_CTRL1)
1645 #define TCPWM_CNT_TR_CTRL2(base, cntNum)     (((TCPWM_Type *)(base))->CNT[cntNum].TR_CTRL2)
1646 
1647 #if defined (CY_DEVICE_CYW20829)
1648 #define TCPWM_GRP_CC1_PRESENT_STATUS (TCPWM_GRP_NR0_CNT_GRP_CC1_PRESENT | TCPWM_GRP_NR1_CNT_GRP_CC1_PRESENT << 1)
1649 #define TCPWM_GRP_AMC_PRESENT_STATUS (TCPWM_GRP_NR0_CNT_GRP_AMC_PRESENT | TCPWM_GRP_NR1_CNT_GRP_AMC_PRESENT << 1)
1650 #define TCPWM_GRP_SMC_PRESENT_STATUS (TCPWM_GRP_NR0_CNT_GRP_SMC_PRESENT | TCPWM_GRP_NR1_CNT_GRP_SMC_PRESENT << 1)
1651 #else
1652 #define TCPWM_GRP_CC1_PRESENT_STATUS (TCPWM_GRP_NR0_CNT_GRP_CC1_PRESENT | TCPWM_GRP_NR1_CNT_GRP_CC1_PRESENT << 1 | TCPWM_GRP_NR2_CNT_GRP_CC1_PRESENT << 2)
1653 #define TCPWM_GRP_AMC_PRESENT_STATUS (TCPWM_GRP_NR0_CNT_GRP_AMC_PRESENT | TCPWM_GRP_NR1_CNT_GRP_AMC_PRESENT << 1 | TCPWM_GRP_NR2_CNT_GRP_AMC_PRESENT << 2)
1654 #define TCPWM_GRP_SMC_PRESENT_STATUS (TCPWM_GRP_NR0_CNT_GRP_SMC_PRESENT | TCPWM_GRP_NR1_CNT_GRP_SMC_PRESENT << 1 | TCPWM_GRP_NR2_CNT_GRP_SMC_PRESENT << 2)
1655 #endif
1656 
1657 #define TCPWM_GRP_CC1(base, grp) ((bool)((TCPWM_GRP_CC1_PRESENT_STATUS >> (grp)) & 0x01U))
1658 #define TCPWM_GRP_AMC(base, grp) ((bool)((TCPWM_GRP_AMC_PRESENT_STATUS >> (grp)) & 0x01U))
1659 #define TCPWM_GRP_SMC(base, grp) ((bool)((TCPWM_GRP_SMC_PRESENT_STATUS >> (grp)) & 0x01U))
1660 
1661 #define TCPWM_GRP_CNT_GET_GRP(cntNum)        ((cntNum )/ 256U)
1662 
1663 #define TCPWM_GRP_CNT_CTRL(base, grp, cntNum)           (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].CTRL)
1664 #define TCPWM_GRP_CNT_STATUS(base, grp, cntNum)         (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].STATUS)
1665 #define TCPWM_GRP_CNT_COUNTER(base, grp, cntNum)        (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].COUNTER)
1666 #define TCPWM_GRP_CNT_CC0(base, grp, cntNum)            (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].CC0)
1667 #define TCPWM_GRP_CNT_CC0_BUFF(base, grp, cntNum)       (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].CC0_BUFF)
1668 #define TCPWM_GRP_CNT_CC1(base, grp, cntNum)            (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].CC1)
1669 #define TCPWM_GRP_CNT_CC1_BUFF(base, grp, cntNum)       (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].CC1_BUFF)
1670 #define TCPWM_GRP_CNT_PERIOD(base, grp, cntNum)         (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].PERIOD)
1671 #define TCPWM_GRP_CNT_PERIOD_BUFF(base, grp, cntNum)    (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].PERIOD_BUFF)
1672 #define TCPWM_GRP_CNT_LINE_SEL(base, grp, cntNum)       (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].LINE_SEL)
1673 #define TCPWM_GRP_CNT_LINE_SEL_BUFF(base, grp, cntNum)  (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].LINE_SEL_BUFF)
1674 #define TCPWM_GRP_CNT_DT(base, grp, cntNum)             (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].DT)
1675 #define TCPWM_GRP_CNT_TR_CMD(base, grp, cntNum)         (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].TR_CMD)
1676 #define TCPWM_GRP_CNT_TR_IN_SEL0(base, grp, cntNum)     (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].TR_IN_SEL0)
1677 #define TCPWM_GRP_CNT_TR_IN_SEL1(base, grp, cntNum)     (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].TR_IN_SEL1)
1678 #define TCPWM_GRP_CNT_TR_IN_EDGE_SEL(base, grp, cntNum) (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].TR_IN_EDGE_SEL)
1679 #define TCPWM_GRP_CNT_TR_PWM_CTRL(base, grp, cntNum)    (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].TR_PWM_CTRL)
1680 #define TCPWM_GRP_CNT_TR_OUT_SEL(base, grp, cntNum)     (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].TR_OUT_SEL)
1681 #define TCPWM_GRP_CNT_INTR(base, grp, cntNum)           (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].INTR)
1682 #define TCPWM_GRP_CNT_INTR_SET(base, grp, cntNum)       (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].INTR_SET)
1683 #define TCPWM_GRP_CNT_INTR_MASK(base, grp, cntNum)      (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].INTR_MASK)
1684 #define TCPWM_GRP_CNT_INTR_MASKED(base, grp, cntNum)    (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].INTR_MASKED)
1685 
1686 #if (CY_IP_MXTCPWM_VERSION >= 2U)
1687 #define TCPWM_GRP_CNT_V2_CTRL_AUTO_RELOAD_CC0_Pos TCPWM_GRP_CNT_CTRL_AUTO_RELOAD_CC0_Pos
1688 #define TCPWM_GRP_CNT_V2_CTRL_AUTO_RELOAD_CC0_Msk TCPWM_GRP_CNT_CTRL_AUTO_RELOAD_CC0_Msk
1689 #define TCPWM_GRP_CNT_V2_CTRL_AUTO_RELOAD_CC1_Pos TCPWM_GRP_CNT_CTRL_AUTO_RELOAD_CC1_Pos
1690 #define TCPWM_GRP_CNT_V2_CTRL_AUTO_RELOAD_CC1_Msk TCPWM_GRP_CNT_CTRL_AUTO_RELOAD_CC1_Msk
1691 #define TCPWM_GRP_CNT_V2_CTRL_AUTO_RELOAD_PERIOD_Pos TCPWM_GRP_CNT_CTRL_AUTO_RELOAD_PERIOD_Pos
1692 #define TCPWM_GRP_CNT_V2_CTRL_AUTO_RELOAD_PERIOD_Msk TCPWM_GRP_CNT_CTRL_AUTO_RELOAD_PERIOD_Msk
1693 #define TCPWM_GRP_CNT_V2_CTRL_AUTO_RELOAD_LINE_SEL_Pos TCPWM_GRP_CNT_CTRL_AUTO_RELOAD_LINE_SEL_Pos
1694 #define TCPWM_GRP_CNT_V2_CTRL_AUTO_RELOAD_LINE_SEL_Msk TCPWM_GRP_CNT_CTRL_AUTO_RELOAD_LINE_SEL_Msk
1695 #define TCPWM_GRP_CNT_V2_CTRL_CC0_MATCH_UP_EN_Pos TCPWM_GRP_CNT_CTRL_CC0_MATCH_UP_EN_Pos
1696 #define TCPWM_GRP_CNT_V2_CTRL_CC0_MATCH_UP_EN_Msk TCPWM_GRP_CNT_CTRL_CC0_MATCH_UP_EN_Msk
1697 #define TCPWM_GRP_CNT_V2_CTRL_CC0_MATCH_DOWN_EN_Pos TCPWM_GRP_CNT_CTRL_CC0_MATCH_DOWN_EN_Pos
1698 #define TCPWM_GRP_CNT_V2_CTRL_CC0_MATCH_DOWN_EN_Msk TCPWM_GRP_CNT_CTRL_CC0_MATCH_DOWN_EN_Msk
1699 #define TCPWM_GRP_CNT_V2_CTRL_CC1_MATCH_UP_EN_Pos TCPWM_GRP_CNT_CTRL_CC1_MATCH_UP_EN_Pos
1700 #define TCPWM_GRP_CNT_V2_CTRL_CC1_MATCH_UP_EN_Msk TCPWM_GRP_CNT_CTRL_CC1_MATCH_UP_EN_Msk
1701 #define TCPWM_GRP_CNT_V2_CTRL_CC1_MATCH_DOWN_EN_Pos TCPWM_GRP_CNT_CTRL_CC1_MATCH_DOWN_EN_Pos
1702 #define TCPWM_GRP_CNT_V2_CTRL_CC1_MATCH_DOWN_EN_Msk TCPWM_GRP_CNT_CTRL_CC1_MATCH_DOWN_EN_Msk
1703 #define TCPWM_GRP_CNT_V2_CTRL_PWM_IMM_KILL_Pos  TCPWM_GRP_CNT_CTRL_PWM_IMM_KILL_Pos
1704 #define TCPWM_GRP_CNT_V2_CTRL_PWM_IMM_KILL_Msk  TCPWM_GRP_CNT_CTRL_PWM_IMM_KILL_Msk
1705 #define TCPWM_GRP_CNT_V2_CTRL_PWM_STOP_ON_KILL_Pos TCPWM_GRP_CNT_CTRL_PWM_STOP_ON_KILL_Pos
1706 #define TCPWM_GRP_CNT_V2_CTRL_PWM_STOP_ON_KILL_Msk TCPWM_GRP_CNT_CTRL_PWM_STOP_ON_KILL_Msk
1707 #define TCPWM_GRP_CNT_V2_CTRL_PWM_SYNC_KILL_Pos TCPWM_GRP_CNT_CTRL_PWM_SYNC_KILL_Pos
1708 #define TCPWM_GRP_CNT_V2_CTRL_PWM_SYNC_KILL_Msk TCPWM_GRP_CNT_CTRL_PWM_SYNC_KILL_Msk
1709 #define TCPWM_GRP_CNT_V2_CTRL_PWM_DISABLE_MODE_Pos TCPWM_GRP_CNT_CTRL_PWM_DISABLE_MODE_Pos
1710 #define TCPWM_GRP_CNT_V2_CTRL_PWM_DISABLE_MODE_Msk TCPWM_GRP_CNT_CTRL_PWM_DISABLE_MODE_Msk
1711 #define TCPWM_GRP_CNT_V2_CTRL_UP_DOWN_MODE_Pos  TCPWM_GRP_CNT_CTRL_UP_DOWN_MODE_Pos
1712 #define TCPWM_GRP_CNT_V2_CTRL_UP_DOWN_MODE_Msk  TCPWM_GRP_CNT_CTRL_UP_DOWN_MODE_Msk
1713 #define TCPWM_GRP_CNT_V2_CTRL_ONE_SHOT_Pos      TCPWM_GRP_CNT_CTRL_ONE_SHOT_Pos
1714 #define TCPWM_GRP_CNT_V2_CTRL_ONE_SHOT_Msk      TCPWM_GRP_CNT_CTRL_ONE_SHOT_Msk
1715 #define TCPWM_GRP_CNT_V2_CTRL_QUAD_ENCODING_MODE_Pos TCPWM_GRP_CNT_CTRL_QUAD_ENCODING_MODE_Pos
1716 #define TCPWM_GRP_CNT_V2_CTRL_QUAD_ENCODING_MODE_Msk TCPWM_GRP_CNT_CTRL_QUAD_ENCODING_MODE_Msk
1717 #define TCPWM_GRP_CNT_V2_CTRL_MODE_Pos          TCPWM_GRP_CNT_CTRL_MODE_Pos
1718 #define TCPWM_GRP_CNT_V2_CTRL_MODE_Msk          TCPWM_GRP_CNT_CTRL_MODE_Msk
1719 #define TCPWM_GRP_CNT_V2_CTRL_DBG_FREEZE_EN_Pos TCPWM_GRP_CNT_CTRL_DBG_FREEZE_EN_Pos
1720 #define TCPWM_GRP_CNT_V2_CTRL_DBG_FREEZE_EN_Msk TCPWM_GRP_CNT_CTRL_DBG_FREEZE_EN_Msk
1721 #define TCPWM_GRP_CNT_V2_CTRL_ENABLED_Pos       TCPWM_GRP_CNT_CTRL_ENABLED_Pos
1722 #define TCPWM_GRP_CNT_V2_CTRL_ENABLED_Msk       TCPWM_GRP_CNT_CTRL_ENABLED_Msk
1723 /* TCPWM_GRP_CNT.STATUS */
1724 #define TCPWM_GRP_CNT_V2_STATUS_DOWN_Pos        TCPWM_GRP_CNT_STATUS_DOWN_Pos
1725 #define TCPWM_GRP_CNT_V2_STATUS_DOWN_Msk        TCPWM_GRP_CNT_STATUS_DOWN_Msk
1726 #define TCPWM_GRP_CNT_V2_STATUS_TR_CAPTURE0_Pos TCPWM_GRP_CNT_STATUS_TR_CAPTURE0_Pos
1727 #define TCPWM_GRP_CNT_V2_STATUS_TR_CAPTURE0_Msk TCPWM_GRP_CNT_STATUS_TR_CAPTURE0_Msk
1728 #define TCPWM_GRP_CNT_V2_STATUS_TR_COUNT_Pos    TCPWM_GRP_CNT_STATUS_TR_COUNT_Pos
1729 #define TCPWM_GRP_CNT_V2_STATUS_TR_COUNT_Msk    TCPWM_GRP_CNT_STATUS_TR_COUNT_Msk
1730 #define TCPWM_GRP_CNT_V2_STATUS_TR_RELOAD_Pos   TCPWM_GRP_CNT_STATUS_TR_RELOAD_Pos
1731 #define TCPWM_GRP_CNT_V2_STATUS_TR_RELOAD_Msk   TCPWM_GRP_CNT_STATUS_TR_RELOAD_Msk
1732 #define TCPWM_GRP_CNT_V2_STATUS_TR_STOP_Pos     TCPWM_GRP_CNT_STATUS_TR_STOP_Pos
1733 #define TCPWM_GRP_CNT_V2_STATUS_TR_STOP_Msk     TCPWM_GRP_CNT_STATUS_TR_STOP_Msk
1734 #define TCPWM_GRP_CNT_V2_STATUS_TR_START_Pos    TCPWM_GRP_CNT_STATUS_TR_START_Pos
1735 #define TCPWM_GRP_CNT_V2_STATUS_TR_START_Msk    TCPWM_GRP_CNT_STATUS_TR_START_Msk
1736 #define TCPWM_GRP_CNT_V2_STATUS_TR_CAPTURE1_Pos TCPWM_GRP_CNT_STATUS_TR_CAPTURE1_Pos
1737 #define TCPWM_GRP_CNT_V2_STATUS_TR_CAPTURE1_Msk TCPWM_GRP_CNT_STATUS_TR_CAPTURE1_Msk
1738 #define TCPWM_GRP_CNT_V2_STATUS_LINE_OUT_Pos    TCPWM_GRP_CNT_STATUS_LINE_OUT_Pos
1739 #define TCPWM_GRP_CNT_V2_STATUS_LINE_OUT_Msk    TCPWM_GRP_CNT_STATUS_LINE_OUT_Msk
1740 #define TCPWM_GRP_CNT_V2_STATUS_LINE_COMPL_OUT_Pos TCPWM_GRP_CNT_STATUS_LINE_COMPL_OUT_Pos
1741 #define TCPWM_GRP_CNT_V2_STATUS_LINE_COMPL_OUT_Msk TCPWM_GRP_CNT_STATUS_LINE_COMPL_OUT_Msk
1742 #define TCPWM_GRP_CNT_V2_STATUS_RUNNING_Pos     TCPWM_GRP_CNT_STATUS_RUNNING_Pos
1743 #define TCPWM_GRP_CNT_V2_STATUS_RUNNING_Msk     TCPWM_GRP_CNT_STATUS_RUNNING_Msk
1744 #define TCPWM_GRP_CNT_V2_STATUS_DT_CNT_L_Pos    TCPWM_GRP_CNT_STATUS_DT_CNT_L_Pos
1745 #define TCPWM_GRP_CNT_V2_STATUS_DT_CNT_L_Msk    TCPWM_GRP_CNT_STATUS_DT_CNT_L_Msk
1746 #define TCPWM_GRP_CNT_V2_STATUS_DT_CNT_H_Pos    TCPWM_GRP_CNT_STATUS_DT_CNT_H_Pos
1747 #define TCPWM_GRP_CNT_V2_STATUS_DT_CNT_H_Msk    TCPWM_GRP_CNT_STATUS_DT_CNT_H_Msk
1748 /* TCPWM_GRP_CNT.COUNTER */
1749 #define TCPWM_GRP_CNT_V2_COUNTER_COUNTER_Pos    TCPWM_GRP_CNT_COUNTER_COUNTER_Pos
1750 #define TCPWM_GRP_CNT_V2_COUNTER_COUNTER_Msk    TCPWM_GRP_CNT_COUNTER_COUNTER_Msk
1751 /* TCPWM_GRP_CNT.CC0 */
1752 #define TCPWM_GRP_CNT_V2_CC0_CC_Pos             TCPWM_GRP_CNT_CC0_CC_Pos
1753 #define TCPWM_GRP_CNT_V2_CC0_CC_Msk             TCPWM_GRP_CNT_CC0_CC_Msk
1754 /* TCPWM_GRP_CNT.CC0_BUFF */
1755 #define TCPWM_GRP_CNT_V2_CC0_BUFF_CC_Pos        TCPWM_GRP_CNT_CC0_BUFF_CC_Pos
1756 #define TCPWM_GRP_CNT_V2_CC0_BUFF_CC_Msk        TCPWM_GRP_CNT_CC0_BUFF_CC_Msk
1757 /* TCPWM_GRP_CNT.CC1 */
1758 #define TCPWM_GRP_CNT_V2_CC1_CC_Pos             TCPWM_GRP_CNT_CC1_CC_Pos
1759 #define TCPWM_GRP_CNT_V2_CC1_CC_Msk             TCPWM_GRP_CNT_CC1_CC_Msk
1760 /* TCPWM_GRP_CNT.CC1_BUFF */
1761 #define TCPWM_GRP_CNT_V2_CC1_BUFF_CC_Pos        TCPWM_GRP_CNT_CC1_BUFF_CC_Pos
1762 #define TCPWM_GRP_CNT_V2_CC1_BUFF_CC_Msk        TCPWM_GRP_CNT_CC1_BUFF_CC_Msk
1763 /* TCPWM_GRP_CNT.PERIOD */
1764 #define TCPWM_GRP_CNT_V2_PERIOD_PERIOD_Pos      TCPWM_GRP_CNT_PERIOD_PERIOD_Pos
1765 #define TCPWM_GRP_CNT_V2_PERIOD_PERIOD_Msk      TCPWM_GRP_CNT_PERIOD_PERIOD_Msk
1766 /* TCPWM_GRP_CNT.PERIOD_BUFF */
1767 #define TCPWM_GRP_CNT_V2_PERIOD_BUFF_PERIOD_Pos TCPWM_GRP_CNT_PERIOD_BUFF_PERIOD_Pos
1768 #define TCPWM_GRP_CNT_V2_PERIOD_BUFF_PERIOD_Msk TCPWM_GRP_CNT_PERIOD_BUFF_PERIOD_Msk
1769 /* TCPWM_GRP_CNT.LINE_SEL */
1770 #define TCPWM_GRP_CNT_V2_LINE_SEL_OUT_SEL_Pos   TCPWM_GRP_CNT_LINE_SEL_OUT_SEL_Pos
1771 #define TCPWM_GRP_CNT_V2_LINE_SEL_OUT_SEL_Msk   TCPWM_GRP_CNT_LINE_SEL_OUT_SEL_Msk
1772 #define TCPWM_GRP_CNT_V2_LINE_SEL_COMPL_OUT_SEL_Pos TCPWM_GRP_CNT_LINE_SEL_COMPL_OUT_SEL_Pos
1773 #define TCPWM_GRP_CNT_V2_LINE_SEL_COMPL_OUT_SEL_Msk TCPWM_GRP_CNT_LINE_SEL_COMPL_OUT_SEL_Msk
1774 /* TCPWM_GRP_CNT.LINE_SEL_BUFF */
1775 #define TCPWM_GRP_CNT_V2_LINE_SEL_BUFF_OUT_SEL_Pos TCPWM_GRP_CNT_LINE_SEL_BUFF_OUT_SEL_Pos
1776 #define TCPWM_GRP_CNT_V2_LINE_SEL_BUFF_OUT_SEL_Msk TCPWM_GRP_CNT_LINE_SEL_BUFF_OUT_SEL_Msk
1777 #define TCPWM_GRP_CNT_V2_LINE_SEL_BUFF_COMPL_OUT_SEL_Pos TCPWM_GRP_CNT_LINE_SEL_BUFF_COMPL_OUT_SEL_Pos
1778 #define TCPWM_GRP_CNT_V2_LINE_SEL_BUFF_COMPL_OUT_SEL_Msk TCPWM_GRP_CNT_LINE_SEL_BUFF_COMPL_OUT_SEL_Msk
1779 /* TCPWM_GRP_CNT.DT */
1780 #define TCPWM_GRP_CNT_V2_DT_DT_LINE_OUT_L_Pos   TCPWM_GRP_CNT_DT_DT_LINE_OUT_L_Pos
1781 #define TCPWM_GRP_CNT_V2_DT_DT_LINE_OUT_L_Msk   TCPWM_GRP_CNT_DT_DT_LINE_OUT_L_Msk
1782 #define TCPWM_GRP_CNT_V2_DT_DT_LINE_OUT_H_Pos   TCPWM_GRP_CNT_DT_DT_LINE_OUT_H_Pos
1783 #define TCPWM_GRP_CNT_V2_DT_DT_LINE_OUT_H_Msk   TCPWM_GRP_CNT_DT_DT_LINE_OUT_H_Msk
1784 #define TCPWM_GRP_CNT_V2_DT_DT_LINE_COMPL_OUT_Pos TCPWM_GRP_CNT_DT_DT_LINE_COMPL_OUT_Pos
1785 #define TCPWM_GRP_CNT_V2_DT_DT_LINE_COMPL_OUT_Msk TCPWM_GRP_CNT_DT_DT_LINE_COMPL_OUT_Msk
1786 /* TCPWM_GRP_CNT.TR_CMD */
1787 #define TCPWM_GRP_CNT_V2_TR_CMD_CAPTURE0_Pos    TCPWM_GRP_CNT_TR_CMD_CAPTURE0_Pos
1788 #define TCPWM_GRP_CNT_V2_TR_CMD_CAPTURE0_Msk    TCPWM_GRP_CNT_TR_CMD_CAPTURE0_Msk
1789 #define TCPWM_GRP_CNT_V2_TR_CMD_RELOAD_Pos      TCPWM_GRP_CNT_TR_CMD_RELOAD_Pos
1790 #define TCPWM_GRP_CNT_V2_TR_CMD_RELOAD_Msk      TCPWM_GRP_CNT_TR_CMD_RELOAD_Msk
1791 #define TCPWM_GRP_CNT_V2_TR_CMD_STOP_Pos        TCPWM_GRP_CNT_TR_CMD_STOP_Pos
1792 #define TCPWM_GRP_CNT_V2_TR_CMD_STOP_Msk        TCPWM_GRP_CNT_TR_CMD_STOP_Msk
1793 #define TCPWM_GRP_CNT_V2_TR_CMD_START_Pos       TCPWM_GRP_CNT_TR_CMD_START_Pos
1794 #define TCPWM_GRP_CNT_V2_TR_CMD_START_Msk       TCPWM_GRP_CNT_TR_CMD_START_Msk
1795 #define TCPWM_GRP_CNT_V2_TR_CMD_CAPTURE1_Pos    TCPWM_GRP_CNT_TR_CMD_CAPTURE1_Pos
1796 #define TCPWM_GRP_CNT_V2_TR_CMD_CAPTURE1_Msk    TCPWM_GRP_CNT_TR_CMD_CAPTURE1_Msk
1797 /* TCPWM_GRP_CNT.TR_IN_SEL0 */
1798 #define TCPWM_GRP_CNT_V2_TR_IN_SEL0_CAPTURE0_SEL_Pos TCPWM_GRP_CNT_TR_IN_SEL0_CAPTURE0_SEL_Pos
1799 #define TCPWM_GRP_CNT_V2_TR_IN_SEL0_CAPTURE0_SEL_Msk TCPWM_GRP_CNT_TR_IN_SEL0_CAPTURE0_SEL_Msk
1800 #define TCPWM_GRP_CNT_V2_TR_IN_SEL0_COUNT_SEL_Pos TCPWM_GRP_CNT_TR_IN_SEL0_COUNT_SEL_Pos
1801 #define TCPWM_GRP_CNT_V2_TR_IN_SEL0_COUNT_SEL_Msk TCPWM_GRP_CNT_TR_IN_SEL0_COUNT_SEL_Msk
1802 #define TCPWM_GRP_CNT_V2_TR_IN_SEL0_RELOAD_SEL_Pos TCPWM_GRP_CNT_TR_IN_SEL0_RELOAD_SEL_Pos
1803 #define TCPWM_GRP_CNT_V2_TR_IN_SEL0_RELOAD_SEL_Msk TCPWM_GRP_CNT_TR_IN_SEL0_RELOAD_SEL_Msk
1804 #define TCPWM_GRP_CNT_V2_TR_IN_SEL0_STOP_SEL_Pos TCPWM_GRP_CNT_TR_IN_SEL0_STOP_SEL_Pos
1805 #define TCPWM_GRP_CNT_V2_TR_IN_SEL0_STOP_SEL_Msk TCPWM_GRP_CNT_TR_IN_SEL0_STOP_SEL_Msk
1806 /* TCPWM_GRP_CNT.TR_IN_SEL1 */
1807 #define TCPWM_GRP_CNT_V2_TR_IN_SEL1_START_SEL_Pos TCPWM_GRP_CNT_TR_IN_SEL1_START_SEL_Pos
1808 #define TCPWM_GRP_CNT_V2_TR_IN_SEL1_START_SEL_Msk TCPWM_GRP_CNT_TR_IN_SEL1_START_SEL_Msk
1809 #define TCPWM_GRP_CNT_V2_TR_IN_SEL1_CAPTURE1_SEL_Pos TCPWM_GRP_CNT_TR_IN_SEL1_CAPTURE1_SEL_Pos
1810 #define TCPWM_GRP_CNT_V2_TR_IN_SEL1_CAPTURE1_SEL_Msk TCPWM_GRP_CNT_TR_IN_SEL1_CAPTURE1_SEL_Msk
1811 /* TCPWM_GRP_CNT.TR_IN_EDGE_SEL */
1812 #define TCPWM_GRP_CNT_V2_TR_IN_EDGE_SEL_CAPTURE0_EDGE_Pos TCPWM_GRP_CNT_TR_IN_EDGE_SEL_CAPTURE0_EDGE_Pos
1813 #define TCPWM_GRP_CNT_V2_TR_IN_EDGE_SEL_CAPTURE0_EDGE_Msk TCPWM_GRP_CNT_TR_IN_EDGE_SEL_CAPTURE0_EDGE_Msk
1814 #define TCPWM_GRP_CNT_V2_TR_IN_EDGE_SEL_COUNT_EDGE_Pos TCPWM_GRP_CNT_TR_IN_EDGE_SEL_COUNT_EDGE_Pos
1815 #define TCPWM_GRP_CNT_V2_TR_IN_EDGE_SEL_COUNT_EDGE_Msk TCPWM_GRP_CNT_TR_IN_EDGE_SEL_COUNT_EDGE_Msk
1816 #define TCPWM_GRP_CNT_V2_TR_IN_EDGE_SEL_RELOAD_EDGE_Pos TCPWM_GRP_CNT_TR_IN_EDGE_SEL_RELOAD_EDGE_Pos
1817 #define TCPWM_GRP_CNT_V2_TR_IN_EDGE_SEL_RELOAD_EDGE_Msk TCPWM_GRP_CNT_TR_IN_EDGE_SEL_RELOAD_EDGE_Msk
1818 #define TCPWM_GRP_CNT_V2_TR_IN_EDGE_SEL_STOP_EDGE_Pos TCPWM_GRP_CNT_TR_IN_EDGE_SEL_STOP_EDGE_Pos
1819 #define TCPWM_GRP_CNT_V2_TR_IN_EDGE_SEL_STOP_EDGE_Msk TCPWM_GRP_CNT_TR_IN_EDGE_SEL_STOP_EDGE_Msk
1820 #define TCPWM_GRP_CNT_V2_TR_IN_EDGE_SEL_START_EDGE_Pos TCPWM_GRP_CNT_TR_IN_EDGE_SEL_START_EDGE_Pos
1821 #define TCPWM_GRP_CNT_V2_TR_IN_EDGE_SEL_START_EDGE_Msk TCPWM_GRP_CNT_TR_IN_EDGE_SEL_START_EDGE_Msk
1822 #define TCPWM_GRP_CNT_V2_TR_IN_EDGE_SEL_CAPTURE1_EDGE_Pos TCPWM_GRP_CNT_TR_IN_EDGE_SEL_CAPTURE1_EDGE_Pos
1823 #define TCPWM_GRP_CNT_V2_TR_IN_EDGE_SEL_CAPTURE1_EDGE_Msk TCPWM_GRP_CNT_TR_IN_EDGE_SEL_CAPTURE1_EDGE_Msk
1824 /* TCPWM_GRP_CNT.TR_PWM_CTRL */
1825 #define TCPWM_GRP_CNT_V2_TR_PWM_CTRL_CC0_MATCH_MODE_Pos TCPWM_GRP_CNT_TR_PWM_CTRL_CC0_MATCH_MODE_Pos
1826 #define TCPWM_GRP_CNT_V2_TR_PWM_CTRL_CC0_MATCH_MODE_Msk TCPWM_GRP_CNT_TR_PWM_CTRL_CC0_MATCH_MODE_Msk
1827 #define TCPWM_GRP_CNT_V2_TR_PWM_CTRL_OVERFLOW_MODE_Pos TCPWM_GRP_CNT_TR_PWM_CTRL_OVERFLOW_MODE_Pos
1828 #define TCPWM_GRP_CNT_V2_TR_PWM_CTRL_OVERFLOW_MODE_Msk TCPWM_GRP_CNT_TR_PWM_CTRL_OVERFLOW_MODE_Msk
1829 #define TCPWM_GRP_CNT_V2_TR_PWM_CTRL_UNDERFLOW_MODE_Pos TCPWM_GRP_CNT_TR_PWM_CTRL_UNDERFLOW_MODE_Pos
1830 #define TCPWM_GRP_CNT_V2_TR_PWM_CTRL_UNDERFLOW_MODE_Msk TCPWM_GRP_CNT_TR_PWM_CTRL_UNDERFLOW_MODE_Msk
1831 #define TCPWM_GRP_CNT_V2_TR_PWM_CTRL_CC1_MATCH_MODE_Pos TCPWM_GRP_CNT_TR_PWM_CTRL_CC1_MATCH_MODE_Pos
1832 #define TCPWM_GRP_CNT_V2_TR_PWM_CTRL_CC1_MATCH_MODE_Msk TCPWM_GRP_CNT_TR_PWM_CTRL_CC1_MATCH_MODE_Msk
1833 /* TCPWM_GRP_CNT.TR_OUT_SEL */
1834 #define TCPWM_GRP_CNT_V2_TR_OUT_SEL_OUT0_Pos    TCPWM_GRP_CNT_TR_OUT_SEL_OUT0_Pos
1835 #define TCPWM_GRP_CNT_V2_TR_OUT_SEL_OUT0_Msk    TCPWM_GRP_CNT_TR_OUT_SEL_OUT0_Msk
1836 #define TCPWM_GRP_CNT_V2_TR_OUT_SEL_OUT1_Pos    TCPWM_GRP_CNT_TR_OUT_SEL_OUT1_Pos
1837 #define TCPWM_GRP_CNT_V2_TR_OUT_SEL_OUT1_Msk    TCPWM_GRP_CNT_TR_OUT_SEL_OUT1_Msk
1838 /* TCPWM_GRP_CNT.INTR */
1839 #define TCPWM_GRP_CNT_V2_INTR_TC_Pos            TCPWM_GRP_CNT_INTR_TC_Pos
1840 #define TCPWM_GRP_CNT_V2_INTR_TC_Msk            TCPWM_GRP_CNT_INTR_TC_Msk
1841 #define TCPWM_GRP_CNT_V2_INTR_CC0_MATCH_Pos     TCPWM_GRP_CNT_INTR_CC0_MATCH_Pos
1842 #define TCPWM_GRP_CNT_V2_INTR_CC0_MATCH_Msk     TCPWM_GRP_CNT_INTR_CC0_MATCH_Msk
1843 #define TCPWM_GRP_CNT_V2_INTR_CC1_MATCH_Pos     TCPWM_GRP_CNT_INTR_CC1_MATCH_Pos
1844 #define TCPWM_GRP_CNT_V2_INTR_CC1_MATCH_Msk     TCPWM_GRP_CNT_INTR_CC1_MATCH_Msk
1845 /* TCPWM_GRP_CNT.INTR_SET */
1846 #define TCPWM_GRP_CNT_V2_INTR_SET_TC_Pos        TCPWM_GRP_CNT_INTR_SET_TC_Pos
1847 #define TCPWM_GRP_CNT_V2_INTR_SET_TC_Msk        TCPWM_GRP_CNT_INTR_SET_TC_Msk
1848 #define TCPWM_GRP_CNT_V2_INTR_SET_CC0_MATCH_Pos TCPWM_GRP_CNT_INTR_SET_CC0_MATCH_Pos
1849 #define TCPWM_GRP_CNT_V2_INTR_SET_CC0_MATCH_Msk TCPWM_GRP_CNT_INTR_SET_CC0_MATCH_Msk
1850 #define TCPWM_GRP_CNT_V2_INTR_SET_CC1_MATCH_Pos TCPWM_GRP_CNT_INTR_SET_CC1_MATCH_Pos
1851 #define TCPWM_GRP_CNT_V2_INTR_SET_CC1_MATCH_Msk TCPWM_GRP_CNT_INTR_SET_CC1_MATCH_Msk
1852 /* TCPWM_GRP_CNT.INTR_MASK */
1853 #define TCPWM_GRP_CNT_V2_INTR_MASK_TC_Pos       TCPWM_GRP_CNT_INTR_MASK_TC_Pos
1854 #define TCPWM_GRP_CNT_V2_INTR_MASK_TC_Msk       TCPWM_GRP_CNT_INTR_MASK_TC_Msk
1855 #define TCPWM_GRP_CNT_V2_INTR_MASK_CC0_MATCH_Pos TCPWM_GRP_CNT_INTR_MASK_CC0_MATCH_Pos
1856 #define TCPWM_GRP_CNT_V2_INTR_MASK_CC0_MATCH_Msk TCPWM_GRP_CNT_INTR_MASK_CC0_MATCH_Msk
1857 #define TCPWM_GRP_CNT_V2_INTR_MASK_CC1_MATCH_Pos TCPWM_GRP_CNT_INTR_MASK_CC1_MATCH_Pos
1858 #define TCPWM_GRP_CNT_V2_INTR_MASK_CC1_MATCH_Msk TCPWM_GRP_CNT_INTR_MASK_CC1_MATCH_Msk
1859 /* TCPWM_GRP_CNT.INTR_MASKED */
1860 #define TCPWM_GRP_CNT_V2_INTR_MASKED_TC_Pos     TCPWM_GRP_CNT_INTR_MASKED_TC_Pos
1861 #define TCPWM_GRP_CNT_V2_INTR_MASKED_TC_Msk     TCPWM_GRP_CNT_INTR_MASKED_TC_Msk
1862 #define TCPWM_GRP_CNT_V2_INTR_MASKED_CC0_MATCH_Pos TCPWM_GRP_CNT_INTR_MASKED_CC0_MATCH_Pos
1863 #define TCPWM_GRP_CNT_V2_INTR_MASKED_CC0_MATCH_Msk TCPWM_GRP_CNT_INTR_MASKED_CC0_MATCH_Msk
1864 #define TCPWM_GRP_CNT_V2_INTR_MASKED_CC1_MATCH_Pos TCPWM_GRP_CNT_INTR_MASKED_CC1_MATCH_Pos
1865 #define TCPWM_GRP_CNT_V2_INTR_MASKED_CC1_MATCH_Msk TCPWM_GRP_CNT_INTR_MASKED_CC1_MATCH_Msk
1866 
1867 /* For backward compatibility, we set TCPWM_CNT_STATUS_RUNNING_Pos with TCPWM_GRP_CNT_V2_STATUS_RUNNING
1868 we need to define this for version 2 only. */
1869 #define TCPWM_CNT_STATUS_RUNNING_Pos 31UL
1870 #endif
1871 
1872 #if (CY_IP_MXTCPWM_VERSION >= 3U)
1873 #define TCPWM_GRP_CNT_V3_CTRL_SWAP_ENABLED_Pos   TCPWM_GRP_CNT_CTRL_SWAP_ENABLE_Pos
1874 #define TCPWM_GRP_CNT_V3_CTRL_SWAP_ENABLED_Msk   TCPWM_GRP_CNT_CTRL_SWAP_ENABLE_Msk
1875 #define TCPWM_GRP_CNT_V3_CTRL_DITHEREN_Pos       TCPWM_GRP_CNT_CTRL_DITHEREN_Pos
1876 #define TCPWM_GRP_CNT_V3_CTRL_DITHEREN_Msk       TCPWM_GRP_CNT_CTRL_DITHEREN_Msk
1877 
1878 #define TCPWM_GRP_CNT_V3_LFSR_PLFSR_Pos          TCPWM_GRP_CNT_LFSR_PLFSR_Pos
1879 #define TCPWM_GRP_CNT_V3_LFSR_PLFSR_Msk          TCPWM_GRP_CNT_LFSR_PLFSR_Msk
1880 #define TCPWM_GRP_CNT_V3_LFSR_DLFSR_Pos          TCPWM_GRP_CNT_LFSR_DLFSR_Pos
1881 #define TCPWM_GRP_CNT_V3_LFSR_DLFSR_Msk          TCPWM_GRP_CNT_LFSR_DLFSR_Msk
1882 #define TCPWM_GRP_CNT_V3_LFSR_LIMITER_Pos        TCPWM_GRP_CNT_LFSR_LIMITER_Pos
1883 #define TCPWM_GRP_CNT_V3_LFSR_LIMITER_Msk        TCPWM_GRP_CNT_LFSR_LIMITER_Msk
1884 
1885 #define TCPWM_GRP_CNT_V3_ONE_GF_GF_DEPTH_Pos     TCPWM_GRP_CNT_ONE_GF_GF_DEPTH_Pos
1886 #define TCPWM_GRP_CNT_V3_ONE_GF_GF_DEPTH_Msk     TCPWM_GRP_CNT_ONE_GF_GF_DEPTH_Msk
1887 #define TCPWM_GRP_CNT_V3_ONE_GF_GFPS_DIV_Pos     TCPWM_GRP_CNT_ONE_GF_GFPS_DIV_Pos
1888 #define TCPWM_GRP_CNT_V3_ONE_GF_GFPS_DIV_Msk     TCPWM_GRP_CNT_ONE_GF_GFPS_DIV_Msk
1889 
1890 #define GRP0_DITHERING TCPWM_GRP_NR0_CNT_GRP_DITHERING_PRESENT
1891 #define GRP1_DITHERING TCPWM_GRP_NR1_CNT_GRP_DITHERING_PRESENT
1892 #define GRP2_DITHERING TCPWM_GRP_NR2_CNT_GRP_DITHERING_PRESENT
1893 #define TCPWM_GRP_DITHERING_PRESENT(grp) (((grp) == 0U)? GRP0_DITHERING : (((grp) == 1U)? GRP1_DITHERING : GRP2_DITHERING))
1894 
1895 #define GRP0_HRPWM TCPWM_GRP_NR0_CNT_GRP_HRPWM_PRESENT
1896 #define GRP1_HRPWM TCPWM_GRP_NR1_CNT_GRP_HRPWM_PRESENT
1897 #define GRP2_HRPWM TCPWM_GRP_NR2_CNT_GRP_HRPWM_PRESENT
1898 #define TCPWM_GRP_HRPWM_PRESENT(grp) (((grp) == 0U)? GRP0_HRPWM : (((grp) == 1U)? GRP1_HRPWM : GRP2_HRPWM))
1899 
1900 #define GRP0_DATA_IN_CC_PRESENT TCPWM_GRP_NR0_CNT_GRP_DATA_IN_CC_PRESENT
1901 #define GRP1_DATA_IN_CC_PRESENT TCPWM_GRP_NR1_CNT_GRP_DATA_IN_CC_PRESENT
1902 #define GRP2_DATA_IN_CC_PRESENT TCPWM_GRP_NR2_CNT_GRP_DATA_IN_CC_PRESENT
1903 #define TCPWM_DATA_IN_CC_PRESENT(grp) (((grp) == 0U)? GRP0_DATA_IN_CC_PRESENT : (((grp) == 1U)? GRP1_DATA_IN_CC_PRESENT : GRP2_DATA_IN_CC_PRESENT))
1904 
1905 #define TCPWM_GRP_CNT_LFSR(base, grp, cntNum)        (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].LFSR)
1906 #define TCPWM_GRP_CNT_ONE_GF(base, grp, cntNum, onetoone_gf)      (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].ONE_GF[onetoone_gf])
1907 #define TCPWM_GF_FOR_GROUP_TRIGGER(base, gfNum)      (((TCPWM_Type *)(base))->TR_ALL_GF.ALL_GF[((gfNum) % 254U)])
1908 #define TCPWM_GRP_CNT_HRPWM_CTRL(base, grp, cntNum)  (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].HRPWM_CTRL)
1909 #define TCPWM_GRP_CNT_DT_BUFF(base, grp, cntNum)     (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].DT_BUFF)
1910 #define TCPWM_GRP_CNT_PS(base, grp, cntNum)     (((TCPWM_Type *)(base))->GRP[grp].CNT[((cntNum) % 256U)].PS)
1911 /* MOTIF */
1912 
1913 #define TCPWM_MOTIF_PCONF(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->PCONF)
1914 #define TCPWM_MOTIF_PSUS(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->PSUS)
1915 #define TCPWM_MOTIF_PRUNS(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->PRUNS)
1916 #define TCPWM_MOTIF_PRUN(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->PRUN)
1917 #define TCPWM_MOTIF_MDR(base)                 (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MDR)
1918 #define TCPWM_MOTIF_HIST(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->HIST)
1919 #define TCPWM_MOTIF_HMEC(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->HMEC)
1920 #define TCPWM_MOTIF_HALP(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->HALP)
1921 #define TCPWM_MOTIF_HALPS(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->HALPS)
1922 #define TCPWM_MOTIF_HOSC(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->HOSC)
1923 #define TCPWM_MOTIF_MCM(base)                 (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MCM)
1924 #define TCPWM_MOTIF_MCSM(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MCSM)
1925 #define TCPWM_MOTIF_MCMS(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MCMS)
1926 #define TCPWM_MOTIF_MCMC(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MCMC)
1927 #define TCPWM_MOTIF_MCMF(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MCMF)
1928 #define TCPWM_MOTIF_MCPF(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MCPF)
1929 #define TCPWM_MOTIF_MOSC(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MOSC)
1930 #define TCPWM_MOTIF_QDC(base)                 (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->QDC)
1931 #define TCPWM_MOTIF_QOSC(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->QOSC)
1932 #define TCPWM_MOTIF_MCMEC(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MCMEC)
1933 #define TCPWM_MOTIF_PFLG(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->PFLG)
1934 #define TCPWM_MOTIF_PFLGE(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->PFLGE)
1935 #define TCPWM_MOTIF_SPFLG(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->SPFLG)
1936 #define TCPWM_MOTIF_RPFLG(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->RPFLG)
1937 #define TCPWM_MOTIF_MCSM1(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MCSM1)
1938 #define TCPWM_MOTIF_MCSM2(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MCSM2)
1939 #define TCPWM_MOTIF_MCSM3(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MCSM3)
1940 #define TCPWM_MOTIF_MCSM4(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MCSM4)
1941 #define TCPWM_MOTIF_MCSM5(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->MCSM5)
1942 #define TCPWM_MOTIF_CLUT(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->CLUT)
1943 #define TCPWM_MOTIF_SLUT(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->SLUT)
1944 #define TCPWM_MOTIF_PDBG(base)                (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->PDBG)
1945 #define TCPWM_MOTIF_PLP0S(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->PLP0S)
1946 #define TCPWM_MOTIF_PLP1S(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->PLP1S)
1947 #define TCPWM_MOTIF_PLP2S(base)               (((TCPWM_MOTIF_GRP_MOTIF_Type *)(base))->PLP2S)
1948 
1949 #ifndef TCPWM_TR_ONE_CNT_NR
1950 #define TCPWM_TR_ONE_CNT_NR TCPWM_CNT_TR_ONE_CNT_NR
1951 #endif
1952 #endif /* CY_IP_MXTCPWM_VERSION >= 3U */
1953 /*******************************************************************************
1954 *               TDM
1955 *******************************************************************************/
1956 
1957 #define TDM_STRUCT_Type                                TDM_TDM_STRUCT_Type
1958 #define TDM_TX_STRUCT_Type                            TDM_TDM_STRUCT_TDM_TX_STRUCT_Type
1959 #define TDM_RX_STRUCT_Type                            TDM_TDM_STRUCT_TDM_RX_STRUCT_Type
1960 #define TDM_STRUCT0                                 TDM0_TDM_STRUCT0
1961 #define TDM_STRUCT1                                 TDM0_TDM_STRUCT1
1962 #define TDM_STRUCT0_TX                                TDM0_TDM_STRUCT0_TDM_TX_STRUCT
1963 #define TDM_STRUCT1_TX                                TDM0_TDM_STRUCT1_TDM_TX_STRUCT
1964 #define TDM_STRUCT0_RX                                TDM0_TDM_STRUCT0_TDM_RX_STRUCT
1965 #define TDM_STRUCT1_RX                                TDM0_TDM_STRUCT1_TDM_RX_STRUCT
1966 #define TDM_STRUCT_TX_CTL(base)                     (((TDM_TDM_STRUCT_TDM_TX_STRUCT_Type *)(base))->TX_CTL)
1967 #define TDM_STRUCT_TX_IF_CTL(base)                     (((TDM_TDM_STRUCT_TDM_TX_STRUCT_Type *)(base))->TX_IF_CTL)
1968 #define TDM_STRUCT_TX_CH_CTL(base)                     (((TDM_TDM_STRUCT_TDM_TX_STRUCT_Type *)(base))->TX_CH_CTL)
1969 #define TDM_STRUCT_TX_TEST_CTL(base)                 (((TDM_TDM_STRUCT_TDM_TX_STRUCT_Type *)(base))->TX_TEST_CTL)
1970 #define TDM_STRUCT_TX_ROUTE_CTL(base)                 (((TDM_TDM_STRUCT_TDM_TX_STRUCT_Type *)(base))->TX_ROUTE_CTL)
1971 #define TDM_STRUCT_TX_FIFO_CTL(base)                 (((TDM_TDM_STRUCT_TDM_TX_STRUCT_Type *)(base))->TX_FIFO_CTL)
1972 #define TDM_STRUCT_TX_FIFO_STATUS(base)             (((TDM_TDM_STRUCT_TDM_TX_STRUCT_Type *)(base))->TX_FIFO_STATUS)
1973 #define TDM_STRUCT_TX_FIFO_WR(base)                 (((TDM_TDM_STRUCT_TDM_TX_STRUCT_Type *)(base))->TX_FIFO_WR)
1974 #define TDM_STRUCT_TX_INTR_TX(base)                 (((TDM_TDM_STRUCT_TDM_TX_STRUCT_Type *)(base))->INTR_TX)
1975 #define TDM_STRUCT_TX_INTR_TX_SET(base)             (((TDM_TDM_STRUCT_TDM_TX_STRUCT_Type *)(base))->INTR_TX_SET)
1976 #define TDM_STRUCT_TX_INTR_TX_MASK(base)             (((TDM_TDM_STRUCT_TDM_TX_STRUCT_Type *)(base))->INTR_TX_MASK)
1977 #define TDM_STRUCT_TX_INTR_TX_MASKED(base)             (((TDM_TDM_STRUCT_TDM_TX_STRUCT_Type *)(base))->INTR_TX_MASKED)
1978 
1979 #define TDM_STRUCT_RX_CTL(base)                     (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->RX_CTL)
1980 #define TDM_STRUCT_RX_IF_CTL(base)                     (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->RX_IF_CTL)
1981 #define TDM_STRUCT_RX_CH_CTL(base)                     (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->RX_CH_CTL)
1982 #define TDM_STRUCT_RX_TEST_CTL(base)                 (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->RX_TEST_CTL)
1983 #define TDM_STRUCT_RX_ROUTE_CTL(base)                 (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->RX_ROUTE_CTL)
1984 #define TDM_STRUCT_RX_FIFO_CTL(base)                 (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->RX_FIFO_CTL)
1985 #define TDM_STRUCT_RX_FIFO_STATUS(base)             (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->RX_FIFO_STATUS)
1986 #define TDM_STRUCT_RX_FIFO_RD(base)                 (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->RX_FIFO_RD)
1987 #define TDM_STRUCT_RX_FIFO_RD_SILENT(base)             (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->RX_FIFO_RD_SILENT)
1988 #define TDM_STRUCT_RX_INTR_RX(base)                 (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->INTR_RX)
1989 #define TDM_STRUCT_RX_INTR_RX_SET(base)             (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->INTR_RX_SET)
1990 #define TDM_STRUCT_RX_INTR_RX_MASK(base)             (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->INTR_RX_MASK)
1991 #define TDM_STRUCT_RX_INTR_RX_MASKED(base)             (((TDM_TDM_STRUCT_TDM_RX_STRUCT_Type *)(base))->INTR_RX_MASKED)
1992 
1993 
1994 /*******************************************************************************
1995 *                PDM
1996 *******************************************************************************/
1997 
1998 #define PDM_PCM_CTL(base)                               (((PDM_Type*)(base))->CTL)
1999 #define PDM_PCM_CTL_CLR(base)                           (((PDM_Type*)(base))->CTL_CLR)
2000 #define PDM_PCM_CTL_SET(base)                           (((PDM_Type*)(base))->CTL_SET)
2001 #define PDM_PCM_CLOCK_CTL(base)                           (((PDM_Type*)(base))->CLOCK_CTL)
2002 #define PDM_PCM_ROUTE_CTL(base)                           (((PDM_Type*)(base))->ROUTE_CTL)
2003 #define PDM_PCM_TEST_CTL(base)                           (((PDM_Type*)(base))->TEST_CTL)
2004 #define PDM_PCM_FIR0_COEFF0(base)                       (((PDM_Type*)(base))->FIR0_COEFF0)
2005 #define PDM_PCM_FIR0_COEFF1(base)                       (((PDM_Type*)(base))->FIR0_COEFF1)
2006 #define PDM_PCM_FIR0_COEFF2(base)                       (((PDM_Type*)(base))->FIR0_COEFF2)
2007 #define PDM_PCM_FIR0_COEFF3(base)                       (((PDM_Type*)(base))->FIR0_COEFF3)
2008 #define PDM_PCM_FIR0_COEFF4(base)                       (((PDM_Type*)(base))->FIR0_COEFF4)
2009 #define PDM_PCM_FIR0_COEFF5(base)                       (((PDM_Type*)(base))->FIR0_COEFF5)
2010 #define PDM_PCM_FIR0_COEFF6(base)                       (((PDM_Type*)(base))->FIR0_COEFF6)
2011 #define PDM_PCM_FIR0_COEFF7(base)                       (((PDM_Type*)(base))->FIR0_COEFF7)
2012 
2013 #define PDM_PCM_FIR1_COEFF0(base)                       (((PDM_Type*)(base))->FIR1_COEFF0)
2014 #define PDM_PCM_FIR1_COEFF1(base)                       (((PDM_Type*)(base))->FIR1_COEFF1)
2015 #define PDM_PCM_FIR1_COEFF2(base)                       (((PDM_Type*)(base))->FIR1_COEFF2)
2016 #define PDM_PCM_FIR1_COEFF3(base)                       (((PDM_Type*)(base))->FIR1_COEFF3)
2017 #define PDM_PCM_FIR1_COEFF4(base)                       (((PDM_Type*)(base))->FIR1_COEFF4)
2018 #define PDM_PCM_FIR1_COEFF5(base)                       (((PDM_Type*)(base))->FIR1_COEFF5)
2019 #define PDM_PCM_FIR1_COEFF6(base)                       (((PDM_Type*)(base))->FIR1_COEFF6)
2020 #define PDM_PCM_FIR1_COEFF7(base)                       (((PDM_Type*)(base))->FIR1_COEFF7)
2021 #define PDM_PCM_FIR1_COEFF8(base)                       (((PDM_Type*)(base))->FIR1_COEFF8)
2022 #define PDM_PCM_FIR1_COEFF9(base)                       (((PDM_Type*)(base))->FIR1_COEFF9)
2023 #define PDM_PCM_FIR1_COEFF10(base)                       (((PDM_Type*)(base))->FIR1_COEFF10)
2024 #define PDM_PCM_FIR1_COEFF11(base)                       (((PDM_Type*)(base))->FIR1_COEFF11)
2025 #define PDM_PCM_FIR1_COEFF12(base)                       (((PDM_Type*)(base))->FIR1_COEFF12)
2026 #define PDM_PCM_FIR1_COEFF13(base)                       (((PDM_Type*)(base))->FIR1_COEFF13)
2027 
2028 
2029 #define PDM_PCM_CH_CTL(base, chnum)                   (((PDM_Type*)(base))->CH[chnum].CTL)
2030 #define PDM_PCM_CH_IF_CTL(base, chnum)                   (((PDM_Type*)(base))->CH[chnum].IF_CTL)
2031 #define PDM_PCM_CH_CIC_CTL(base, chnum)               (((PDM_Type*)(base))->CH[chnum].CIC_CTL)
2032 #define PDM_PCM_CH_FIR0_CTL(base, chnum)              (((PDM_Type*)(base))->CH[chnum].FIR0_CTL)
2033 #define PDM_PCM_CH_FIR1_CTL(base, chnum)              (((PDM_Type*)(base))->CH[chnum].FIR1_CTL)
2034 #define PDM_PCM_CH_DC_BLOCK_CTL(base, chnum)          (((PDM_Type*)(base))->CH[chnum].DC_BLOCK_CTL)
2035 #define PDM_PCM_INTR_RX_MASK(base, chnum)             (((PDM_Type*)(base))->CH[chnum].INTR_RX_MASK)
2036 #define PDM_PCM_INTR_RX_MASKED(base, chnum)           (((PDM_Type*)(base))->CH[chnum].INTR_RX_MASKED)
2037 #define PDM_PCM_INTR_RX(base, chnum)                  (((PDM_Type*)(base))->CH[chnum].INTR_RX)
2038 #define PDM_PCM_INTR_RX_SET(base, chnum)              (((PDM_Type*)(base))->CH[chnum].INTR_RX_SET)
2039 #define PDM_PCM_RX_FIFO_STATUS(base, chnum)              (((PDM_Type*)(base))->CH[chnum].RX_FIFO_STATUS)
2040 #define PDM_PCM_RX_FIFO_CTL(base, chnum)                 (((PDM_Type*)(base))->CH[chnum].RX_FIFO_CTL)
2041 #define PDM_PCM_RX_FIFO_RD(base, chnum)                  (((PDM_Type*)(base))->CH[chnum].RX_FIFO_RD)
2042 #define PDM_PCM_RX_FIFO_RD_SILENT(base, chnum)           (((PDM_Type*)(base))->CH[chnum].RX_FIFO_RD_SILENT)
2043 
2044 
2045 /*******************************************************************************
2046 *                BACKUP
2047 *******************************************************************************/
2048 
2049 #if defined (CY_IP_MXS28SRSS)
2050 #define BACKUP_RTC_RW                       (((BACKUP_Type *) BACKUP)->RTC_RW)
2051 #define BACKUP_CAL_CTL                      (((BACKUP_Type *) BACKUP)->CAL_CTL)
2052 #define BACKUP_STATUS                       (((BACKUP_Type *) BACKUP)->STATUS)
2053 #define BACKUP_RTC_TIME                     (((BACKUP_Type *) BACKUP)->RTC_TIME)
2054 #define BACKUP_RTC_DATE                     (((BACKUP_Type *) BACKUP)->RTC_DATE)
2055 #define BACKUP_ALM1_TIME                    (((BACKUP_Type *) BACKUP)->ALM1_TIME)
2056 #define BACKUP_ALM1_DATE                    (((BACKUP_Type *) BACKUP)->ALM1_DATE)
2057 #define BACKUP_ALM2_TIME                    (((BACKUP_Type *) BACKUP)->ALM2_TIME)
2058 #define BACKUP_ALM2_DATE                    (((BACKUP_Type *) BACKUP)->ALM2_DATE)
2059 #define BACKUP_INTR                         (((BACKUP_Type *) BACKUP)->INTR)
2060 #define BACKUP_INTR_SET                     (((BACKUP_Type *) BACKUP)->INTR_SET)
2061 #define BACKUP_INTR_MASK                    (((BACKUP_Type *) BACKUP)->INTR_MASK)
2062 #define BACKUP_INTR_MASKED                  (((BACKUP_Type *) BACKUP)->INTR_MASKED)
2063 #define BACKUP_RESET                        (((BACKUP_Type *) BACKUP)->RESET)
2064 #define BACKUP_CTL                          (((BACKUP_Type *) BACKUP)->CTL)
2065 #define BACKUP_WCO_CTL                      (((BACKUP_Type *) BACKUP)->WCO_CTL)
2066 #define BACKUP_WCO_STATUS                   (((BACKUP_Type *) BACKUP)->WCO_STATUS)
2067 #define BACKUP_LFWL_CTL                     (((BACKUP_Type *) BACKUP)->LFWL_CTL)
2068 #define BACKUP_BREG                         (((BACKUP_Type *) BACKUP)->BREG)
2069 #endif
2070 
2071 #if defined (CY_IP_MXS40SSRSS)
2072 #define BACKUP_CTL                          (((BACKUP_Type *) BACKUP)->CTL)
2073 #define BACKUP_RTC_RW                       (((BACKUP_Type *) BACKUP)->RTC_RW)
2074 #define BACKUP_CAL_CTL                      (((BACKUP_Type *) BACKUP)->CAL_CTL)
2075 #define BACKUP_STATUS                       (((BACKUP_Type *) BACKUP)->STATUS)
2076 #define BACKUP_RTC_TIME                     (((BACKUP_Type *) BACKUP)->RTC_TIME)
2077 #define BACKUP_RTC_DATE                     (((BACKUP_Type *) BACKUP)->RTC_DATE)
2078 #define BACKUP_ALM1_TIME                    (((BACKUP_Type *) BACKUP)->ALM1_TIME)
2079 #define BACKUP_ALM1_DATE                    (((BACKUP_Type *) BACKUP)->ALM1_DATE)
2080 #define BACKUP_ALM2_TIME                    (((BACKUP_Type *) BACKUP)->ALM2_TIME)
2081 #define BACKUP_ALM2_DATE                    (((BACKUP_Type *) BACKUP)->ALM2_DATE)
2082 #define BACKUP_INTR                         (((BACKUP_Type *) BACKUP)->INTR)
2083 #define BACKUP_INTR_SET                     (((BACKUP_Type *) BACKUP)->INTR_SET)
2084 #define BACKUP_INTR_MASK                    (((BACKUP_Type *) BACKUP)->INTR_MASK)
2085 #define BACKUP_INTR_MASKED                  (((BACKUP_Type *) BACKUP)->INTR_MASKED)
2086 #define BACKUP_PMIC_CTL                     (((BACKUP_Type *) BACKUP)->PMIC_CTL)
2087 #define BACKUP_RESET                        (((BACKUP_Type *) BACKUP)->RESET)
2088 #define BACKUP_LPECO_CTL                    (((BACKUP_Type *) BACKUP)->LPECO_CTL)
2089 #define BACKUP_LPECO_PRESCALE               (((BACKUP_Type *) BACKUP)->LPECO_PRESCALE)
2090 #define BACKUP_LPECO_STATUS                 (((BACKUP_Type *) BACKUP)->LPECO_STATUS)
2091 #define BACKUP_WCO_STATUS                   (((BACKUP_Type *) BACKUP)->WCO_STATUS)
2092 #define BACKUP_BREG_SET0                    (((BACKUP_Type *) BACKUP)->BREG_SET0)
2093 #define BACKUP_BREG_SET1                    (((BACKUP_Type *) BACKUP)->BREG_SET1)
2094 #define BACKUP_BREG_SET2                    (((BACKUP_Type *) BACKUP)->BREG_SET2)
2095 #define BACKUP_BREG_SET3                    (((BACKUP_Type *) BACKUP)->BREG_SET3)
2096 
2097 
2098 #define CY_SRSS_BACKUP_NUM_BREG             (SRSS_BACKUP_NUM_BREG0 + SRSS_BACKUP_NUM_BREG1 + SRSS_BACKUP_NUM_BREG2 + SRSS_BACKUP_NUM_BREG3)
2099 #define CY_SRSS_BACKUP_BREG0_START_POS      (0UL)
2100 #define CY_SRSS_BACKUP_BREG1_START_POS      (SRSS_BACKUP_NUM_BREG0)
2101 #define CY_SRSS_BACKUP_BREG2_START_POS      (SRSS_BACKUP_NUM_BREG0 + SRSS_BACKUP_NUM_BREG1)
2102 #define CY_SRSS_BACKUP_BREG3_START_POS      (SRSS_BACKUP_NUM_BREG0 + SRSS_BACKUP_NUM_BREG1 + SRSS_BACKUP_NUM_BREG2)
2103 
2104 #endif
2105 
2106 
2107 /*******************************************************************************
2108 *                CANFD
2109 *******************************************************************************/
2110 
2111 #define CANFD_CTL(base)                           (((CANFD_Type *)(base))->CTL)
2112 #define CANFD_STATUS(base)                        (((CANFD_Type *)(base))->STATUS)
2113 #define CANFD_NBTP(base, chan)                    (((CANFD_Type *)(base))->CH[chan].M_TTCAN.NBTP)
2114 #define CANFD_IR(base, chan)                      (((CANFD_Type *)(base))->CH[chan].M_TTCAN.IR)
2115 #define CANFD_IE(base, chan)                      (((CANFD_Type *)(base))->CH[chan].M_TTCAN.IE)
2116 #define CANFD_ILS(base, chan)                     (((CANFD_Type *)(base))->CH[chan].M_TTCAN.ILS)
2117 #define CANFD_ILE(base, chan)                     (((CANFD_Type *)(base))->CH[chan].M_TTCAN.ILE)
2118 #define CANFD_CCCR(base, chan)                    (((CANFD_Type *)(base))->CH[chan].M_TTCAN.CCCR)
2119 #define CANFD_SIDFC(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.SIDFC)
2120 #define CANFD_XIDFC(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.XIDFC)
2121 #define CANFD_XIDAM(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.XIDAM)
2122 #define CANFD_RXESC(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.RXESC)
2123 #define CANFD_RXF0C(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.RXF0C)
2124 #define CANFD_RXF1C(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.RXF1C)
2125 #define CANFD_RXFTOP_CTL(base, chan)              (((CANFD_Type *)(base))->CH[chan].RXFTOP_CTL)
2126 #define CANFD_RXBC(base, chan)                    (((CANFD_Type *)(base))->CH[chan].M_TTCAN.RXBC)
2127 #define CANFD_TXESC(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.TXESC)
2128 #define CANFD_TXEFC(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.TXEFC)
2129 #define CANFD_TXBC(base, chan)                    (((CANFD_Type *)(base))->CH[chan].M_TTCAN.TXBC)
2130 #define CANFD_DBTP(base, chan)                    (((CANFD_Type *)(base))->CH[chan].M_TTCAN.DBTP)
2131 #define CANFD_TDCR(base, chan)                    (((CANFD_Type *)(base))->CH[chan].M_TTCAN.TDCR)
2132 #define CANFD_GFC(base, chan)                     (((CANFD_Type *)(base))->CH[chan].M_TTCAN.GFC)
2133 #define CANFD_TXBRP(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.TXBRP)
2134 #define CANFD_TXBAR(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.TXBAR)
2135 #define CANFD_TXBCR(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.TXBCR)
2136 #define CANFD_TXBTO(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.TXBTO)
2137 #define CANFD_TXBCF(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.TXBCF)
2138 #define CANFD_TXBTIE(base, chan)                  (((CANFD_Type *)(base))->CH[chan].M_TTCAN.TXBTIE)
2139 #define CANFD_TXBCIE(base, chan)                  (((CANFD_Type *)(base))->CH[chan].M_TTCAN.TXBCIE)
2140 #define CANFD_NDAT1(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.NDAT1)
2141 #define CANFD_NDAT2(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.NDAT2)
2142 #define CANFD_RXF0S(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.RXF0S)
2143 #define CANFD_RXFTOP0_DATA(base, chan)            (((CANFD_Type *)(base))->CH[chan].RXFTOP0_DATA)
2144 #define CANFD_RXFTOP1_DATA(base, chan)            (((CANFD_Type *)(base))->CH[chan].RXFTOP1_DATA)
2145 #define CANFD_RXF0A(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.RXF0A)
2146 #define CANFD_RXF1S(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.RXF1S)
2147 #define CANFD_RXF1A(base, chan)                   (((CANFD_Type *)(base))->CH[chan].M_TTCAN.RXF1A)
2148 #define CANFD_PSR(base, chan)                     (((CANFD_Type *)(base))->CH[chan].M_TTCAN.PSR)
2149 #define CANFD_TEST(base, chan)                    (((CANFD_Type *)(base))->CH[chan].M_TTCAN.TEST)
2150 #define CANFD_CREL(base, chan)                    (((CANFD_Type *)(base))->CH[chan].M_TTCAN.CREL)
2151 
2152 #define CY_CANFD_CHANNELS_NUM                     (0x1UL)
2153 
2154 /*******************************************************************************
2155 *                MXOTPC
2156 *******************************************************************************/
2157 #define CY_MXOTPC_BASE                      (uint32_t)GET_ALIAS_ADDRESS(MXOTPC)
2158 
2159 #define MXOTPC_CTL                          (((MXOTPC_Type *) CY_MXOTPC_BASE)->CTL)
2160 #define MXOTPC_OTP_STATUS                   (((MXOTPC_Type *) CY_MXOTPC_BASE)->OTP_STATUS)
2161 #define MXOTPC_OTP_CTL                      (((MXOTPC_Type *) CY_MXOTPC_BASE)->OTP_CTL)
2162 #define MXOTPC_OTP_CMD                      (((MXOTPC_Type *) CY_MXOTPC_BASE)->OTP_CMD)
2163 #define MXOTPC_LAYOUT                       (((MXOTPC_Type *) CY_MXOTPC_BASE)->LAYOUT)
2164 #define MXOTPC_LAYOUT_EXT                   (((MXOTPC_Type *) CY_MXOTPC_BASE)->LAYOUT_EXT)
2165 #define MXOTPC_OTP_PROGDATA                 (((MXOTPC_Type *) CY_MXOTPC_BASE)->OTP_PROGDATA)
2166 #define MXOTPC_FOUT_ECC_STATUS              (((MXOTPC_Type *) CY_MXOTPC_BASE)->FOUT_ECC_STATUS)
2167 #define MXOTPC_ECC_STATUS                   (((MXOTPC_Type *) CY_MXOTPC_BASE)->ECC_STATUS)
2168 #define MXOTPC_CC312_ECC_STATUS             (((MXOTPC_Type *) CY_MXOTPC_BASE)->CC312_ECC_STATUS)
2169 #define MXOTPC_CC312_ERROR_LOG              (((MXOTPC_Type *) CY_MXOTPC_BASE)->CC312_ERROR_LOG)
2170 #define MXOTPC_CC312_CMD_SEL_LO             (((MXOTPC_Type *) CY_MXOTPC_BASE)->CC312_CMD_SEL_LO)
2171 #define MXOTPC_CC312_CMD_SEL_HI             (((MXOTPC_Type *) CY_MXOTPC_BASE)->CC312_CMD_SEL_HI)
2172 #define MXOTPC_LAYOUT_EXT1                  (((MXOTPC_Type *) CY_MXOTPC_BASE)->LAYOUT_EXT1)
2173 #define MXOTPC_LAYOUT_EXT2                  (((MXOTPC_Type *) CY_MXOTPC_BASE)->LAYOUT_EXT2)
2174 #define MXOTPC_LAYOUT_EXT3                  (((MXOTPC_Type *) CY_MXOTPC_BASE)->LAYOUT_EXT3)
2175 #define MXOTPC_LAYOUT_EXT4                  (((MXOTPC_Type *) CY_MXOTPC_BASE)->LAYOUT_EXT4)
2176 #define MXOTPC_CPU_PROG_CMD                 (((MXOTPC_Type *) CY_MXOTPC_BASE)->CPU_PROG_CMD)
2177 #define MXOTPC_BOOTROW                      (((MXOTPC_Type *) CY_MXOTPC_BASE)->BOOTROW)
2178 #define MXOTPC_CC312_RGN_LOCK_CTL           (((MXOTPC_Type *) CY_MXOTPC_BASE)->CC312_RGN_LOCK_CTL)
2179 #define MXOTPC_ERR_RESP_CTL                 (((MXOTPC_Type *) CY_MXOTPC_BASE)->ERR_RESP_CTL)
2180 #define MXOTPC_INTR_OTPC                    (((MXOTPC_Type *) CY_MXOTPC_BASE)->INTR_OTPC)
2181 #define MXOTPC_INTR_OTPC_SET                (((MXOTPC_Type *) CY_MXOTPC_BASE)->INTR_OTPC_SET)
2182 #define MXOTPC_INTR_OTPC_MASK               (((MXOTPC_Type *) CY_MXOTPC_BASE)->INTR_OTPC_MASK)
2183 #define MXOTPC_INTR_OTPC_MASKED             (((MXOTPC_Type *) CY_MXOTPC_BASE)->INTR_OTPC_MASKED)
2184 #define MXOTPC_CPU_ERROR_LOG                (((MXOTPC_Type *) CY_MXOTPC_BASE)->CPU_ERROR_LOG)
2185 
2186 #define MXOTPC_BOOT_ROW_FOUT_ECC_DED_STATUS_Msk    0x00070000UL
2187 
2188 /*******************************************************************************
2189 *                MXCONNBRIDGE
2190 *******************************************************************************/
2191 
2192 #define MXCONNBRIDGE_CTL(base)                    (((MXCONNBRIDGE_Type *)(base))->CTL)
2193 #define MXCONNBRIDGE_INTR_STATUS(base)            (((MXCONNBRIDGE_Type *)(base))->INTERRUPT_STATUS)
2194 #define MXCONNBRIDGE_INTR_MASK(base)              (((MXCONNBRIDGE_Type *)(base))->INTERRUPT_MASK)
2195 #define MXCONNBRIDGE_RF_SWITCH_CTRL(base)         (((MXCONNBRIDGE_Type *)(base))->RF_SWITCH_CTRL)
2196 #define MXCONNBRIDGE_GPIO_IN(base)                (((MXCONNBRIDGE_Type *)(base))->GPIO_IN)
2197 #define MXCONNBRIDGE_GPIO_OUT(base)               (((MXCONNBRIDGE_Type *)(base))->GPIO_OUT)
2198 #define MXCONNBRIDGE_DEV_WAKE(base)               (((MXCONNBRIDGE_Type *)(base))->DEV_WAKE)
2199 #define MXCONNBRIDGE_AP_WLAN_CTL(base)               (((MXCONNBRIDGE_Type *)(base))->AP_WLAN_CTL)
2200 
2201 /*******************************************************************************
2202 *                MXSDIODEV
2203 *******************************************************************************/
2204 
2205 #define MXSDIO_CORECONTROL(base)         (((MXSDIO_Type *)(base))->CORECONTROL)
2206 #define MXSDIO_CORESTATUS(base)              (((MXSDIO_Type *)(base))->CORESTATUS)
2207 #define MXSDIO_BISTSTATUS(base)              (((MXSDIO_Type *)(base))->BISTSTATUS)
2208 #define MXSDIO_INTSTATUS(base)               (((MXSDIO_Type *)(base))->INTSTATUS)
2209 #define MXSDIO_INTHOSTMASK(base)             (((MXSDIO_Type *)(base))->INTHOSTMASK)
2210 #define MXSDIO_INTSBMASK(base)               (((MXSDIO_Type *)(base))->INTSBMASK)
2211 #define MXSDIO_SBINTSTATUS(base)             (((MXSDIO_Type *)(base))->SBINTSTATUS)
2212 #define MXSDIO_SBINTMASK(base)               (((MXSDIO_Type *)(base))->SBINTMASK)
2213 #define MXSDIO_SDIOFUNCINTMASK(base)         (((MXSDIO_Type *)(base))->SDIOFUNCINTMASK)
2214 #define MXSDIO_TOSBMAILBOX(base)             (((MXSDIO_Type *)(base))->TOSBMAILBOX)
2215 #define MXSDIO_TOHOSTMAILBOX(base)           (((MXSDIO_Type *)(base))->TOHOSTMAILBOX)
2216 #define MXSDIO_TOSBMAILDATA(base)            (((MXSDIO_Type *)(base))->TOSBMAILDATA)
2217 #define MXSDIO_TOHOSTMAILDATA(base)          (((MXSDIO_Type *)(base))->TOHOSTMAILDATA)
2218 #define MXSDIO_SDIOACCESS(base)              (((MXSDIO_Type *)(base))->SDIOACCESS)
2219 #define MXSDIO_UNUSEDINTFCTRL(base)          (((MXSDIO_Type *)(base))->UNUSEDINTFCTRL)
2220 #define MXSDIO_INTRCVLAZY(base)              (((MXSDIO_Type *)(base))->INTRCVLAZY)
2221 #define MXSDIO_CMD52RDCOUNT(base)            (((MXSDIO_Type *)(base))->CMD52RDCOUNT)
2222 #define MXSDIO_CMD52WRCOUNT(base)            (((MXSDIO_Type *)(base))->CMD52WRCOUNT)
2223 #define MXSDIO_CMD53RDCOUNT(base)            (((MXSDIO_Type *)(base))->CMD53RDCOUNT)
2224 #define MXSDIO_CMD53WRCOUNT(base)            (((MXSDIO_Type *)(base))->CMD53WRCOUNT)
2225 #define MXSDIO_ABORTCOUNT(base)              (((MXSDIO_Type *)(base))->ABORTCOUNT)
2226 #define MXSDIO_CRCERRORCOUNT(base)           (((MXSDIO_Type *)(base))->CRCERRORCOUNT)
2227 #define MXSDIO_RDOUTOFSYNCCOUNT(base)        (((MXSDIO_Type *)(base))->RDOUTOFSYNCCOUNT)
2228 #define MXSDIO_WROUTOFSYNCCOUNT(base)        (((MXSDIO_Type *)(base))->WROUTOFSYNCCOUNT)
2229 #define MXSDIO_WRITEBUSYCOUNT(base)          (((MXSDIO_Type *)(base))->WRITEBUSYCOUNT)
2230 #define MXSDIO_READWAITCOUNT(base)         (((MXSDIO_Type *)(base))->READWAITCOUNT)
2231 #define MXSDIO_RDTERMCOUNT(base)             (((MXSDIO_Type *)(base))->RDTERMCOUNT)
2232 #define MXSDIO_WRTERMCOUNT(base)             (((MXSDIO_Type *)(base))->WRTERMCOUNT)
2233 #define MXSDIO_CLOCKCTRLSTATUS(base)         (((MXSDIO_Type *)(base))->CLOCKCTRLSTATUS)
2234 #define MXSDIO_WORKARND(base)                (((MXSDIO_Type *)(base))->WORKARND)
2235 #define MXSDIO_PWRCTRL(base)                 (((MXSDIO_Type *)(base))->PWRCTRL)
2236 #define MXSDIO_XMTCONTROL(base)              (((MXSDIO_Type *)(base))->XMTCONTROL)
2237 #define MXSDIO_XMTPTR(base)                  (((MXSDIO_Type *)(base))->XMTPTR)
2238 #define MXSDIO_XMTADDRESSLOW(base)           (((MXSDIO_Type *)(base))->XMTADDRESSLOW)
2239 #define MXSDIO_XMTADDRESSHI(base)            (((MXSDIO_Type *)(base))->XMTADDRESSHI)
2240 #define MXSDIO_XMTSTATUS0(base)              (((MXSDIO_Type *)(base))->XMTSTATUS0)
2241 #define MXSDIO_XMTSTATUS1(base)              (((MXSDIO_Type *)(base))->XMTSTATUS1)
2242 #define MXSDIO_RCVCONTROL(base)              (((MXSDIO_Type *)(base))->RCVCONTROL)
2243 #define MXSDIO_RCVPTR(base)                  (((MXSDIO_Type *)(base))->RCVPTR)
2244 #define MXSDIO_RCVADDRESSLOW(base)           (((MXSDIO_Type *)(base))->RCVADDRESSLOW)
2245 #define MXSDIO_RCVADDRESSHI(base)            (((MXSDIO_Type *)(base))->RCVADDRESSHI)
2246 #define MXSDIO_RCVSTATUS0(base)              (((MXSDIO_Type *)(base))->RCVSTATUS0)
2247 #define MXSDIO_RCVSTATUS1(base)              (((MXSDIO_Type *)(base))->RCVSTATUS1)
2248 #define MXSDIO_FIFOADDRESS(base)             (((MXSDIO_Type *)(base))->FIFOADDRESS)
2249 #define MXSDIO_FIFODATAL(base)               (((MXSDIO_Type *)(base))->FIFODATAL)
2250 #define MXSDIO_FIFODATAH(base)               (((MXSDIO_Type *)(base))->FIFODATAH)
2251 #define MXSDIO_SDIOCLKRESETCTRLREG(base)     (((MXSDIO_Type *)(base))->SDIOCLKRESETCTRLREG)
2252 #define MXSDIO_OTPSTATUSSHADOWREG(base)      (((MXSDIO_Type *)(base))->OTPSTATUSSHADOWREG)
2253 #define MXSDIO_OTPLAYOUTSHADOWREG(base)      (((MXSDIO_Type *)(base))->OTPLAYOUTSHADOWREG)
2254 #define MXSDIO_OTPSHADOWREG1(base)           (((MXSDIO_Type *)(base))->OTPSHADOWREG1)
2255 #define MXSDIO_OTPSHADOWREG2(base)           (((MXSDIO_Type *)(base))->OTPSHADOWREG2)
2256 #define MXSDIO_OTPSHADOWREG3(base)           (((MXSDIO_Type *)(base))->OTPSHADOWREG3)
2257 
2258 /******************************************************************************
2259 *                MXETH
2260 *******************************************************************************/
2261 #define ETH_CTL(base)                       (((ETH_Type*)(base))->CTL)
2262 #define ETH_TX_Q_PTR(base)                  (((ETH_Type*)(base))->TRANSMIT_Q_PTR)
2263 #define ETH_TX_Q1_PTR(base)                 (((ETH_Type*)(base))->TRANSMIT_Q1_PTR)
2264 #define ETH_TX_Q2_PTR(base)                 (((ETH_Type*)(base))->TRANSMIT_Q2_PTR)
2265 #define ETH_RX_Q_PTR(base)                  (((ETH_Type*)(base))->RECEIVE_Q_PTR)
2266 #define ETH_RX_Q1_PTR(base)                 (((ETH_Type*)(base))->RECEIVE_Q1_PTR)
2267 #define ETH_RX_Q2_PTR(base)                 (((ETH_Type*)(base))->RECEIVE_Q2_PTR)
2268 
2269 /*******************************************************************************
2270 *                PPU
2271 *******************************************************************************/
2272 #define CY_PPU_MAIN_BASE                             ((uint32_t)PWRMODE_PPU_MAIN)
2273 #define CY_PPU_CPUSS_BASE                            ((uint32_t)CPUSS_PPU_BASE)
2274 #define CY_PPU_SRAM_BASE                             ((uint32_t)RAMC_PPU0_BASE)
2275 
2276 /*******************************************************************************
2277 *                PDCM
2278 *******************************************************************************/
2279 
2280 #define CY_PDCM_PD_SENSE(pd_id)                        (((PWRMODE_PD_Type*) &PWRMODE->PD[pd_id])->PD_SENSE)
2281 #define CY_PDCM_PD_SPT(pd_id)                          (((PWRMODE_PD_Type*) &PWRMODE->PD[pd_id])->PD_SPT)
2282 
2283 /*******************************************************************************
2284 *                IPC
2285 *******************************************************************************/
2286 
2287 #define REG_IPC_STRUCT_ACQUIRE(base)           (((IPC_STRUCT_Type*)(base))->ACQUIRE)
2288 #define REG_IPC_STRUCT_RELEASE(base)           (((IPC_STRUCT_Type*)(base))->RELEASE)
2289 #define REG_IPC_STRUCT_NOTIFY(base)            (((IPC_STRUCT_Type*)(base))->NOTIFY)
2290 #define REG_IPC_STRUCT_DATA(base)              (((IPC_STRUCT_Type*)(base))->DATA0)
2291 #define REG_IPC_STRUCT_DATA1(base)             (((IPC_STRUCT_Type*)(base))->DATA1)
2292 #define REG_IPC_STRUCT_LOCK_STATUS(base)       (*(volatile uint32_t*)((uint32_t)(base) + offsetof(IPC_STRUCT_Type, LOCK_STATUS)))
2293 
2294 #define REG_IPC_INTR_STRUCT_INTR(base)         (((IPC_INTR_STRUCT_Type*)(base))->INTR)
2295 #define REG_IPC_INTR_STRUCT_INTR_SET(base)     (((IPC_INTR_STRUCT_Type*)(base))->INTR_SET)
2296 #define REG_IPC_INTR_STRUCT_INTR_MASK(base)    (((IPC_INTR_STRUCT_Type*)(base))->INTR_MASK)
2297 #define REG_IPC_INTR_STRUCT_INTR_MASKED(base)  (((IPC_INTR_STRUCT_Type*)(base))->INTR_MASKED)
2298 
2299 #ifdef BTSS
2300 #define CY_IPC_STRUCT_PTR(ipcIndex)            ((IPC_STRUCT_Type*)((void *)(((uint8_t*)&(BTSS_DATA_RAM_IPC->MXIPC_0_ACQUIRE)) + (sizeof(IPC_STRUCT_Type) * (ipcIndex)))))
2301 #define CY_IPC_INTR_STRUCT_PTR(ipcIntrIndex)   ((IPC_INTR_STRUCT_Type *)((void*)(((uint8_t*)&(BTSS_DATA_RAM_IPC->MXIPC_INTR_0)) + (sizeof(IPC_INTR_STRUCT_Type) * (ipcIntrIndex)))))
2302 #else
2303 #define CY_IPC_STRUCT_PTR(ipcIndex)            ((IPC_STRUCT_Type*)(IPC_BASE + (sizeof(IPC_STRUCT_Type) * (ipcIndex))))
2304 #define CY_IPC_INTR_STRUCT_PTR(ipcIntrIndex)   (&(((IPC_Type *)IPC_BASE)->INTR_STRUCT[ipcIntrIndex]))
2305 #endif
2306 
2307 #define CY_IPC_STRUCT_PTR_FOR_IP(ipcIndex, base)            ((IPC_STRUCT_Type*)((uint32_t)(base) + (sizeof(IPC_STRUCT_Type) * (ipcIndex))))
2308 #define CY_IPC_INTR_STRUCT_PTR_FOR_IP(ipcIntrIndex, base)   (&(((IPC_Type *)base)->INTR_STRUCT[ipcIntrIndex]))
2309 
2310 #define CY_IPC_INSTANCES                       (1U)
2311 #define CY_IPC_CHANNELS                        ((uint32_t)CPUSS_IPC_NR)
2312 #define CY_IPC_INTERRUPTS                      ((uint32_t)CPUSS_IPC_IRQ_NR)
2313 #define CY_IPC_CHANNELS_PER_INSTANCE           CY_IPC_CHANNELS
2314 #define CY_IPC_INTERRUPTS_PER_INSTANCE         CY_IPC_INTERRUPTS
2315 
2316 /* ipcChannel comprises of total number of channels present in all IPC IP instances */
2317 #define CY_IPC_PIPE_CHANNEL_NUMBER_WITHIN_INSTANCE(ipcChannel)  (((ipcChannel)%CY_IPC_CHANNELS_PER_INSTANCE))
2318 #define CY_IPC_PIPE_INTR_NUMBER_WITHIN_INSTANCE(ipcIntr)        (((ipcIntr)%CY_IPC_INTERRUPTS_PER_INSTANCE))
2319 
2320 #define CY_IPC_CH_MASK(chIndex)         (0x1u << chIndex)
2321 #define CY_IPC_INTR_MASK(intrIndex)     (0x1u << intrIndex)
2322 #define CY_IPC_INTR_MUX(intrIndex)      (cpuss_interrupts_ipc_dpslp_0_IRQn + intrIndex)
2323 #define cpuss_interrupts_ipc_0_IRQn cpuss_interrupts_ipc_dpslp_0_IRQn
2324 #define cpuss_interrupts_ipc_1_IRQn cpuss_interrupts_ipc_dpslp_1_IRQn
2325 
2326 #if defined (CY_DEVICE_BOY2)
2327 /* Reserve Channels are Interrupts for CM33-S and Cm33-NS */
2328 #define CM33_S_IPC_CH_NUM                 (0x0u)
2329 #define CM33_S_IPC_CH_MASK                (CY_IPC_CH_MASK(CM33_S_IPC_CH_NUM))
2330 #define CM33_S_IPC_INTR_NUM               (0x0u)
2331 #define CM33_S_IPC_INTR_MASK              (CY_IPC_INTR_MASK(CM33_S_IPC_INTR_NUM))
2332 #define CM33_S_IPC_INTR_MUX               (CY_IPC_INTR_MUX(CM33_S_IPC_INTR_NUM))
2333 
2334 /* user IPC channel */
2335 #define CY_IPC_CHAN_USER                  (CM33_S_IPC_CH_NUM + 1u)
2336 /* user IPC interrupt */
2337 #define CY_IPC_INTR_USER                  (CM33_S_IPC_INTR_NUM + 1u)
2338 
2339 #endif
2340 
2341 /*******************************************************************************
2342 *                LIN
2343 *******************************************************************************/
2344 #if defined (CY_IP_MXLIN)
2345 #define LIN0_CH1                                ((LIN_CH_Type*) &LIN0->CH[1])
2346 #define LIN0_CH2                                ((LIN_CH_Type*) &LIN0->CH[2])
2347 #define LIN0_CH3                                ((LIN_CH_Type*) &LIN0->CH[3])
2348 #define LIN0_CH4                                ((LIN_CH_Type*) &LIN0->CH[4])
2349 #define LIN0_CH5                                ((LIN_CH_Type*) &LIN0->CH[5])
2350 #define LIN0_CH6                                ((LIN_CH_Type*) &LIN0->CH[6])
2351 #define LIN0_CH7                                ((LIN_CH_Type*) &LIN0->CH[7])
2352 #define LIN0_CH8                                ((LIN_CH_Type*) &LIN0->CH[8])
2353 #define LIN0_CH9                                ((LIN_CH_Type*) &LIN0->CH[9])
2354 #define LIN0_CH10                               ((LIN_CH_Type*) &LIN0->CH[10])
2355 #define LIN0_CH11                               ((LIN_CH_Type*) &LIN0->CH[11])
2356 #define LIN0_CH12                               ((LIN_CH_Type*) &LIN0->CH[12])
2357 #define LIN0_CH13                               ((LIN_CH_Type*) &LIN0->CH[13])
2358 #define LIN0_CH14                               ((LIN_CH_Type*) &LIN0->CH[14])
2359 #define LIN0_CH15                               ((LIN_CH_Type*) &LIN0->CH[15])
2360 #define LIN0_CH16                               ((LIN_CH_Type*) &LIN0->CH[16])
2361 #define LIN0_CH17                               ((LIN_CH_Type*) &LIN0->CH[17])
2362 #define LIN0_CH18                               ((LIN_CH_Type*) &LIN0->CH[18])
2363 #define LIN0_CH19                               ((LIN_CH_Type*) &LIN0->CH[19])
2364 #define LIN0_CH20                               ((LIN_CH_Type*) &LIN0->CH[20])
2365 #define LIN0_CH21                               ((LIN_CH_Type*) &LIN0->CH[21])
2366 #define LIN0_CH22                               ((LIN_CH_Type*) &LIN0->CH[22])
2367 #define LIN0_CH23                               ((LIN_CH_Type*) &LIN0->CH[23])
2368 #define LIN0_CH24                               ((LIN_CH_Type*) &LIN0->CH[24])
2369 #define LIN0_CH25                               ((LIN_CH_Type*) &LIN0->CH[25])
2370 #define LIN0_CH26                               ((LIN_CH_Type*) &LIN0->CH[26])
2371 #define LIN0_CH27                               ((LIN_CH_Type*) &LIN0->CH[27])
2372 #define LIN0_CH28                               ((LIN_CH_Type*) &LIN0->CH[28])
2373 #define LIN0_CH29                               ((LIN_CH_Type*) &LIN0->CH[29])
2374 #define LIN0_CH30                               ((LIN_CH_Type*) &LIN0->CH[30])
2375 #define LIN0_CH31                               ((LIN_CH_Type*) &LIN0->CH[31])
2376 
2377 #define LIN_CH_CTL0(base)                       (((LIN_CH_Type *)(base))->CTL0)
2378 #define LIN_CH_CTL1(base)                       (((LIN_CH_Type *)(base))->CTL1)
2379 #define LIN_CH_STATUS(base)                     (((LIN_CH_Type *)(base))->STATUS)
2380 #define LIN_CH_CMD(base)                        (((LIN_CH_Type *)(base))->CMD)
2381 #define LIN_CH_TX_RX_STATUS(base)               (((LIN_CH_Type *)(base))->TX_RX_STATUS)
2382 #define LIN_CH_PID_CHECKSUM(base)               (((LIN_CH_Type *)(base))->PID_CHECKSUM)
2383 #define LIN_CH_DATA0(base)                      (((LIN_CH_Type *)(base))->DATA0)
2384 #define LIN_CH_DATA1(base)                      (((LIN_CH_Type *)(base))->DATA1)
2385 #define LIN_CH_INTR(base)                       (((LIN_CH_Type *)(base))->INTR)
2386 #define LIN_CH_INTR_SET(base)                   (((LIN_CH_Type *)(base))->INTR_SET)
2387 #define LIN_CH_INTR_MASK(base)                  (((LIN_CH_Type *)(base))->INTR_MASK)
2388 #define LIN_CH_INTR_MASKED(base)                (((LIN_CH_Type *)(base))->INTR_MASKED)
2389 
2390 #define LIN_ERROR_CTL(base)                     (((LIN_Type *)(base))->ERROR_CTL)
2391 #define LIN_TEST_CTL(base)                      (((LIN_Type *)(base))->TEST_CTL)
2392 #endif /* CY_IP_MXLIN */
2393 
2394 /*******************************************************************************
2395 *                MXKEYSCAN
2396 *******************************************************************************/
2397 #if defined (CY_IP_MXKEYSCAN)
2398 
2399 #define KEYSCAN_CTL(base)                       (((MXKEYSCAN_Type *)(base))->KEYSCAN_CTL)
2400 #define KEYSCAN_DEBOUNCE(base)                  (((MXKEYSCAN_Type *)(base))->DEBOUNCE)
2401 #define KEYSCAN_KEYFIFO_CNT(base)               (((MXKEYSCAN_Type *)(base))->KEYFIFO_CNT)
2402 #define KEYSCAN_KEYFIFO(base)                   (((MXKEYSCAN_Type *)(base))->KEYFIFO)
2403 #define KEYSCAN_MIA_CTL(base)                   (((MXKEYSCAN_Type *)(base))->MIA_CTL)
2404 #define KEYSCAN_MIA_STATUS(base)                (((MXKEYSCAN_Type *)(base))->MIA_STATUS)
2405 #define KEYSCAN_KSI_USED(base)                  (((MXKEYSCAN_Type *)(base))->KSI_USED)
2406 #define KEYSCAN_INTR(base)                      (((MXKEYSCAN_Type *)(base))->INTR)
2407 #define KEYSCAN_INTR_SET(base)                  (((MXKEYSCAN_Type *)(base))->INTR_SET)
2408 #define KEYSCAN_INTR_MASK(base)                 (((MXKEYSCAN_Type *)(base))->INTR_MASK)
2409 #define KEYSCAN_INTR_MASKED(base)               (((MXKEYSCAN_Type *)(base))->INTR_MASKED)
2410 
2411 #endif /* CY_IP_MXKEYSCAN */
2412 
2413 #define MPC_Type                                 RAMC_MPC_Type
2414 #ifdef CPUSS_PC_NR
2415 #define MPC_PC_NR                                CPUSS_PC_NR
2416 #else
2417 #define MPC_PC_NR                                RAMC0_MPC_PC_NR
2418 #endif
2419 
2420 /*******************************************************************************
2421 *                MS_CTL
2422 *******************************************************************************/
2423 #ifdef _CYIP_MS_CTL_2_1_V2_H_
2424 
2425 #define MS_CTL_PC_CTL_VX(index)          (((MS_CTL_2_1_Type*) MS_CTL_2_1_BASE)->MS[(index)].CTL)
2426 #define MS_CTL_PC_VAL_VX(index)          (((MS_CTL_2_1_Type*) MS_CTL_2_1_BASE)->MS_PC[(index)].PC)
2427 #define MS_CTL_PC_READ_MIRROR_VX(index)  (((MS_CTL_2_1_Type*) MS_CTL_2_1_BASE)->MS_PC[(index)].PC_READ_MIR)
2428 #define MS_CTL_CODE_MS0_MSC_ACG_CTL_VX   (((MS_CTL_2_1_Type*) MS_CTL_2_1_BASE)->CODE_MS0_MSC_ACG_CTL)
2429 #define MS_CTL_SYS_MS0_MSC_ACG_CTL_VX    (((MS_CTL_2_1_Type*) MS_CTL_2_1_BASE)->SYS_MS0_MSC_ACG_CTL)
2430 #define MS_CTL_SYS_MS1_MSC_ACG_CTL_VX    (((MS_CTL_2_1_Type*) MS_CTL_2_1_BASE)->SYS_MS1_MSC_ACG_CTL)
2431 #define MS_CTL_EXP_MS_MSC_ACG_CTL_VX     (((MS_CTL_2_1_Type*) MS_CTL_2_1_BASE)->EXP_MS_MSC_ACG_CTL)
2432 #define MS_CTL_DMAC0_MSC_ACG_CTL_VX      (((MS_CTL_2_1_Type*) MS_CTL_2_1_BASE)->DMAC0_MSC_ACG_CTL)
2433 #define MS_CTL_DMAC1_MSC_ACG_CTL_VX      (((MS_CTL_2_1_Type*) MS_CTL_2_1_BASE)->DMAC1_MSC_ACG_CTL)
2434 
2435 /* MS_CTL.CODE_MS0_MSC_ACG_CTL */
2436 #define MS_CTL_CODE_MS0_MSC_ACG_CTL_CFG_GATE_RESP_VX_Pos   MS_CTL_2_1_CODE_MS0_MSC_ACG_CTL_CFG_GATE_RESP_Pos
2437 #define MS_CTL_CODE_MS0_MSC_ACG_CTL_CFG_GATE_RESP_VX_Msk   MS_CTL_2_1_CODE_MS0_MSC_ACG_CTL_CFG_GATE_RESP_Msk
2438 #define MS_CTL_CODE_MS0_MSC_ACG_CTL_SEC_RESP_VX_Pos        MS_CTL_2_1_CODE_MS0_MSC_ACG_CTL_SEC_RESP_Pos
2439 #define MS_CTL_CODE_MS0_MSC_ACG_CTL_SEC_RESP_VX_Msk        MS_CTL_2_1_CODE_MS0_MSC_ACG_CTL_SEC_RESP_Msk
2440 /* MS_CTL.SYS_MS0_MSC_ACG_CTL */
2441 #define MS_CTL_SYS_MS0_MSC_ACG_CTL_CFG_GATE_RESP_VX_Pos    MS_CTL_2_1_SYS_MS0_MSC_ACG_CTL_CFG_GATE_RESP_Pos
2442 #define MS_CTL_SYS_MS0_MSC_ACG_CTL_CFG_GATE_RESP_VX_Msk    MS_CTL_2_1_SYS_MS0_MSC_ACG_CTL_CFG_GATE_RESP_Msk
2443 #define MS_CTL_SYS_MS0_MSC_ACG_CTL_SEC_RESP_VX_Pos         MS_CTL_2_1_SYS_MS0_MSC_ACG_CTL_SEC_RESP_Pos
2444 #define MS_CTL_SYS_MS0_MSC_ACG_CTL_SEC_RESP_VX_Msk         MS_CTL_2_1_SYS_MS0_MSC_ACG_CTL_SEC_RESP_Msk
2445 /* MS_CTL.SYS_MS1_MSC_ACG_CTL */
2446 #define MS_CTL_SYS_MS1_MSC_ACG_CTL_CFG_GATE_RESP_VX_Pos    MS_CTL_2_1_SYS_MS1_MSC_ACG_CTL_CFG_GATE_RESP_Pos
2447 #define MS_CTL_SYS_MS1_MSC_ACG_CTL_CFG_GATE_RESP_VX_Msk    MS_CTL_2_1_SYS_MS1_MSC_ACG_CTL_CFG_GATE_RESP_Msk
2448 #define MS_CTL_SYS_MS1_MSC_ACG_CTL_SEC_RESP_VX_Pos         MS_CTL_2_1_SYS_MS1_MSC_ACG_CTL_SEC_RESP_Pos
2449 #define MS_CTL_SYS_MS1_MSC_ACG_CTL_SEC_RESP_VX_Msk         MS_CTL_2_1_SYS_MS1_MSC_ACG_CTL_SEC_RESP_Msk
2450 /* MS_CTL.EXP_MS_MSC_ACG_CTL */
2451 #define MS_CTL_EXP_MS_MSC_ACG_CTL_CFG_GATE_RESP_VX_Pos     MS_CTL_2_1_EXP_MS_MSC_ACG_CTL_CFG_GATE_RESP_Pos
2452 #define MS_CTL_EXP_MS_MSC_ACG_CTL_CFG_GATE_RESP_VX_Msk     MS_CTL_2_1_EXP_MS_MSC_ACG_CTL_CFG_GATE_RESP_Msk
2453 #define MS_CTL_EXP_MS_MSC_ACG_CTL_SEC_RESP_VX_Pos          MS_CTL_2_1_EXP_MS_MSC_ACG_CTL_SEC_RESP_Pos
2454 #define MS_CTL_EXP_MS_MSC_ACG_CTL_SEC_RESP_VX_Msk          MS_CTL_2_1_EXP_MS_MSC_ACG_CTL_SEC_RESP_Msk
2455 /* MS_CTL.DMAC0_MSC_ACG_CTL */
2456 #define MS_CTL_DMAC0_MSC_ACG_CTL_CFG_GATE_RESP_VX_Pos      MS_CTL_2_1_DMAC0_MSC_ACG_CTL_CFG_GATE_RESP_Pos
2457 #define MS_CTL_DMAC0_MSC_ACG_CTL_CFG_GATE_RESP_VX_Msk      MS_CTL_2_1_DMAC0_MSC_ACG_CTL_CFG_GATE_RESP_Msk
2458 #define MS_CTL_DMAC0_MSC_ACG_CTL_SEC_RESP_VX_Pos           MS_CTL_2_1_DMAC0_MSC_ACG_CTL_SEC_RESP_Pos
2459 #define MS_CTL_DMAC0_MSC_ACG_CTL_SEC_RESP_VX_Msk           MS_CTL_2_1_DMAC0_MSC_ACG_CTL_SEC_RESP_Msk
2460 /* MS_CTL.DMAC1_MSC_ACG_CTL */
2461 #define MS_CTL_DMAC1_MSC_ACG_CTL_CFG_GATE_RESP_VX_Pos      MS_CTL_2_1_DMAC1_MSC_ACG_CTL_CFG_GATE_RESP_Pos
2462 #define MS_CTL_DMAC1_MSC_ACG_CTL_CFG_GATE_RESP_VX_Msk      MS_CTL_2_1_DMAC1_MSC_ACG_CTL_CFG_GATE_RESP_Msk
2463 #define MS_CTL_DMAC1_MSC_ACG_CTL_SEC_RESP_VX_Pos           MS_CTL_2_1_DMAC1_MSC_ACG_CTL_SEC_RESP_Pos
2464 #define MS_CTL_DMAC1_MSC_ACG_CTL_SEC_RESP_VX_Msk           MS_CTL_2_1_DMAC1_MSC_ACG_CTL_SEC_RESP_Msk
2465 
2466 #else
2467 
2468 #define MS_CTL_PC_CTL_VX(index)          (((MS_CTL_1_2_Type*) MS_CTL_1_2_BASE)->MS[(index)].CTL)
2469 #define MS_CTL_PC_VAL_VX(index)          (((MS_CTL_1_2_Type*) MS_CTL_1_2_BASE)->MS_PC[(index)].PC)
2470 #define MS_CTL_PC_READ_MIRROR_VX(index)  (((MS_CTL_1_2_Type*) MS_CTL_1_2_BASE)->MS_PC[(index)].PC_READ_MIR)
2471 #define MS_CTL_CODE_MS0_MSC_ACG_CTL_VX   (((MS_CTL_1_2_Type*) MS_CTL_1_2_BASE)->CODE_MS0_MSC_ACG_CTL)
2472 #define MS_CTL_SYS_MS0_MSC_ACG_CTL_VX    (((MS_CTL_1_2_Type*) MS_CTL_1_2_BASE)->SYS_MS0_MSC_ACG_CTL)
2473 #define MS_CTL_SYS_MS1_MSC_ACG_CTL_VX    (((MS_CTL_1_2_Type*) MS_CTL_1_2_BASE)->SYS_MS1_MSC_ACG_CTL)
2474 #define MS_CTL_EXP_MS_MSC_ACG_CTL_VX     (((MS_CTL_1_2_Type*) MS_CTL_1_2_BASE)->EXP_MS_MSC_ACG_CTL)
2475 #define MS_CTL_DMAC0_MSC_ACG_CTL_VX      (((MS_CTL_1_2_Type*) MS_CTL_1_2_BASE)->DMAC0_MSC_ACG_CTL)
2476 #define MS_CTL_DMAC1_MSC_ACG_CTL_VX      (((MS_CTL_1_2_Type*) MS_CTL_1_2_BASE)->DMAC1_MSC_ACG_CTL)
2477 
2478 /* MS_CTL.CODE_MS0_MSC_ACG_CTL */
2479 #define MS_CTL_CODE_MS0_MSC_ACG_CTL_CFG_GATE_RESP_VX_Pos   MS_CTL_1_2_CODE_MS0_MSC_ACG_CTL_CFG_GATE_RESP_Pos
2480 #define MS_CTL_CODE_MS0_MSC_ACG_CTL_CFG_GATE_RESP_VX_Msk   MS_CTL_1_2_CODE_MS0_MSC_ACG_CTL_CFG_GATE_RESP_Msk
2481 #define MS_CTL_CODE_MS0_MSC_ACG_CTL_SEC_RESP_VX_Pos        MS_CTL_1_2_CODE_MS0_MSC_ACG_CTL_SEC_RESP_Pos
2482 #define MS_CTL_CODE_MS0_MSC_ACG_CTL_SEC_RESP_VX_Msk        MS_CTL_1_2_CODE_MS0_MSC_ACG_CTL_SEC_RESP_Msk
2483 /* MS_CTL.SYS_MS0_MSC_ACG_CTL */
2484 #define MS_CTL_SYS_MS0_MSC_ACG_CTL_CFG_GATE_RESP_VX_Pos    MS_CTL_1_2_SYS_MS0_MSC_ACG_CTL_CFG_GATE_RESP_Pos
2485 #define MS_CTL_SYS_MS0_MSC_ACG_CTL_CFG_GATE_RESP_VX_Msk    MS_CTL_1_2_SYS_MS0_MSC_ACG_CTL_CFG_GATE_RESP_Msk
2486 #define MS_CTL_SYS_MS0_MSC_ACG_CTL_SEC_RESP_VX_Pos         MS_CTL_1_2_SYS_MS0_MSC_ACG_CTL_SEC_RESP_Pos
2487 #define MS_CTL_SYS_MS0_MSC_ACG_CTL_SEC_RESP_VX_Msk         MS_CTL_1_2_SYS_MS0_MSC_ACG_CTL_SEC_RESP_Msk
2488 /* MS_CTL.SYS_MS1_MSC_ACG_CTL */
2489 #define MS_CTL_SYS_MS1_MSC_ACG_CTL_CFG_GATE_RESP_VX_Pos    MS_CTL_1_2_SYS_MS1_MSC_ACG_CTL_CFG_GATE_RESP_Pos
2490 #define MS_CTL_SYS_MS1_MSC_ACG_CTL_CFG_GATE_RESP_VX_Msk    MS_CTL_1_2_SYS_MS1_MSC_ACG_CTL_CFG_GATE_RESP_Msk
2491 #define MS_CTL_SYS_MS1_MSC_ACG_CTL_SEC_RESP_VX_Pos         MS_CTL_1_2_SYS_MS1_MSC_ACG_CTL_SEC_RESP_Pos
2492 #define MS_CTL_SYS_MS1_MSC_ACG_CTL_SEC_RESP_VX_Msk         MS_CTL_1_2_SYS_MS1_MSC_ACG_CTL_SEC_RESP_Msk
2493 /* MS_CTL.EXP_MS_MSC_ACG_CTL */
2494 #define MS_CTL_EXP_MS_MSC_ACG_CTL_CFG_GATE_RESP_VX_Pos     MS_CTL_1_2_EXP_MS_MSC_ACG_CTL_CFG_GATE_RESP_Pos
2495 #define MS_CTL_EXP_MS_MSC_ACG_CTL_CFG_GATE_RESP_VX_Msk     MS_CTL_1_2_EXP_MS_MSC_ACG_CTL_CFG_GATE_RESP_Msk
2496 #define MS_CTL_EXP_MS_MSC_ACG_CTL_SEC_RESP_VX_Pos          MS_CTL_1_2_EXP_MS_MSC_ACG_CTL_SEC_RESP_Pos
2497 #define MS_CTL_EXP_MS_MSC_ACG_CTL_SEC_RESP_VX_Msk          MS_CTL_1_2_EXP_MS_MSC_ACG_CTL_SEC_RESP_Msk
2498 /* MS_CTL.DMAC0_MSC_ACG_CTL */
2499 #define MS_CTL_DMAC0_MSC_ACG_CTL_CFG_GATE_RESP_VX_Pos      MS_CTL_1_2_DMAC0_MSC_ACG_CTL_CFG_GATE_RESP_Pos
2500 #define MS_CTL_DMAC0_MSC_ACG_CTL_CFG_GATE_RESP_VX_Msk      MS_CTL_1_2_DMAC0_MSC_ACG_CTL_CFG_GATE_RESP_Msk
2501 #define MS_CTL_DMAC0_MSC_ACG_CTL_SEC_RESP_VX_Pos           MS_CTL_1_2_DMAC0_MSC_ACG_CTL_SEC_RESP_Pos
2502 #define MS_CTL_DMAC0_MSC_ACG_CTL_SEC_RESP_VX_Msk           MS_CTL_1_2_DMAC0_MSC_ACG_CTL_SEC_RESP_Msk
2503 /* MS_CTL.DMAC1_MSC_ACG_CTL */
2504 #define MS_CTL_DMAC1_MSC_ACG_CTL_CFG_GATE_RESP_VX_Pos      MS_CTL_1_2_DMAC1_MSC_ACG_CTL_CFG_GATE_RESP_Pos
2505 #define MS_CTL_DMAC1_MSC_ACG_CTL_CFG_GATE_RESP_VX_Msk      MS_CTL_1_2_DMAC1_MSC_ACG_CTL_CFG_GATE_RESP_Msk
2506 #define MS_CTL_DMAC1_MSC_ACG_CTL_SEC_RESP_VX_Pos           MS_CTL_1_2_DMAC1_MSC_ACG_CTL_SEC_RESP_Pos
2507 #define MS_CTL_DMAC1_MSC_ACG_CTL_SEC_RESP_VX_Msk           MS_CTL_1_2_DMAC1_MSC_ACG_CTL_SEC_RESP_Msk
2508 
2509 #endif
2510 
2511 
2512 /*******************************************************************************
2513 *                MXSRAMC
2514 *******************************************************************************/
2515 #define MXSRAMC_STATUS                                 (((RAMC_Type *) RAMC0_BASE)->STATUS)
2516 #define MXSRAMC_PWR_MACRO_CTL                          (((RAMC_Type *) RAMC0_BASE)->PWR_MACRO_CTL)
2517 #define MXSRAMC_PWR_MACRO_CTL_LOCK                     (((RAMC_Type *) RAMC0_BASE)->PWR_MACRO_CTL_LOCK)
2518 
2519 
2520 #define MXSRAMC_PWR_MACRO_CTL_LOCK_CLR0                0X00000001U
2521 #define MXSRAMC_PWR_MACRO_CTL_LOCK_CLR1                0X00000002U
2522 #define MXSRAMC_PWR_MACRO_CTL_LOCK_SET01               0X00000003U
2523 #define CY_CPUSS_RAMC0_MACRO_NR                        CPUSS_RAMC0_MACRO_NR
2524 
2525 
2526 /*******************************************************************************
2527 *                FLASHC
2528 *******************************************************************************/
2529 
2530 #define FLASHC_FLASH_CTL                    (((FLASHC_Type *)(FLASHC))->FLASH_CTL)
2531 #define FLASHC_FLASH_ECC_INJ_EN             (((FLASHC_Type *)(FLASHC))->ECC_INJ_EN)
2532 #define FLASHC_FLASH_ECC_INJ_CTL            (((FLASHC_Type *)(FLASHC))->ECC_INJ_CTL)
2533 
2534 /*******************************************************************************
2535 *                PPC
2536 *******************************************************************************/
2537 #if defined (CY_DEVICE_BOY2)
2538 #define PPC_VALIDATE(ipInst, regionID)                  ((((ipInst) == PPC) && ((regionID) <= (uint32_t)PROT_MCPASS))? true : false)
2539 #else
2540 #define PPC_VALIDATE(ipInst, regionID)                  ((((ipInst) == PPC) && ((regionID) <= (uint32_t)PROT_BTSS_SECURE))? true : false)
2541 #endif /* CY_DEVICE_BOY2 */
2542 
2543 #ifdef _CYIP_PPC_V2_H_
2544 #define PPC_Type PPC_PPC_Type
2545 #define PPC_CTL_RESP_CFG_Msk PPC_PPC_CTL_RESP_CFG_Msk
2546 #endif
2547 
2548 
2549 /*******************************************************************************
2550 *            CORDIC
2551 *******************************************************************************/
2552 #if defined (CY_DEVICE_BOY2)
2553 typedef MXCORDIC_1_0_Type MXCORDIC_Type;
2554 
2555 #define MXCORDIC    MXCORDIC_1_0
2556 
2557 /* MXCORDIC.CTL */
2558 #define MXCORDIC_CTL_ENABLED_Pos                MXCORDIC_1_0_CTL_ENABLED_Pos
2559 #define MXCORDIC_CTL_ENABLED_Msk                MXCORDIC_1_0_CTL_ENABLED_Msk
2560 /* MXCORDIC.ID */
2561 #define MXCORDIC_ID_MOD_REV_Pos                MXCORDIC_1_0_ID_MOD_REV_Pos
2562 #define MXCORDIC_ID_MOD_REV_Msk                MXCORDIC_1_0_ID_MOD_REV_Msk
2563 #define MXCORDIC_ID_MOD_TYPE_Pos               MXCORDIC_1_0_ID_MOD_TYPE_Pos
2564 #define MXCORDIC_ID_MOD_TYPE_Msk               MXCORDIC_1_0_ID_MOD_TYPE_Msk
2565 #define MXCORDIC_ID_MOD_NUMBER_Pos             MXCORDIC_1_0_ID_MOD_NUMBER_Pos
2566 #define MXCORDIC_ID_MOD_NUMBER_Msk             MXCORDIC_1_0_ID_MOD_NUMBER_Msk
2567 /* MXCORDIC.INTR */
2568 #define MXCORDIC_INTR_CDEOC_Pos                MXCORDIC_1_0_INTR_CDEOC_Pos
2569 #define MXCORDIC_INTR_CDEOC_Msk                MXCORDIC_1_0_INTR_CDEOC_Msk
2570 #define MXCORDIC_INTR_CDERR_Pos                MXCORDIC_1_0_INTR_CDERR_Pos
2571 #define MXCORDIC_INTR_CDERR_Msk                MXCORDIC_1_0_INTR_CDERR_Msk
2572 /* MXCORDIC.INTR_SET */
2573 #define MXCORDIC_INTR_SET_CDEOC_Pos            MXCORDIC_1_0_INTR_SET_CDEOC_Pos
2574 #define MXCORDIC_INTR_SET_CDEOC_Msk            MXCORDIC_1_0_INTR_SET_CDEOC_Msk
2575 #define MXCORDIC_INTR_SET_CDERR_Pos            MXCORDIC_1_0_INTR_SET_CDERR_Pos
2576 #define MXCORDIC_INTR_SET_CDERR_Msk            MXCORDIC_1_0_INTR_SET_CDERR_Msk
2577 /* MXCORDIC.INTR_MASK */
2578 #define MXCORDIC_INTR_MASK_CDEOC_Pos           MXCORDIC_1_0_INTR_MASK_CDEOC_Pos
2579 #define MXCORDIC_INTR_MASK_CDEOC_Msk           MXCORDIC_1_0_INTR_MASK_CDEOC_Msk
2580 #define MXCORDIC_INTR_MASK_CDERR_Pos           MXCORDIC_1_0_INTR_MASK_CDERR_Pos
2581 #define MXCORDIC_INTR_MASK_CDERR_Msk           MXCORDIC_1_0_INTR_MASK_CDERR_Msk
2582 /* MXCORDIC.INTR_MASKED */
2583 #define MXCORDIC_INTR_MASKED_CDEOC_Pos         MXCORDIC_1_0_INTR_MASKED_CDEOC_Pos
2584 #define MXCORDIC_INTR_MASKED_CDEOC_Msk         MXCORDIC_1_0_INTR_MASKED_CDEOC_Msk
2585 #define MXCORDIC_INTR_MASKED_CDERR_Pos         MXCORDIC_1_0_INTR_MASKED_CDERR_Pos
2586 #define MXCORDIC_INTR_MASKED_CDERR_Msk         MXCORDIC_1_0_INTR_MASKED_CDERR_Msk
2587 /* MXCORDIC.KEEP */
2588 #define MXCORDIC_KEEP_KEEPX_Pos                MXCORDIC_1_0_KEEP_KEEPX_Pos
2589 #define MXCORDIC_KEEP_KEEPX_Msk                MXCORDIC_1_0_KEEP_KEEPX_Msk
2590 #define MXCORDIC_KEEP_KEEPY_Pos                MXCORDIC_1_0_KEEP_KEEPY_Pos
2591 #define MXCORDIC_KEEP_KEEPY_Msk                MXCORDIC_1_0_KEEP_KEEPY_Msk
2592 #define MXCORDIC_KEEP_KEEPZ_Pos                MXCORDIC_1_0_KEEP_KEEPZ_Pos
2593 #define MXCORDIC_KEEP_KEEPZ_Msk                MXCORDIC_1_0_KEEP_KEEPZ_Msk
2594 /* MXCORDIC.CON */
2595 #define MXCORDIC_CON_MODE_Pos                  MXCORDIC_1_0_CON_MODE_Pos
2596 #define MXCORDIC_CON_MODE_Msk                  MXCORDIC_1_0_CON_MODE_Msk
2597 #define MXCORDIC_CON_ROTVEC_Pos                MXCORDIC_1_0_CON_ROTVEC_Pos
2598 #define MXCORDIC_CON_ROTVEC_Msk                MXCORDIC_1_0_CON_ROTVEC_Msk
2599 #define MXCORDIC_CON_ST_MODE_Pos               MXCORDIC_1_0_CON_ST_MODE_Pos
2600 #define MXCORDIC_CON_ST_MODE_Msk               MXCORDIC_1_0_CON_ST_MODE_Msk
2601 #define MXCORDIC_CON_X_USIGN_Pos               MXCORDIC_1_0_CON_X_USIGN_Pos
2602 #define MXCORDIC_CON_X_USIGN_Msk               MXCORDIC_1_0_CON_X_USIGN_Msk
2603 #define MXCORDIC_CON_MPS_Pos                   MXCORDIC_1_0_CON_MPS_Pos
2604 #define MXCORDIC_CON_MPS_Msk                   MXCORDIC_1_0_CON_MPS_Msk
2605 #define MXCORDIC_CON_N_ITER_Pos                MXCORDIC_1_0_CON_N_ITER_Pos
2606 #define MXCORDIC_CON_N_ITER_Msk                MXCORDIC_1_0_CON_N_ITER_Msk
2607 /* MXCORDIC.CORDX */
2608 #define MXCORDIC_CORDX_DATA_Pos                MXCORDIC_1_0_CORDX_DATA_Pos
2609 #define MXCORDIC_CORDX_DATA_Msk                MXCORDIC_1_0_CORDX_DATA_Msk
2610 /* MXCORDIC.CORDY */
2611 #define MXCORDIC_CORDY_DATA_Pos                MXCORDIC_1_0_CORDY_DATA_Pos
2612 #define MXCORDIC_CORDY_DATA_Msk                MXCORDIC_1_0_CORDY_DATA_Msk
2613 /* MXCORDIC.CORDZ */
2614 #define MXCORDIC_CORDZ_DATA_Pos                MXCORDIC_1_0_CORDZ_DATA_Pos
2615 #define MXCORDIC_CORDZ_DATA_Msk                MXCORDIC_1_0_CORDZ_DATA_Msk
2616 /* MXCORDIC.CORRX */
2617 #define MXCORDIC_CORRX_RESULT_Pos              MXCORDIC_1_0_CORRX_RESULT_Pos
2618 #define MXCORDIC_CORRX_RESULT_Msk              MXCORDIC_1_0_CORRX_RESULT_Msk
2619 /* MXCORDIC.CORRY */
2620 #define MXCORDIC_CORRY_RESULT_Pos              MXCORDIC_1_0_CORRY_RESULT_Pos
2621 #define MXCORDIC_CORRY_RESULT_Msk              MXCORDIC_1_0_CORRY_RESULT_Msk
2622 /* MXCORDIC.CORRZ */
2623 #define MXCORDIC_CORRZ_RESULT_Pos              MXCORDIC_1_0_CORRZ_RESULT_Pos
2624 #define MXCORDIC_CORRZ_RESULT_Msk              MXCORDIC_1_0_CORRZ_RESULT_Msk
2625 /* MXCORDIC.STAT */
2626 #define MXCORDIC_STAT_BSY_Pos                  MXCORDIC_1_0_STAT_BSY_Pos
2627 #define MXCORDIC_STAT_BSY_Msk                  MXCORDIC_1_0_STAT_BSY_Msk
2628 /* MXCORDIC.START_CMD */
2629 #define MXCORDIC_START_CMD_ST_Pos              MXCORDIC_1_0_START_CMD_ST_Pos
2630 #define MXCORDIC_START_CMD_ST_Msk              MXCORDIC_1_0_START_CMD_ST_Msk
2631 
2632 #define MXCORDIC_CTL(base)                           (((MXCORDIC_Type *)(base))->CTL)
2633 #define MXCORDIC_INTR(base)                          (((MXCORDIC_Type *)(base))->INTR)
2634 #define MXCORDIC_INTR_SET(base)                      (((MXCORDIC_Type *)(base))->INTR_SET)
2635 #define MXCORDIC_INTR_MASK(base)                     (((MXCORDIC_Type *)(base))->INTR_MASK)
2636 #define MXCORDIC_INTR_MASKED(base)                   (((MXCORDIC_Type *)(base))->INTR_MASKED)
2637 #define MXCORDIC_KEEP(base)                          (((MXCORDIC_Type *)(base))->KEEP)
2638 #define MXCORDIC_CON(base)                           (((MXCORDIC_Type *)(base))->CON)
2639 #define MXCORDIC_CORDX(base)                         (((MXCORDIC_Type *)(base))->CORDX)
2640 #define MXCORDIC_CORDY(base)                         (((MXCORDIC_Type *)(base))->CORDY)
2641 #define MXCORDIC_CORDZ(base)                         (((MXCORDIC_Type *)(base))->CORDZ)
2642 #define MXCORDIC_CORRX(base)                         (((MXCORDIC_Type *)(base))->CORRX)
2643 #define MXCORDIC_CORRY(base)                         (((MXCORDIC_Type *)(base))->CORRY)
2644 #define MXCORDIC_CORRZ(base)                         (((MXCORDIC_Type *)(base))->CORRZ)
2645 #define MXCORDIC_STAT(base)                          (((MXCORDIC_Type *)(base))->STAT)
2646 #define MXCORDIC_START_CMD(base)                     (((MXCORDIC_Type *)(base))->START_CMD)
2647 
2648 #endif
2649 
2650 
2651 /*******************************************************************************
2652 *                MCPASS
2653 *******************************************************************************/
2654 
2655 #ifdef CY_IP_MXS40MCPASS
2656 #define MCPASS_AC_CTRL(base)                         (((MCPASS_Type *)(base))->ACTRLR.CTRL)
2657 #define MCPASS_AC_BLOCK_STATUS(base)                 (((MCPASS_Type *)(base))->ACTRLR.BLOCK_STATUS)
2658 #define MCPASS_AC_STATUS(base)                       (((MCPASS_Type *)(base))->ACTRLR.STATUS)
2659 #define MCPASS_AC_CMD_RUN(base)                      (((MCPASS_Type *)(base))->ACTRLR.CMD_RUN)
2660 #define MCPASS_AC_CMD_STATE(base)                    (((MCPASS_Type *)(base))->ACTRLR.CMD_STATE)
2661 #define MCPASS_AC_CFG(base)                          (((MCPASS_Type *)(base))->ACTRLR.CFG)
2662 #define MCPASS_AC_CNTR_STATUS(base, cntIdx)          (((MCPASS_Type *)(base))->ACTRLR.CNTR_STATUS[cntIdx])
2663 #define MCPASS_AC_TT_CFG0(base, rowIdx)              (((MCPASS_ACTRLR_TTCFG_Type *)(&((MCPASS_Type *)base)->ACTRLR.TTCFG[rowIdx]))->TT_CFG0)
2664 #define MCPASS_AC_TT_CFG1(base, rowIdx)              (((MCPASS_ACTRLR_TTCFG_Type *)(&((MCPASS_Type *)base)->ACTRLR.TTCFG[rowIdx]))->TT_CFG1)
2665 #define MCPASS_AC_TT_CFG2(base, rowIdx)              (((MCPASS_ACTRLR_TTCFG_Type *)(&((MCPASS_Type *)base)->ACTRLR.TTCFG[rowIdx]))->TT_CFG2)
2666 #define MCPASS_AC_TT_CFG3(base, rowIdx)              (((MCPASS_ACTRLR_TTCFG_Type *)(&((MCPASS_Type *)base)->ACTRLR.TTCFG[rowIdx]))->TT_CFG3)
2667 #define MCPASS_FIFO_INTR(base)                       (((MCPASS_Type *)(base))->MMIO.FIFO_INTR)
2668 #define MCPASS_FIFO_INTR_SET(base)                   (((MCPASS_Type *)(base))->MMIO.FIFO_INTR_SET)
2669 #define MCPASS_FIFO_INTR_MASK(base)                  (((MCPASS_Type *)(base))->MMIO.FIFO_INTR_MASK)
2670 #define MCPASS_FIFO_INTR_MASKED(base)                (((MCPASS_Type *)(base))->MMIO.FIFO_INTR_MASKED)
2671 #define MCPASS_MMIO_INTR(base)                       (((MCPASS_Type *)(base))->MMIO.MCPASS_INTR)
2672 #define MCPASS_MMIO_INTR_SET(base)                   (((MCPASS_Type *)(base))->MMIO.MCPASS_INTR_SET)
2673 #define MCPASS_MMIO_INTR_MASK(base)                  (((MCPASS_Type *)(base))->MMIO.MCPASS_INTR_MASK)
2674 #define MCPASS_MMIO_TR_LEVEL_CFG(base)               (((MCPASS_Type *)(base))->MMIO.TR_LEVEL_CFG)
2675 #define MCPASS_MMIO_TR_LEVEL_OUT(base, trigIdx)      (((MCPASS_Type *)(base))->MMIO.TR_LEVEL_OUT[trigIdx])
2676 #define MCPASS_MMIO_TR_PULSE_OUT(base, trigIdx)      (((MCPASS_Type *)(base))->MMIO.TR_PULSE_OUT[trigIdx])
2677 #define MCPASS_MMIO_INTR_MASKED(base)                (((MCPASS_Type *)(base))->MMIO.MCPASS_INTR_MASKED)
2678 #define MCPASS_MMIO_FIFO_CFG(base)                   (((MCPASS_Type *)(base))->MMIO.FIFO.CFG)
2679 #define MCPASS_MMIO_FIFO_LEVEL(base, fifoIdx)        (((MCPASS_Type *)(base))->MMIO.FIFO.LEVEL[fifoIdx])
2680 #define MCPASS_MMIO_FIFO_USED(base, fifoIdx)         (((MCPASS_Type *)(base))->MMIO.FIFO.USED[fifoIdx])
2681 #define MCPASS_MMIO_FIFO_RD_DATA(base, fifoIdx)      (((MCPASS_Type *)(base))->MMIO.FIFO.RD_DATA[fifoIdx])
2682 #define MCPASS_SAR_CALOFFST(base, idx)               (((MCPASS_Type *)(base))->SARADC.CALOFFST[idx])
2683 #define MCPASS_SAR_CALLIN(base, idx)                 (((MCPASS_Type *)(base))->SARADC.CALLIN[idx])
2684 #define MCPASS_SAR_CALGAINC(base)                    (((MCPASS_Type *)(base))->SARADC.CALGAINC)
2685 #define MCPASS_SAR_CALGAINF(base)                    (((MCPASS_Type *)(base))->SARADC.CALGAINF)
2686 #define MCPASS_SAR_CTRL(base)                        (((MCPASS_Type *)(base))->SAR.CFG.CTRL)
2687 #define MCPASS_SAR_RESULT_INTR(base)                 (((MCPASS_Type *)(base))->SAR.CFG.SAR_RESULT_INTR)
2688 #define MCPASS_SAR_RESULT_INTR_SET(base)             (((MCPASS_Type *)(base))->SAR.CFG.SAR_RESULT_INTR_SET)
2689 #define MCPASS_SAR_RESULT_INTR_MASK(base)            (((MCPASS_Type *)(base))->SAR.CFG.SAR_RESULT_INTR_MASK)
2690 #define MCPASS_SAR_RESULT_INTR_MASKED(base)          (((MCPASS_Type *)(base))->SAR.CFG.SAR_RESULT_INTR_MASKED)
2691 #define MCPASS_SAR_LIMIT_INTR(base)                  (((MCPASS_Type *)(base))->SAR.CFG.SAR_RANGE_INTR)
2692 #define MCPASS_SAR_LIMIT_INTR_SET(base)              (((MCPASS_Type *)(base))->SAR.CFG.SAR_RANGE_INTR_SET)
2693 #define MCPASS_SAR_LIMIT_INTR_MASK(base)             (((MCPASS_Type *)(base))->SAR.CFG.SAR_RANGE_INTR_MASK)
2694 #define MCPASS_SAR_LIMIT_INTR_MASKED(base)           (((MCPASS_Type *)(base))->SAR.CFG.SAR_RANGE_INTR_MASKED)
2695 #define MCPASS_SAR_GROUP_HOLD_VIOLATION(base)        (((MCPASS_Type *)(base))->SAR.CFG.ENTRY_HOLD_VIOLATION)
2696 #define MCPASS_SAR_GROUP_HOLD_CNT(base)              (((MCPASS_Type *)(base))->SAR.CFG.ENTRY_HOLD_CNT)
2697 #define MCPASS_SAR_LIMIT_STATUS(base)                (((MCPASS_Type *)(base))->SAR.CFG.RANGE_STATUS)
2698 #define MCPASS_SAR_STATUS(base)                      (((MCPASS_Type *)(base))->SAR.CFG.SAR_STATUS)
2699 #define MCPASS_SAR_RESULT_STATUS(base)               (((MCPASS_Type *)(base))->SAR.CFG.RESULT_UPDATED)
2700 #define MCPASS_SAR_RESULT_OVERFLOW(base)             (((MCPASS_Type *)(base))->SAR.CFG.RESULT_OVERFLOW)
2701 #define MCPASS_SAR_RESULT_MASK(base)                 (((MCPASS_Type *)(base))->SAR.CFG.RESULT_MASK)
2702 #define MCPASS_SAR_CHAN_RESULT(base, chanIdx)        (((MCPASS_Type *)(base))->SAR.CFG.CHAN_RESULT[chanIdx])
2703 #define MCPASS_SAR_CHAN_RESULT_PACKED(base, chanIdx) (((MCPASS_Type *)(base))->SAR.CFG.CHAN_RESULT_PACKED[chanIdx])
2704 #define MCPASS_SAR_FIR_RESULT(base, firIdx)          (((MCPASS_Type *)(base))->SAR.CFG.FIR_RESULT[firIdx])
2705 #define MCPASS_SAR_LIMIT_CFG(base, limIdx)           (((MCPASS_Type *)(base))->SAR.CFG.RANGE_CFG[limIdx])
2706 #define MCPASS_SAR_LIMIT_LOW(base, limIdx)           (((MCPASS_Type *)(base))->SAR.CFG.RANGE_LOW[limIdx])
2707 #define MCPASS_SAR_LIMIT_HIGH(base, limIdx)          (((MCPASS_Type *)(base))->SAR.CFG.RANGE_HIGH[limIdx])
2708 #define MCPASS_SAR_AROUTE_STATUS(base)               (((MCPASS_Type *)(base))->SAR.CFG.AROUTE_STATUS)
2709 #define MCPASS_SAR_AROUTE_CTRL_MODE(base)            (((MCPASS_Type *)(base))->SAR.CFG.AROUTE_CTRL_MODE)
2710 #define MCPASS_SAR_AROUTE_FW_CTRL(base)              (((MCPASS_Type *)(base))->SAR.CFG.AROUTE_FW_CTRL)
2711 #define MCPASS_SAR_AROUTE_FW_CTRL_CLR(base)          (((MCPASS_Type *)(base))->SAR.CFG.AROUTE_FW_CTRL_CLR)
2712 #define MCPASS_SAR_TEMPSENSE_CTRL(base)              (((MCPASS_Type *)(base))->SAR.CFG.TEMPSENSE_CTRL)
2713 #define MCPASS_SAR_SAMP_EN(base)                     (((MCPASS_Type *)(base))->SAR.CFG.SAMP_EN)
2714 #define MCPASS_SAR_SAMP_GAIN(base)                   (((MCPASS_Type *)(base))->SAR.CFG.SAMP_GAIN)
2715 #define MCPASS_SAR_SAMPLE_TIME(base, timIdx)         (((MCPASS_Type *)(base))->SAR.CFG.SAMPLE_TIME[timIdx])
2716 #define MCPASS_SAR_CHAN_CFG(base, chanIdx)           (((MCPASS_Type *)(base))->SAR.CFG.CHAN_CFG[chanIdx])
2717 #define MCPASS_SAR_CHAN_COEFF(base, coefIdx)         (((MCPASS_Type *)(base))->SAR.CFG.CHAN_COEFF[coefIdx])
2718 #define MCPASS_SAR_FIR_CFG(base, firIdx)             (((MCPASS_Type *)(base))->SAR.CFG.FIR_CFG[firIdx])
2719 #define MCPASS_SAR_SEQ_GROUP(base, grpIdx)           (((MCPASS_Type *)(base))->SAR.SEQ_ENTRY[grpIdx])
2720 #define MCPASS_SAR_FIR_COEFS(base, firIdx, coefIdx)  (((MCPASS_Type *)(base))->SAR.FIR[firIdx].FIR_COEFS[coefIdx])
2721 #define MCPASS_CSG_SLICE_CMP_CFG(base, slcIdx)       (((MCPASS_Type *)(base))->CSG.SLICE[slcIdx].CMP_CFG)
2722 #define MCPASS_CSG_SLICE_DAC_CFG(base, slcIdx)       (((MCPASS_Type *)(base))->CSG.SLICE[slcIdx].DAC_CFG)
2723 #define MCPASS_CSG_SLICE_DAC_PARAM_SYNC(base, slcIdx)   (((MCPASS_Type *)(base))->CSG.SLICE[slcIdx].DAC_PARAM_SYNC)
2724 #define MCPASS_CSG_SLICE_DAC_MODE_START(base, slcIdx)   (((MCPASS_Type *)(base))->CSG.SLICE[slcIdx].DAC_MODE_START)
2725 #define MCPASS_CSG_SLICE_DAC_VAL_A(base, slcIdx)     (((MCPASS_Type *)(base))->CSG.SLICE[slcIdx].DAC_VAL_A)
2726 #define MCPASS_CSG_SLICE_DAC_VAL_B(base, slcIdx)     (((MCPASS_Type *)(base))->CSG.SLICE[slcIdx].DAC_VAL_B)
2727 #define MCPASS_CSG_SLICE_DAC_PERIOD(base, slcIdx)    (((MCPASS_Type *)(base))->CSG.SLICE[slcIdx].DAC_PERIOD)
2728 #define MCPASS_CSG_SLICE_DAC_VAL(base, slcIdx)       (((MCPASS_Type *)(base))->CSG.SLICE[slcIdx].DAC_VAL)
2729 #define MCPASS_CSG_SLICE_DAC_STATUS(base, slcIdx)    (((MCPASS_Type *)(base))->CSG.SLICE[slcIdx].DAC_STATUS)
2730 #define MCPASS_CSG_SLICE_CMP_STATUS(base, slcIdx)    (((MCPASS_Type *)(base))->CSG.SLICE[slcIdx].CMP_STATUS)
2731 #define MCPASS_CSG_LUT_CFG(base, lutIdx, dataIdx)    (((MCPASS_Type *)(base))->CSG.LUT_CFG[lutIdx].LUT_DATA[dataIdx])
2732 #define MCPASS_CSG_CTRL(base)                        (((MCPASS_Type *)(base))->CSG.CSG_CTRL)
2733 #define MCPASS_CSG_DAC_INTR(base)                    (((MCPASS_Type *)(base))->CSG.DAC_INTR)
2734 #define MCPASS_CSG_DAC_INTR_SET(base)                (((MCPASS_Type *)(base))->CSG.DAC_INTR_SET)
2735 #define MCPASS_CSG_DAC_INTR_MASK(base)               (((MCPASS_Type *)(base))->CSG.DAC_INTR_MASK)
2736 #define MCPASS_CSG_DAC_INTR_MASKED(base)             (((MCPASS_Type *)(base))->CSG.DAC_INTR_MASKED)
2737 #define MCPASS_CSG_CMP_INTR(base)                    (((MCPASS_Type *)(base))->CSG.CMP_INTR)
2738 #define MCPASS_CSG_CMP_INTR_SET(base)                (((MCPASS_Type *)(base))->CSG.CMP_INTR_SET)
2739 #define MCPASS_CSG_CMP_INTR_MASK(base)               (((MCPASS_Type *)(base))->CSG.CMP_INTR_MASK)
2740 #define MCPASS_CSG_CMP_INTR_MASKED(base)             (((MCPASS_Type *)(base))->CSG.CMP_INTR_MASKED)
2741 
2742 #define MCPASS_SAR_GROUP_TR_COLLISION(base)          (((MCPASS_Type *)(base))->SAR.CFG.ENTRY_TR_COLLISION)
2743 #define MCPASS_INFRA_TR_IN_SEL(base)                 (((MCPASS_Type *)(base))->INFRA.TR_IN_SEL)
2744 #define MCPASS_INFRA_HW_TR_MODE(base)                (((MCPASS_Type *)(base))->INFRA.HW_TR_MODE)
2745 #define MCPASS_INFRA_FW_TR_PULSE(base)               (((MCPASS_Type *)(base))->INFRA.FW_TR_PULSE)
2746 #define MCPASS_INFRA_FW_TR_LEVEL(base)               (((MCPASS_Type *)(base))->INFRA.FW_TR_LEVEL)
2747 #define MCPASS_INFRA_CLOCK_STARTUP_DIV(base)         (((MCPASS_Type *)(base))->INFRA.CLOCK_STARTUP_DIV)
2748 #define MCPASS_INFRA_STARTUP_CFG(base, cfg)          (((MCPASS_Type *)(base))->INFRA.STARTUP_CFG[cfg])
2749 #define MCPASS_INFRA_AREF_CTRL(base)                 (((MCPASS_Type *)(base))->INFRA.AREFV2.AREF_CTRL)
2750 #define MCPASS_INFRA_VDDA_STATUS(base)               (((MCPASS_Type *)(base))->INFRA.VDDA_STATUS)
2751 
2752 #define CY_HPPASS_FIFO_RD_DATA_RESULT_Pos    (0UL)
2753 #define CY_HPPASS_FIFO_RD_DATA_RESULT_Msk    (0xFFFFUL)
2754 
2755 #define CY_HPPASS_FIFO_RD_DATA_CHAN_ID_Pos   (16UL)
2756 #define CY_HPPASS_FIFO_RD_DATA_CHAN_ID_Msk   (0x1F0000UL)
2757 #endif
2758 
2759 CY_MISRA_BLOCK_END('MISRA C-2012 Rule 8.6')
2760 
2761 #endif /* CY_DEVICE_H_ */
2762 
2763 /* [] END OF FILE */
2764 
2765