Merge PCB updates
[SCSI2SD.git] / software / SCSI2SD / v4 / SCSI2SD.cydsn / Generated_Source / PSoC5 / CyLib.h
1 /*******************************************************************************
2 * File Name: CyLib.h
3 * Version 4.0
4 *
5 * Description:
6 *  Provides the function definitions for the system, clocking, interrupts and
7 *  watchdog timer API.
8 *
9 * Note:
10 *  Documentation of the API's in this file is located in the System Reference
11 *  Guide provided with PSoC Creator.
12 *
13 ********************************************************************************
14 * Copyright 2008-2013, Cypress Semiconductor Corporation.  All rights reserved.
15 * You may use this file only in accordance with the license, terms, conditions,
16 * disclaimers, and limitations in the end user license agreement accompanying
17 * the software package with which this file was provided.
18 *******************************************************************************/
19
20 #if !defined(CY_BOOT_CYLIB_H)
21 #define CY_BOOT_CYLIB_H
22
23 #include <string.h>
24 #include <limits.h>
25 #include <ctype.h>
26
27 #include "cytypes.h"
28 #include "cyfitter.h"
29 #include "cydevice_trm.h"
30 #include "cyPm.h"
31
32 #if(CY_PSOC3)
33     #include <PSoC3_8051.h>
34 #endif  /* (CY_PSOC3) */
35
36
37 #if(CYDEV_VARIABLE_VDDA == 1)
38
39     #include "CyScBoostClk.h"
40
41 #endif  /* (CYDEV_VARIABLE_VDDA == 1) */
42
43
44 /* Global variable with preserved reset status */
45 extern uint8 CYXDATA CyResetStatus;
46
47
48 /* Variable Vdda */
49 #if(CYDEV_VARIABLE_VDDA == 1)
50
51     extern uint8 CyScPumpEnabled;
52
53 #endif  /* (CYDEV_VARIABLE_VDDA == 1) */
54
55
56 /* Do not use these definitions directly in your application */
57 extern uint32 cydelay_freq_hz;
58 extern uint32 cydelay_freq_khz;
59 extern uint8  cydelay_freq_mhz;
60 extern uint32 cydelay_32k_ms;
61
62
63 /***************************************
64 *    Function Prototypes
65 ***************************************/
66 cystatus CyPLL_OUT_Start(uint8 wait) ;
67 void  CyPLL_OUT_Stop(void) ;
68 void  CyPLL_OUT_SetPQ(uint8 pDiv, uint8 qDiv, uint8 current) ;
69 void  CyPLL_OUT_SetSource(uint8 source) ;
70
71 void  CyIMO_Start(uint8 wait) ;
72 void  CyIMO_Stop(void) ;
73 void  CyIMO_SetFreq(uint8 freq) ;
74 void  CyIMO_SetSource(uint8 source) ;
75 void  CyIMO_EnableDoubler(void) ;
76 void  CyIMO_DisableDoubler(void) ;
77
78 void  CyMasterClk_SetSource(uint8 source) ;
79 void  CyMasterClk_SetDivider(uint8 divider) ;
80 void  CyBusClk_SetDivider(uint16 divider) ;
81
82 #if(CY_PSOC3)
83     void  CyCpuClk_SetDivider(uint8 divider) ;
84 #endif  /* (CY_PSOC3) */
85
86 void  CyUsbClk_SetSource(uint8 source) ;
87
88 void  CyILO_Start1K(void) ;
89 void  CyILO_Stop1K(void) ;
90 void  CyILO_Start100K(void) ;
91 void  CyILO_Stop100K(void) ;
92 void  CyILO_Enable33K(void) ;
93 void  CyILO_Disable33K(void) ;
94 void  CyILO_SetSource(uint8 source) ;
95 uint8 CyILO_SetPowerMode(uint8 mode) ;
96
97 uint8 CyXTAL_32KHZ_ReadStatus(void) ;
98 uint8 CyXTAL_32KHZ_SetPowerMode(uint8 mode) ;
99 void  CyXTAL_32KHZ_Start(void) ;
100 void  CyXTAL_32KHZ_Stop(void) ;
101
102 cystatus CyXTAL_Start(uint8 wait) ;
103 void  CyXTAL_Stop(void) ;
104 void  CyXTAL_SetStartup(uint8 setting) ;
105
106 void  CyXTAL_EnableErrStatus(void) ;
107 void  CyXTAL_DisableErrStatus(void) ;
108 uint8 CyXTAL_ReadStatus(void) ;
109 void  CyXTAL_EnableFaultRecovery(void) ;
110 void  CyXTAL_DisableFaultRecovery(void) ;
111
112 void CyXTAL_SetFbVoltage(uint8 setting) ;
113 void CyXTAL_SetWdVoltage(uint8 setting) ;
114
115 void CyWdtStart(uint8 ticks, uint8 lpMode) ;
116 void CyWdtClear(void) ;
117
118 /* System Function Prototypes */
119 void CyDelay(uint32 milliseconds) CYREENTRANT;
120 void CyDelayUs(uint16 microseconds);
121 void CyDelayFreq(uint32 freq) CYREENTRANT;
122 void CyDelayCycles(uint32 cycles);
123
124 void CySoftwareReset(void) ;
125
126 uint8 CyEnterCriticalSection(void);
127 void CyExitCriticalSection(uint8 savedIntrStatus);
128 void CyHalt(uint8 reason) CYREENTRANT;
129
130
131 /* Interrupt Function Prototypes */
132 #if(CY_PSOC5)
133     cyisraddress CyIntSetSysVector(uint8 number, cyisraddress address)  ;
134     cyisraddress CyIntGetSysVector(uint8 number) ;
135 #endif  /* (CY_PSOC5) */
136
137 cyisraddress CyIntSetVector(uint8 number, cyisraddress address) ;
138 cyisraddress CyIntGetVector(uint8 number) ;
139
140 void  CyIntSetPriority(uint8 number, uint8 priority) ;
141 uint8 CyIntGetPriority(uint8 number) ;
142
143 uint8 CyIntGetState(uint8 number) ;
144
145 uint32 CyDisableInts(void) ;
146 void CyEnableInts(uint32 mask) ;
147
148
149 #if(CY_PSOC5)
150     void CyFlushCache(void);
151 #endif  /* (CY_PSOC5) */
152
153
154 /* Voltage Detection Function Prototypes */
155 void CyVdLvDigitEnable(uint8 reset, uint8 threshold) ;
156 void CyVdLvAnalogEnable(uint8 reset, uint8 threshold) ;
157 void CyVdLvDigitDisable(void) ;
158 void CyVdLvAnalogDisable(void) ;
159 void CyVdHvAnalogEnable(void) ;
160 void CyVdHvAnalogDisable(void) ;
161 uint8 CyVdStickyStatus(uint8 mask) ;
162 uint8 CyVdRealTimeStatus(void) ;
163
164 void CySetScPumps(uint8 enable) ;
165
166
167 /***************************************
168 * API Constants
169 ***************************************/
170
171
172 /*******************************************************************************
173 * PLL API Constants
174 *******************************************************************************/
175 #define CY_CLK_PLL_ENABLE               (0x01u)
176 #define CY_CLK_PLL_LOCK_STATUS          (0x01u)
177
178 #define CY_CLK_PLL_FTW_INTERVAL         (24u)
179
180 #define CY_CLK_PLL_MAX_Q_VALUE          (16u)
181 #define CY_CLK_PLL_MIN_Q_VALUE          (1u)
182 #define CY_CLK_PLL_MIN_P_VALUE          (8u)
183 #define CY_CLK_PLL_MIN_CUR_VALUE        (1u)
184 #define CY_CLK_PLL_MAX_CUR_VALUE        (7u)
185
186 #define CY_CLK_PLL_CURRENT_POSITION     (4u)
187 #define CY_CLK_PLL_CURRENT_MASK         (0x8Fu)
188
189
190 /*******************************************************************************
191 * External 32kHz Crystal Oscillator API Constants
192 *******************************************************************************/
193 #define CY_XTAL32K_ANA_STAT             (0x20u)
194
195 #define CY_CLK_XTAL32_CR_LPM            (0x02u)
196 #define CY_CLK_XTAL32_CR_EN             (0x01u)
197 #if(CY_PSOC3)
198     #define CY_CLK_XTAL32_CR_PDBEN      (0x04u)
199 #endif  /* (CY_PSOC3) */
200
201 #define CY_CLK_XTAL32_TR_MASK           (0x07u)
202 #define CY_CLK_XTAL32_TR_STARTUP        (0x03u)
203 #define CY_CLK_XTAL32_TR_HIGH_POWER     (0x06u)
204 #define CY_CLK_XTAL32_TR_LOW_POWER      (0x01u)
205 #define CY_CLK_XTAL32_TR_POWERDOWN      (0x00u)
206
207 #define CY_CLK_XTAL32_TST_DEFAULT       (0xF3u)
208
209 #define CY_CLK_XTAL32_CFG_LP_DEFAULT    (0x04u)
210 #define CY_CLK_XTAL32_CFG_LP_LOWPOWER   (0x08u)
211 #define CY_CLK_XTAL32_CFG_LP_MASK       (0x0Cu)
212
213 #define CY_CLK_XTAL32_CFG_LP_ALLOW      (0x80u)
214
215
216 /*******************************************************************************
217 * External MHz Crystal Oscillator API Constants
218 *******************************************************************************/
219 #define CY_CLK_XMHZ_FTW_INTERVAL        (24u)
220 #define CY_CLK_XMHZ_MIN_TIMEOUT         (130u)
221
222 #define CY_CLK_XMHZ_CSR_ENABLE          (0x01u)
223 #define CY_CLK_XMHZ_CSR_XERR            (0x80u)
224 #define CY_CLK_XMHZ_CSR_XFB             (0x04u)
225 #define CY_CLK_XMHZ_CSR_XPROT           (0x40u)
226
227 #define CY_CLK_XMHZ_CFG0_XCFG_MASK      (0x1Fu)
228 #define CY_CLK_XMHZ_CFG1_VREF_FB_MASK   (0x0Fu)
229 #define CY_CLK_XMHZ_CFG1_VREF_WD_MASK   (0x70u)
230
231
232 /*******************************************************************************
233 * Watchdog Timer API Constants
234 *******************************************************************************/
235 #define CYWDT_2_TICKS               (0x0u)     /*    4 -    6 ms */
236 #define CYWDT_16_TICKS              (0x1u)     /*   32 -   48 ms */
237 #define CYWDT_128_TICKS             (0x2u)     /*  256 -  384 ms */
238 #define CYWDT_1024_TICKS            (0x3u)     /* 2048 - 3072 ms */
239
240 #define CYWDT_LPMODE_NOCHANGE       (0x00u)
241 #define CYWDT_LPMODE_MAXINTER       (0x01u)
242 #define CYWDT_LPMODE_DISABLED       (0x03u)
243
244 #define CY_WDT_CFG_INTERVAL_MASK    (0x03u)
245 #define CY_WDT_CFG_CTW_RESET        (0x80u)
246 #define CY_WDT_CFG_LPMODE_SHIFT     (5u)
247 #define CY_WDT_CFG_LPMODE_MASK      (0x60u)
248 #define CY_WDT_CFG_WDR_EN           (0x10u)
249 #define CY_WDT_CFG_CLEAR_ALL        (0x00u)
250 #define CY_WDT_CR_FEED              (0x01u)
251
252
253 /*******************************************************************************
254 *    Voltage Detection API Constants
255 *******************************************************************************/
256
257 #define CY_VD_LVID_EN                (0x01u)
258 #define CY_VD_LVIA_EN                (0x02u)
259 #define CY_VD_HVIA_EN                (0x04u)
260
261 #define CY_VD_PRESD_EN               (0x40u)
262 #define CY_VD_PRESA_EN               (0x80u)
263
264 #define CY_VD_LVID                   (0x01u)
265 #define CY_VD_LVIA                   (0x02u)
266 #define CY_VD_HVIA                   (0x04u)
267
268 #define CY_VD_LVI_TRIP_LVID_MASK     (0x0Fu)
269
270
271 /*******************************************************************************
272 *    Variable VDDA API Constants
273 *******************************************************************************/
274 #if(CYDEV_VARIABLE_VDDA == 1)
275
276     /* Active Power Mode Configuration Register 9 */
277     #define CY_LIB_ACT_CFG9_SWCAP0_EN        (0x01u)
278     #define CY_LIB_ACT_CFG9_SWCAP1_EN        (0x02u)
279     #define CY_LIB_ACT_CFG9_SWCAP2_EN        (0x04u)
280     #define CY_LIB_ACT_CFG9_SWCAP3_EN        (0x08u)
281     #define CY_LIB_ACT_CFG9_SWCAPS_MASK      (0x0Fu)
282
283     /* Switched Cap Miscellaneous Control Register */
284     #define CY_LIB_SC_MISC_PUMP_FORCE        (0x20u)
285
286     /* Switched Capacitor 0 Boost Clock Selection Register */
287     #define CY_LIB_SC_BST_CLK_EN             (0x08u)
288     #define CY_LIB_SC_BST_CLK_INDEX_MASK     (0xF8u)
289
290 #endif  /* (CYDEV_VARIABLE_VDDA == 1) */
291
292
293 /*******************************************************************************
294 * Clock Distribution API Constants
295 *******************************************************************************/
296 #define CY_LIB_CLKDIST_AMASK_MASK       (0xF0u)
297 #define CY_LIB_CLKDIST_DMASK_MASK       (0x00u)
298 #define CY_LIB_CLKDIST_LD_LOAD          (0x01u)
299 #define CY_LIB_CLKDIST_BCFG2_MASK       (0x80u)
300 #define CY_LIB_CLKDIST_MASTERCLK_DIV    (7u)
301 #define CY_LIB_CLKDIST_BCFG2_SSS        (0x40u)
302 #define CY_LIB_CLKDIST_MSTR1_SRC_MASK   (0xFCu)
303 #define CY_LIB_FASTCLK_IMO_DOUBLER      (0x10u)
304 #define CY_LIB_FASTCLK_IMO_IMO          (0x20u)
305 #define CY_LIB_CLKDIST_CR_IMO2X         (0x40u)
306 #define CY_LIB_FASTCLK_IMO_CR_RANGE_MASK (0xF8u)
307
308 #define CY_LIB_CLKDIST_CR_PLL_SCR_MASK  (0xFCu)
309
310
311 /* CyILO_SetPowerMode() */
312 #define CY_ILO_CONTROL_PD_MODE          (0x10u)
313 #define CY_ILO_CONTROL_PD_POSITION      (4u)
314
315 #define CY_ILO_SOURCE_100K              (0u)
316 #define CY_ILO_SOURCE_33K               (1u)
317 #define CY_ILO_SOURCE_1K                (2u)
318
319 #define CY_ILO_FAST_START               (0u)
320 #define CY_ILO_SLOW_START               (1u)
321
322 #define CY_ILO_SOURCE_BITS_CLEAR        (0xF3u)
323 #define CY_ILO_SOURCE_1K_SET            (0x08u)
324 #define CY_ILO_SOURCE_33K_SET           (0x04u)
325 #define CY_ILO_SOURCE_100K_SET          (0x00u)
326
327 #define CY_MASTER_SOURCE_IMO            (0u)
328 #define CY_MASTER_SOURCE_PLL            (1u)
329 #define CY_MASTER_SOURCE_XTAL           (2u)
330 #define CY_MASTER_SOURCE_DSI            (3u)
331
332 #define CY_IMO_SOURCE_IMO               (0u)
333 #define CY_IMO_SOURCE_XTAL              (1u)
334 #define CY_IMO_SOURCE_DSI               (2u)
335
336
337 /* CyIMO_Start() */
338 #define CY_LIB_PM_ACT_CFG0_IMO_EN       (0x10u)
339 #define CY_LIB_PM_STBY_CFG0_IMO_EN      (0x10u)
340 #define CY_LIB_CLK_IMO_FTW_TIMEOUT      (0x00u)
341
342 #define CY_LIB_IMO_3MHZ_VALUE           (0x03u)
343 #define CY_LIB_IMO_6MHZ_VALUE           (0x01u)
344 #define CY_LIB_IMO_12MHZ_VALUE          (0x00u)
345 #define CY_LIB_IMO_24MHZ_VALUE          (0x02u)
346 #define CY_LIB_IMO_48MHZ_VALUE          (0x04u)
347 #define CY_LIB_IMO_62MHZ_VALUE          (0x05u)
348 #define CY_LIB_IMO_74MHZ_VALUE          (0x06u)
349
350
351 /* CyIMO_SetFreq() */
352 #define CY_IMO_FREQ_3MHZ                (0u)
353 #define CY_IMO_FREQ_6MHZ                (1u)
354 #define CY_IMO_FREQ_12MHZ               (2u)
355 #define CY_IMO_FREQ_24MHZ               (3u)
356 #define CY_IMO_FREQ_48MHZ               (4u)
357 #define CY_IMO_FREQ_62MHZ               (5u)
358 #if(CY_PSOC5)
359     #define CY_IMO_FREQ_74MHZ           (6u)
360 #endif  /* (CY_PSOC5) */
361 #define CY_IMO_FREQ_USB                 (8u)
362
363 #define CY_LIB_IMO_USBCLK_ON_SET        (0x40u)
364
365
366 /* CyCpuClk_SetDivider() */
367 #define CY_LIB_CLKDIST_DIV_POSITION     (4u)
368 #define CY_LIB_CLKDIST_MSTR1_DIV_MASK   (0x0Fu)
369
370
371 /* CyIMO_SetTrimValue() */
372 #define CY_LIB_USB_CLK_EN               (0x02u)
373
374
375 /* CyPLL_OUT_SetSource() - parameters */
376 #define CY_PLL_SOURCE_IMO               (0u)
377 #define CY_PLL_SOURCE_XTAL              (1u)
378 #define CY_PLL_SOURCE_DSI               (2u)
379
380
381 /* CyILO_[Start|Stop][1|100K](), CyILO_[Enable|Disable]33K() */
382 #define CY_LIB_SLOWCLK_ILO_CR0_EN_1KHZ   (0x02u)
383 #define CY_LIB_SLOWCLK_ILO_CR0_EN_33KHZ  (0x20u)
384 #define CY_LIB_SLOWCLK_ILO_CR0_EN_100KHZ (0x04u)
385
386
387 /* CyUsbClk_SetSource() */
388 #define CY_LIB_CLKDIST_UCFG_SRC_SEL_MASK (0x03u)
389
390
391 /* CyUsbClk_SetSource() - parameters */
392 #define CY_LIB_USB_CLK_IMO2X            (0x00u)
393 #define CY_LIB_USB_CLK_IMO              (0x01u)
394 #define CY_LIB_USB_CLK_PLL              (0x02u)
395 #define CY_LIB_USB_CLK_DSI              (0x03u)
396
397
398 /* CyUSB_PowerOnCheck() */
399 #define CY_ACT_USB_ENABLED              (0x01u)
400 #define CY_ALT_ACT_USB_ENABLED          (0x01u)
401
402
403 /***************************************
404 * Registers
405 ***************************************/
406
407
408 /*******************************************************************************
409 * System Registers
410 *******************************************************************************/
411
412 /* Software Reset Control Register */
413 #define CY_LIB_RESET_CR2_REG         (* (reg8 *) CYREG_RESET_CR2)
414 #define CY_LIB_RESET_CR2_PTR         (  (reg8 *) CYREG_RESET_CR2)
415
416 /* Timewheel Configuration Register 0 */
417 #define CY_LIB_PM_TW_CFG0_REG           (*(reg8 *) CYREG_PM_TW_CFG0)
418 #define CY_LIB_PM_TW_CFG0_PTR           ( (reg8 *) CYREG_PM_TW_CFG0)
419
420 /* Timewheel Configuration Register 2 */
421 #define CY_LIB_PM_TW_CFG2_REG           (*(reg8 *) CYREG_PM_TW_CFG2)
422 #define CY_LIB_PM_TW_CFG2_PTR           ( (reg8 *) CYREG_PM_TW_CFG2)
423
424 /* USB Configuration Register */
425 #define CY_LIB_CLKDIST_UCFG_REG         (*(reg8 *) CYREG_CLKDIST_UCFG)
426 #define CY_LIB_CLKDIST_UCFG_PTR         ( (reg8 *) CYREG_CLKDIST_UCFG)
427
428 /* Internal Main Oscillator Trim Register 1 */
429 #define CY_LIB_IMO_TR1_REG              (*(reg8 *) CYREG_IMO_TR1)
430 #define CY_LIB_IMO_TR1_PTR              ( (reg8 *) CYREG_IMO_TR1)
431
432 /* USB control 1 Register */
433 #define CY_LIB_USB_CR1_REG              (*(reg8 *) CYREG_USB_CR1 )
434 #define CY_LIB_USB_CR1_PTR              ( (reg8 *) CYREG_USB_CR1 )
435
436 /* Active Power Mode Configuration Register 0 */
437 #define CY_LIB_PM_ACT_CFG0_REG          (*(reg8 *) CYREG_PM_ACT_CFG0)
438 #define CY_LIB_PM_ACT_CFG0_PTR          ( (reg8 *) CYREG_PM_ACT_CFG0)
439
440 /* Standby Power Mode Configuration Register 0 */
441 #define CY_LIB_PM_STBY_CFG0_REG          (*(reg8 *) CYREG_PM_STBY_CFG0)
442 #define CY_LIB_PM_STBY_CFG0_PTR          ( (reg8 *) CYREG_PM_STBY_CFG0)
443
444 /* Active Power Mode Configuration Register 5 */
445 #define CY_LIB_PM_ACT_CFG5_REG              (* (reg8 *) CYREG_PM_ACT_CFG5 )
446 #define CY_LIB_PM_ACT_CFG5_PTR              (  (reg8 *) CYREG_PM_ACT_CFG5 )
447
448 /* Standby Power Mode Configuration Register 5 */
449 #define CY_LIB_PM_STBY_CFG5_REG             (* (reg8 *) CYREG_PM_STBY_CFG5 )
450 #define CY_LIB_PM_STBY_CFG5_PTR             (  (reg8 *) CYREG_PM_STBY_CFG5 )
451
452 /* CyIMO_SetTrimValue() */
453 #if(CY_PSOC3)
454     #define CY_LIB_TRIM_IMO_3MHZ_PTR         ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_3MHZ)
455     #define CY_LIB_TRIM_IMO_6MHZ_PTR         ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_6MHZ)
456     #define CY_LIB_TRIM_IMO_12MHZ_PTR        ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_12MHZ)
457     #define CY_LIB_TRIM_IMO_24MHZ_PTR        ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_24MHZ)
458     #define CY_LIB_TRIM_IMO_67MHZ_PTR        ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_67MHZ)
459     #define CY_LIB_TRIM_IMO_80MHZ_PTR        ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_80MHZ)
460     #define CY_LIB_TRIM_IMO_USB_PTR          ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_USB)
461     #define CY_LIB_TRIM_IMO_TR1_PTR          ((void far *) (CYREG_FLSHID_MFG_CFG_IMO_TR1 + 1u))
462  #else
463     #define CY_LIB_TRIM_IMO_3MHZ_PTR         ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_3MHZ)
464     #define CY_LIB_TRIM_IMO_6MHZ_PTR         ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_6MHZ)
465     #define CY_LIB_TRIM_IMO_12MHZ_PTR        ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_12MHZ)
466     #define CY_LIB_TRIM_IMO_24MHZ_PTR        ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_24MHZ)
467     #define CY_LIB_TRIM_IMO_67MHZ_PTR        ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_67MHZ)
468     #define CY_LIB_TRIM_IMO_80MHZ_PTR        ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_80MHZ)
469     #define CY_LIB_TRIM_IMO_USB_PTR          ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_USB)
470     #define CY_LIB_TRIM_IMO_TR1_PTR          ((reg8 *) (CYREG_FLSHID_MFG_CFG_IMO_TR1 + 1u))
471 #endif  /* (CY_PSOC3) */
472
473
474 /*******************************************************************************
475 * PLL Registers
476 *******************************************************************************/
477
478 /* PLL Configuration Register 0 */
479 #define CY_CLK_PLL_CFG0_REG         (*(reg8 *) CYREG_FASTCLK_PLL_CFG0)
480 #define CY_CLK_PLL_CFG0_PTR         ( (reg8 *) CYREG_FASTCLK_PLL_CFG0)
481
482 /* PLL Configuration Register 1 */
483 #define CY_CLK_PLL_CFG1_REG         (*(reg8 *) CYREG_FASTCLK_PLL_CFG1)
484 #define CY_CLK_PLL_CFG1_PTR         ( (reg8 *) CYREG_FASTCLK_PLL_CFG1)
485
486 /* PLL Status Register */
487 #define CY_CLK_PLL_SR_REG           (*(reg8 *) CYREG_FASTCLK_PLL_SR)
488 #define CY_CLK_PLL_SR_PTR           ( (reg8 *) CYREG_FASTCLK_PLL_SR)
489
490 /* PLL Q-Counter Configuration Register */
491 #define CY_CLK_PLL_Q_REG            (*(reg8 *) CYREG_FASTCLK_PLL_Q)
492 #define CY_CLK_PLL_Q_PTR            ( (reg8 *) CYREG_FASTCLK_PLL_Q)
493
494 /* PLL P-Counter Configuration Register */
495 #define CY_CLK_PLL_P_REG            (*(reg8 *) CYREG_FASTCLK_PLL_P)
496 #define CY_CLK_PLL_P_PTR            ( (reg8 *) CYREG_FASTCLK_PLL_P)
497
498
499 /*******************************************************************************
500 * External MHz Crystal Oscillator Registers
501 *******************************************************************************/
502
503 /* External MHz Crystal Oscillator Status and Control Register */
504 #define CY_CLK_XMHZ_CSR_REG         (*(reg8 *) CYREG_FASTCLK_XMHZ_CSR)
505 #define CY_CLK_XMHZ_CSR_PTR         ( (reg8 *) CYREG_FASTCLK_XMHZ_CSR)
506
507 /* External MHz Crystal Oscillator Configuration Register 0 */
508 #define CY_CLK_XMHZ_CFG0_REG        (*(reg8 *) CYREG_FASTCLK_XMHZ_CFG0)
509 #define CY_CLK_XMHZ_CFG0_PTR        ( (reg8 *) CYREG_FASTCLK_XMHZ_CFG0)
510
511 /* External MHz Crystal Oscillator Configuration Register 1 */
512 #define CY_CLK_XMHZ_CFG1_REG        (*(reg8 *) CYREG_FASTCLK_XMHZ_CFG1)
513 #define CY_CLK_XMHZ_CFG1_PTR        ( (reg8 *) CYREG_FASTCLK_XMHZ_CFG1)
514
515
516 /*******************************************************************************
517 * External 32kHz Crystal Oscillator Registers
518 *******************************************************************************/
519
520 /* 32 kHz Watch Crystal Oscillator Trim Register */
521 #define CY_CLK_XTAL32_TR_REG        (*(reg8 *) CYREG_X32_TR)
522 #define CY_CLK_XTAL32_TR_PTR        ( (reg8 *) CYREG_X32_TR)
523
524 /* External 32kHz Crystal Oscillator Test Register */
525 #define CY_CLK_XTAL32_TST_REG       (*(reg8 *) CYREG_SLOWCLK_X32_TST)
526 #define CY_CLK_XTAL32_TST_PTR       ( (reg8 *) CYREG_SLOWCLK_X32_TST)
527
528 /* External 32kHz Crystal Oscillator Control Register */
529 #define CY_CLK_XTAL32_CR_REG        (*(reg8 *) CYREG_SLOWCLK_X32_CR)
530 #define CY_CLK_XTAL32_CR_PTR        ( (reg8 *) CYREG_SLOWCLK_X32_CR)
531
532 /* External 32kHz Crystal Oscillator Configuration Register */
533 #define CY_CLK_XTAL32_CFG_REG       (*(reg8 *) CYREG_SLOWCLK_X32_CFG)
534 #define CY_CLK_XTAL32_CFG_PTR       ( (reg8 *) CYREG_SLOWCLK_X32_CFG)
535
536
537 /*******************************************************************************
538 * Watchdog Timer Registers
539 *******************************************************************************/
540
541 /* Watchdog Timer Configuration Register */
542 #define CY_WDT_CFG_REG              (*(reg8 *) CYREG_PM_WDT_CFG)
543 #define CY_WDT_CFG_PTR              ( (reg8 *) CYREG_PM_WDT_CFG)
544
545 /* Watchdog Timer Control Register */
546 #define CY_WDT_CR_REG               (*(reg8 *) CYREG_PM_WDT_CR)
547 #define CY_WDT_CR_PTR               ( (reg8 *) CYREG_PM_WDT_CR)
548
549
550 /*******************************************************************************
551 *    LVI/HVI Registers
552 *******************************************************************************/
553
554 #define CY_VD_LVI_TRIP_REG          (* (reg8 *) CYREG_RESET_CR0)
555 #define CY_VD_LVI_TRIP_PTR          (  (reg8 *) CYREG_RESET_CR0)
556
557 #define CY_VD_LVI_HVI_CONTROL_REG   (* (reg8 *) CYREG_RESET_CR1)
558 #define CY_VD_LVI_HVI_CONTROL_PTR   (  (reg8 *) CYREG_RESET_CR1)
559
560 #define CY_VD_PRES_CONTROL_REG      (* (reg8 *) CYREG_RESET_CR3)
561 #define CY_VD_PRES_CONTROL_PTR      (  (reg8 *) CYREG_RESET_CR3)
562
563 #define CY_VD_PERSISTENT_STATUS_REG (* (reg8 *) CYREG_RESET_SR0)
564 #define CY_VD_PERSISTENT_STATUS_PTR (  (reg8 *) CYREG_RESET_SR0)
565
566 #define CY_VD_RT_STATUS_REG         (* (reg8 *) CYREG_RESET_SR2)
567 #define CY_VD_RT_STATUS_PTR         (  (reg8 *) CYREG_RESET_SR2)
568
569
570 /*******************************************************************************
571 *    Variable VDDA
572 *******************************************************************************/
573 #if(CYDEV_VARIABLE_VDDA == 1)
574
575     /* Active Power Mode Configuration Register 9 */
576     #define CY_LIB_ACT_CFG9_REG            (* (reg8 *) CYREG_PM_ACT_CFG9 )
577     #define CY_LIB_ACT_CFG9_PTR            (  (reg8 *) CYREG_PM_ACT_CFG9 )
578
579     /* Switched Capacitor 0 Boost Clock Selection Register */
580     #define CY_LIB_SC0_BST_REG             (* (reg8 *) CYREG_SC0_BST )
581     #define CY_LIB_SC0_BST_PTR             (  (reg8 *) CYREG_SC0_BST )
582
583     /* Switched Capacitor 1 Boost Clock Selection Register */
584     #define CY_LIB_SC1_BST_REG             (* (reg8 *) CYREG_SC1_BST )
585     #define CY_LIB_SC1_BST_PTR             (  (reg8 *) CYREG_SC1_BST )
586
587     /* Switched Capacitor 2 Boost Clock Selection Register */
588     #define CY_LIB_SC2_BST_REG             (* (reg8 *) CYREG_SC2_BST )
589     #define CY_LIB_SC2_BST_PTR             (  (reg8 *) CYREG_SC2_BST )
590
591     /* Switched Capacitor 3 Boost Clock Selection Register */
592     #define CY_LIB_SC3_BST_REG             (* (reg8 *) CYREG_SC3_BST )
593     #define CY_LIB_SC3_BST_PTR             (  (reg8 *) CYREG_SC3_BST )
594
595     /* Switched Cap Miscellaneous Control Register */
596     #define CY_LIB_SC_MISC_REG             (* (reg8 *) CYREG_SC_MISC )
597     #define CY_LIB_SC_MISC_PTR             (  (reg8 *) CYREG_SC_MISC )
598
599 #endif  /* (CYDEV_VARIABLE_VDDA == 1) */
600
601
602 /*******************************************************************************
603 *    Clock Distribution Registers
604 *******************************************************************************/
605
606 /* Analog Clock Mask Register */
607 #define CY_LIB_CLKDIST_AMASK_REG       (* (reg8 *) CYREG_CLKDIST_AMASK )
608 #define CY_LIB_CLKDIST_AMASK_PTR       (  (reg8 *) CYREG_CLKDIST_AMASK )
609
610 /* Digital Clock Mask Register */
611 #define CY_LIB_CLKDIST_DMASK_REG        (*(reg8 *) CYREG_CLKDIST_DMASK)
612 #define CY_LIB_CLKDIST_DMASK_PTR        ( (reg8 *) CYREG_CLKDIST_DMASK)
613
614 /* CLK_BUS Configuration Register */
615 #define CY_LIB_CLKDIST_BCFG2_REG        (*(reg8 *) CYREG_CLKDIST_BCFG2)
616 #define CY_LIB_CLKDIST_BCFG2_PTR        ( (reg8 *) CYREG_CLKDIST_BCFG2)
617
618 /* LSB Shadow Divider Value Register */
619 #define CY_LIB_CLKDIST_WRK_LSB_REG      (*(reg8 *) CYREG_CLKDIST_WRK0)
620 #define CY_LIB_CLKDIST_WRK_LSB_PTR      ( (reg8 *) CYREG_CLKDIST_WRK0)
621
622 /* MSB Shadow Divider Value Register */
623 #define CY_LIB_CLKDIST_WRK_MSB_REG      (*(reg8 *) CYREG_CLKDIST_WRK1)
624 #define CY_LIB_CLKDIST_WRK_MSB_PTR      ( (reg8 *) CYREG_CLKDIST_WRK1)
625
626 /* LOAD Register */
627 #define CY_LIB_CLKDIST_LD_REG           (*(reg8 *) CYREG_CLKDIST_LD)
628 #define CY_LIB_CLKDIST_LD_PTR           ( (reg8 *) CYREG_CLKDIST_LD)
629
630 /* CLK_BUS LSB Divider Value Register */
631 #define CY_LIB_CLKDIST_BCFG_LSB_REG     (*(reg8 *) CYREG_CLKDIST_BCFG0)
632 #define CY_LIB_CLKDIST_BCFG_LSB_PTR     ( (reg8 *) CYREG_CLKDIST_BCFG0)
633
634 /* CLK_BUS MSB Divider Value Register */
635 #define CY_LIB_CLKDIST_BCFG_MSB_REG     (*(reg8 *) CYREG_CLKDIST_BCFG1)
636 #define CY_LIB_CLKDIST_BCFG_MSB_PTR     ( (reg8 *) CYREG_CLKDIST_BCFG1)
637
638 /* Master clock (clk_sync_d) Divider Value Register */
639 #define CY_LIB_CLKDIST_MSTR0_REG        (*(reg8 *) CYREG_CLKDIST_MSTR0)
640 #define CY_LIB_CLKDIST_MSTR0_PTR        ( (reg8 *) CYREG_CLKDIST_MSTR0)
641
642 /* Master (clk_sync_d) Configuration Register/CPU Divider Value */
643 #define CY_LIB_CLKDIST_MSTR1_REG        (*(reg8 *) CYREG_CLKDIST_MSTR1)
644 #define CY_LIB_CLKDIST_MSTR1_PTR        ( (reg8 *) CYREG_CLKDIST_MSTR1)
645
646 /* Internal Main Oscillator Control Register */
647 #define CY_LIB_FASTCLK_IMO_CR_REG       (*(reg8 *) CYREG_FASTCLK_IMO_CR)
648 #define CY_LIB_FASTCLK_IMO_CR_PTR       ( (reg8 *) CYREG_FASTCLK_IMO_CR)
649
650 /* Configuration Register CR */
651 #define CY_LIB_CLKDIST_CR_REG           (*(reg8 *) CYREG_CLKDIST_CR)
652 #define CY_LIB_CLKDIST_CR_PTR           ( (reg8 *) CYREG_CLKDIST_CR)
653
654 /* Internal Low-speed Oscillator Control Register 0 */
655 #define CY_LIB_SLOWCLK_ILO_CR0_REG      (*(reg8 *) CYREG_SLOWCLK_ILO_CR0)
656 #define CY_LIB_SLOWCLK_ILO_CR0_PTR      ( (reg8 *) CYREG_SLOWCLK_ILO_CR0)
657
658
659 /*******************************************************************************
660 * Interrupt Registers
661 *******************************************************************************/
662
663 #if(CY_PSOC5)
664
665     /* Interrupt Vector Table Offset */
666     #define CY_INT_VECT_TABLE           ((cyisraddress **) CYREG_NVIC_VECT_OFFSET)
667
668     /* Interrupt Priority 0-31 */
669     #define CY_INT_PRIORITY_REG         (* (reg8 *) CYREG_NVIC_PRI_0)
670     #define CY_INT_PRIORITY_PTR         (  (reg8 *) CYREG_NVIC_PRI_0)
671
672     /* Interrupt Enable Set 0-31 */
673     #define CY_INT_ENABLE_REG           (* (reg32 *) CYREG_NVIC_SETENA0)
674     #define CY_INT_ENABLE_PTR           (  (reg32 *) CYREG_NVIC_SETENA0)
675
676     /* Interrupt Enable Clear 0-31 */
677     #define CY_INT_CLEAR_REG            (* (reg32 *) CYREG_NVIC_CLRENA0)
678     #define CY_INT_CLEAR_PTR            (  (reg32 *) CYREG_NVIC_CLRENA0)
679
680     /* Interrupt Pending Set 0-31 */
681     #define CY_INT_SET_PEND_REG         (* (reg32 *) CYREG_NVIC_SETPEND0)
682     #define CY_INT_SET_PEND_PTR         (  (reg32 *) CYREG_NVIC_SETPEND0)
683
684     /* Interrupt Pending Clear 0-31 */
685     #define CY_INT_CLR_PEND_REG         (* (reg32 *) CYREG_NVIC_CLRPEND0)
686     #define CY_INT_CLR_PEND_PTR         (  (reg32 *) CYREG_NVIC_CLRPEND0)
687
688     /* Cache Control Register */
689     #define CY_CACHE_CONTROL_REG        (* (reg16 *) CYREG_CACHE_CC_CTL )
690     #define CY_CACHE_CONTROL_PTR        (  (reg16 *) CYREG_CACHE_CC_CTL )
691
692 #elif (CY_PSOC3)
693
694     /* Interrupt Address Vector registers */
695     #define CY_INT_VECT_TABLE           ((cyisraddress CYXDATA *) CYREG_INTC_VECT_MBASE)
696
697     /* Interrrupt Controller Priority Registers */
698     #define CY_INT_PRIORITY_REG         (* (reg8 *) CYREG_INTC_PRIOR0)
699     #define CY_INT_PRIORITY_PTR         (  (reg8 *) CYREG_INTC_PRIOR0)
700
701     /* Interrrupt Controller Set Enable Registers */
702     #define CY_INT_ENABLE_REG           (* (reg8 *) CYREG_INTC_SET_EN0)
703     #define CY_INT_ENABLE_PTR           (  (reg8 *) CYREG_INTC_SET_EN0)
704
705     #define CY_INT_SET_EN0_REG          (* (reg8 *) CYREG_INTC_SET_EN0)
706     #define CY_INT_SET_EN0_PTR          (  (reg8 *) CYREG_INTC_SET_EN0)
707
708     #define CY_INT_SET_EN1_REG          (* (reg8 *) CYREG_INTC_SET_EN1)
709     #define CY_INT_SET_EN1_PTR          (  (reg8 *) CYREG_INTC_SET_EN1)
710
711     #define CY_INT_SET_EN2_REG          (* (reg8 *) CYREG_INTC_SET_EN2)
712     #define CY_INT_SET_EN2_PTR          (  (reg8 *) CYREG_INTC_SET_EN2)
713
714     #define CY_INT_SET_EN3_REG          (* (reg8 *) CYREG_INTC_SET_EN3)
715     #define CY_INT_SET_EN3_PTR          (  (reg8 *) CYREG_INTC_SET_EN3)
716
717     /* Interrrupt Controller Clear Enable Registers */
718     #define CY_INT_CLEAR_REG            (* (reg8 *) CYREG_INTC_CLR_EN0)
719     #define CY_INT_CLEAR_PTR            (  (reg8 *) CYREG_INTC_CLR_EN0)
720
721     #define CY_INT_CLR_EN0_REG          (* (reg8 *) CYREG_INTC_CLR_EN0)
722     #define CY_INT_CLR_EN0_PTR          (  (reg8 *) CYREG_INTC_CLR_EN0)
723
724     #define CY_INT_CLR_EN1_REG          (* (reg8 *) CYREG_INTC_CLR_EN1)
725     #define CY_INT_CLR_EN1_PTR          (  (reg8 *) CYREG_INTC_CLR_EN1)
726
727     #define CY_INT_CLR_EN2_REG          (* (reg8 *) CYREG_INTC_CLR_EN2)
728     #define CY_INT_CLR_EN2_PTR          (  (reg8 *) CYREG_INTC_CLR_EN2)
729
730     #define CY_INT_CLR_EN3_REG          (* (reg8 *) CYREG_INTC_CLR_EN3)
731     #define CY_INT_CLR_EN3_PTR          (  (reg8 *) CYREG_INTC_CLR_EN3)
732
733
734     /* Interrrupt Controller Set Pend Registers */
735     #define CY_INT_SET_PEND_REG         (* (reg8 *) CYREG_INTC_SET_PD0)
736     #define CY_INT_SET_PEND_PTR         (  (reg8 *) CYREG_INTC_SET_PD0)
737
738     /* Interrrupt Controller Clear Pend Registers */
739     #define CY_INT_CLR_PEND_REG         (* (reg8 *) CYREG_INTC_CLR_PD0)
740     #define CY_INT_CLR_PEND_PTR         (  (reg8 *) CYREG_INTC_CLR_PD0)
741
742
743     /* Access Interrupt Controller Registers based on interrupt number */
744     #define CY_INT_SET_EN_INDX_PTR(number)    ((reg8 *) (CYREG_INTC_SET_EN0 + (((number) & CY_INT_NUMBER_MASK) >> 3u)))
745     #define CY_INT_CLR_EN_INDX_PTR(number)    ((reg8 *) (CYREG_INTC_CLR_EN0 + (((number) & CY_INT_NUMBER_MASK) >> 3u)))
746     #define CY_INT_CLR_PEND_INDX_PTR(number)  ((reg8 *) (CYREG_INTC_CLR_PD0 + (((number) & CY_INT_NUMBER_MASK) >> 3u)))
747     #define CY_INT_SET_PEND_INDX_PTR(number)  ((reg8 *) (CYREG_INTC_SET_PD0 + (((number) & CY_INT_NUMBER_MASK) >> 3u)))
748
749 #endif  /* (CY_PSOC5) */
750
751
752 /*******************************************************************************
753 * Macro Name: CyAssert
754 ********************************************************************************
755 * Summary:
756 *  Macro that evaluates the expression and if it is false (evaluates to 0) then
757 *  the processor is halted.
758 *
759 *  This macro is evaluated unless NDEBUG is defined.
760 *
761 *  If NDEBUG is defined, then no code is generated for this macro. NDEBUG is
762 *  defined by default for a Release build setting and not defined for a Debug
763 *  build setting.
764 *
765 * Parameters:
766 *  expr: Logical expression.  Asserts if false.
767 *
768 * Return:
769 *  None
770 *
771 *******************************************************************************/
772 #if !defined(NDEBUG)
773     #define CYASSERT(x)     { \
774                                 if(!(x)) \
775                                 { \
776                                     CyHalt((uint8) 0u); \
777                                 } \
778                             }
779 #else
780     #define CYASSERT(x)
781 #endif /* !defined(NDEBUG) */
782
783
784 /* Reset register fields of RESET_SR0 (CyResetStatus) */
785 #define CY_RESET_LVID               (0x01u)
786 #define CY_RESET_LVIA               (0x02u)
787 #define CY_RESET_HVIA               (0x04u)
788 #define CY_RESET_WD                 (0x08u)
789 #define CY_RESET_SW                 (0x20u)
790 #define CY_RESET_GPIO0              (0x40u)
791 #define CY_RESET_GPIO1              (0x80u)
792
793
794 /* Interrrupt Controller Configuration and Status Register */
795 #if(CY_PSOC3)
796     #define INTERRUPT_CSR               ((reg8 *) CYREG_INTC_CSR_EN)
797     #define DISABLE_IRQ_SET             ((uint8)(0x01u << 1u))    /* INTC_CSR_EN */
798     #define INTERRUPT_DISABLE_IRQ       {*INTERRUPT_CSR |= DISABLE_IRQ_SET;}
799     #define INTERRUPT_ENABLE_IRQ        {*INTERRUPT_CSR = (uint8)(~DISABLE_IRQ_SET);}
800 #endif  /* (CY_PSOC3) */
801
802
803 #if defined(__ARMCC_VERSION)
804     #define CyGlobalIntEnable           {__enable_irq();}
805     #define CyGlobalIntDisable          {__disable_irq();}
806 #elif defined(__GNUC__) || defined (__ICCARM__)
807     #define CyGlobalIntEnable           {__asm("CPSIE   i");}
808     #define CyGlobalIntDisable          {__asm("CPSID   i");}
809 #elif defined(__C51__)
810     #define CyGlobalIntEnable           {\
811                                             EA = 1u; \
812                                             INTERRUPT_ENABLE_IRQ\
813                                         }
814
815     #define CyGlobalIntDisable          {\
816                                             INTERRUPT_DISABLE_IRQ; \
817                                             CY_NOP; \
818                                             EA = 0u;\
819                                         }
820 #else
821     #error No compiler toolchain defined
822     #define CyGlobalIntEnable
823     #define CyGlobalIntDisable
824 #endif  /* (__ARMCC_VERSION) */
825
826
827 #ifdef CYREG_MLOGIC_CPU_SCR_CPU_SCR
828     #define CYDEV_HALT_CPU      CY_SET_REG8(CYREG_MLOGIC_CPU_SCR_CPU_SCR, 0x01u)
829 #else
830     #define CYDEV_HALT_CPU      CY_SET_REG8(CYREG_MLOGIC_CPU_SCR, 0x01u)
831 #endif  /* (CYREG_MLOGIC_CPU_SCR_CPU_SCR) */
832
833
834 #ifdef CYREG_MLOGIC_REV_ID_REV_ID
835     #define CYDEV_CHIP_REV_ACTUAL       (CY_GET_REG8(CYREG_MLOGIC_REV_ID_REV_ID))
836 #else
837     #define CYDEV_CHIP_REV_ACTUAL       (CY_GET_REG8(CYREG_MLOGIC_REV_ID))
838 #endif  /* (CYREG_MLOGIC_REV_ID_REV_ID) */
839
840
841 /*******************************************************************************
842 * System API constants
843 *******************************************************************************/
844 #define CY_CACHE_CONTROL_FLUSH          (0x0004u)
845 #define CY_LIB_RESET_CR2_RESET          (0x01u)
846
847
848 /*******************************************************************************
849 * Interrupt API constants
850 *******************************************************************************/
851 #if(CY_PSOC5)
852
853     #define CY_INT_IRQ_BASE             (16u)
854
855 #elif (CY_PSOC3)
856
857     #define CY_INT_IRQ_BASE             (0u)
858
859 #endif  /* (CY_PSOC5) */
860
861 /* Valid range of interrupt 0-31 */
862 #define CY_INT_NUMBER_MAX               (31u)
863
864 /* Valid range of system interrupt 0-15 */
865 #define CY_INT_SYS_NUMBER_MAX           (15u)
866
867 /* Valid range of system priority 0-7 */
868 #define CY_INT_PRIORITY_MAX             (7u)
869
870 /* Mask to get valid range of interrupt 0-31 */
871 #define CY_INT_NUMBER_MASK              (0x1Fu)
872
873 /* Mask to get valid range of system priority 0-7 */
874 #define CY_INT_PRIORITY_MASK            (0x7u)
875
876 /* Mask to get valid range of system interrupt 0-15 */
877 #define CY_INT_SYS_NUMBER_MASK          (0xFu)
878
879
880 /*******************************************************************************
881 * Interrupt Macros
882 *******************************************************************************/
883
884 #if(CY_PSOC5)
885
886     /*******************************************************************************
887     * Macro Name: CyIntEnable
888     ********************************************************************************
889     *
890     * Summary:
891     *  Enables the specified interrupt number.
892     *
893     * Parameters:
894     *  number: Valid range [0-31].  Interrupt number
895     *
896     * Return:
897     *  None
898     *
899     *******************************************************************************/
900     #define CyIntEnable(number)     CY_SET_REG32(CY_INT_ENABLE_PTR, ((uint32)((uint32)1u << (0x1Fu & (number)))))
901
902     /*******************************************************************************
903     * Macro Name: CyIntDisable
904     ********************************************************************************
905     *
906     * Summary:
907     *  Disables the specified interrupt number.
908     *
909     * Parameters:
910     *  number: Valid range [0-31].  Interrupt number.
911     *
912     * Return:
913     *  None
914     *
915     *******************************************************************************/
916     #define CyIntDisable(number)     CY_SET_REG32(CY_INT_CLEAR_PTR, ((uint32)((uint32)1u << (0x1Fu & (number)))))
917
918
919     /*******************************************************************************
920     * Macro Name: CyIntSetPending
921     ********************************************************************************
922     *
923     * Summary:
924     *   Forces the specified interrupt number to be pending.
925     *
926     * Parameters:
927     *   number: Valid range [0-31].  Interrupt number.
928     *
929     * Return:
930     *  None
931     *
932     *******************************************************************************/
933     #define CyIntSetPending(number)     CY_SET_REG32(CY_INT_SET_PEND_PTR, ((uint32)((uint32)1u << (0x1Fu & (number)))))
934
935
936     /*******************************************************************************
937     * Macro Name: CyIntClearPending
938     ********************************************************************************
939     *
940     * Summary:
941     *   Clears any pending interrupt for the specified interrupt number.
942     *
943     * Parameters:
944     *   number: Valid range [0-31].  Interrupt number.
945     *
946     * Return:
947     *  None
948     *
949     *******************************************************************************/
950     #define CyIntClearPending(number)   CY_SET_REG32(CY_INT_CLR_PEND_PTR, ((uint32)((uint32)1u << (0x1Fu & (number)))))
951
952
953 #else   /* PSoC3 */
954
955
956     /*******************************************************************************
957     * Macro Name: CyIntEnable
958     ********************************************************************************
959     *
960     * Summary:
961     *  Enables the specified interrupt number.
962     *
963     * Parameters:
964     *  number: Valid range [0-31].  Interrupt number
965     *
966     * Return:
967     *  None
968     *
969     *******************************************************************************/
970     #define CyIntEnable(number)   CY_SET_REG8(CY_INT_SET_EN_INDX_PTR((number)), \
971                                           ((uint8)(1u << (0x07u & (number)))))
972
973
974     /*******************************************************************************
975     * Macro Name: CyIntDisable
976     ********************************************************************************
977     *
978     * Summary:
979     *  Disables the specified interrupt number.
980     *
981     * Parameters:
982     *  number: Valid range [0-31].  Interrupt number.
983     *
984     * Return:
985     *  None
986     *
987     *******************************************************************************/
988     #define CyIntDisable(number)   CY_SET_REG8(CY_INT_CLR_EN_INDX_PTR((number)), \
989                                           ((uint8)(1u << (0x07u & (number)))))
990
991
992     /*******************************************************************************
993     * Macro Name: CyIntSetPending
994     ********************************************************************************
995     *
996     * Summary:
997     *  Forces the specified interrupt number to be pending.
998     *
999     * Parameters:
1000     *  number: Valid range [0-31].  Interrupt number.
1001     *
1002     * Return:
1003     *  None
1004     *
1005     *******************************************************************************/
1006     #define CyIntSetPending(number)   CY_SET_REG8(CY_INT_SET_PEND_INDX_PTR((number)), \
1007                                                   ((uint8)(1u << (0x07u & (number)))))
1008
1009
1010     /*******************************************************************************
1011     * Macro Name: CyIntClearPending
1012     ********************************************************************************
1013     * Summary:
1014     *  Clears any pending interrupt for the specified interrupt number.
1015     *
1016     * Parameters:
1017     *  number: Valid range [0-31].  Interrupt number.
1018     *
1019     * Return:
1020     *  None
1021     *
1022     *******************************************************************************/
1023     #define CyIntClearPending(number)   CY_SET_REG8(CY_INT_CLR_PEND_INDX_PTR((number)), \
1024                                                     ((uint8)(1u << (0x07u & (number)))))
1025
1026 #endif  /* (CY_PSOC5) */
1027
1028
1029 /*******************************************************************************
1030 * Following code are OBSOLETE and must not be used.
1031 *******************************************************************************/
1032 #define CYGlobalIntEnable       CyGlobalIntEnable
1033 #define CYGlobalIntDisable      CyGlobalIntDisable
1034
1035 #define cymemset(s,c,n)         memset((s),(c),(n))
1036 #define cymemcpy(d,s,n)         memcpy((d),(s),(n))
1037
1038
1039 /*******************************************************************************
1040 * Following code are OBSOLETE and must not be used starting from cy_boot 3.0
1041 *******************************************************************************/
1042 #define MFGCFG_X32_TR_PTR               (CY_CLK_XTAL32_TR_PTR)
1043 #define MFGCFG_X32_TR                   (CY_CLK_XTAL32_TR_REG)
1044 #define SLOWCLK_X32_TST_PTR             (CY_CLK_XTAL32_TST_PTR)
1045 #define SLOWCLK_X32_TST                 (CY_CLK_XTAL32_TST_REG)
1046 #define SLOWCLK_X32_CR_PTR              (CY_CLK_XTAL32_CR_PTR)
1047 #define SLOWCLK_X32_CR                  (CY_CLK_XTAL32_CR_REG)
1048 #define SLOWCLK_X32_CFG_PTR             (CY_CLK_XTAL32_CFG_PTR)
1049 #define SLOWCLK_X32_CFG                 (CY_CLK_XTAL32_CFG_REG)
1050
1051 #define X32_CONTROL_ANA_STAT            (CY_CLK_XTAL32_CR_ANA_STAT)
1052 #define X32_CONTROL_DIG_STAT            (0x10u)
1053 #define X32_CONTROL_LPM                 (CY_CLK_XTAL32_CR_LPM)
1054 #define X32_CONTROL_LPM_POSITION        (1u)
1055 #define X32_CONTROL_X32EN               (CY_CLK_XTAL32_CR_EN)
1056 #define X32_CONTROL_PDBEN           (CY_CLK_XTAL32_CR_PDBEN)
1057 #define X32_TR_DPMODE                   (CY_CLK_XTAL32_TR_STARTUP)
1058 #define X32_TR_CLEAR                    (CY_CLK_XTAL32_TR_POWERDOWN)
1059 #define X32_TR_HPMODE                   (CY_CLK_XTAL32_TR_HIGH_POWER)
1060 #define X32_TR_LPMODE                   (CY_CLK_XTAL32_TR_LOW_POWER)
1061 #define X32_TST_SETALL                  (CY_CLK_XTAL32_TST_DEFAULT)
1062 #define X32_CFG_LP_BITS_MASK            (CY_CLK_XTAL32_CFG_LP_MASK)
1063 #define X32_CFG_LP_DEFAULT              (CY_CLK_XTAL32_CFG_LP_DEFAULT)
1064 #define X32_CFG_LOWPOWERMODE            (0x80u)
1065 #define X32_CFG_LP_LOWPOWER             (0x8u)
1066 #define CY_X32_HIGHPOWER_MODE           (0u)
1067 #define CY_X32_LOWPOWER_MODE            (1u)
1068 #define CY_XTAL32K_DIG_STAT             (0x10u)
1069 #define CY_XTAL32K_STAT_FIELDS          (0x30u)
1070 #define CY_XTAL32K_DIG_STAT_UNSTABLE    (0u)
1071 #define CY_XTAL32K_ANA_STAT_UNSTABLE    (0x0u)
1072 #define CY_XTAL32K_STATUS               (0x20u)
1073
1074 #define FASTCLK_XMHZ_CSR_PTR            (CY_CLK_XMHZ_CSR_PTR)
1075 #define FASTCLK_XMHZ_CSR                (CY_CLK_XMHZ_CSR_REG)
1076 #define FASTCLK_XMHZ_CFG0_PTR           (CY_CLK_XMHZ_CFG0_PTR)
1077 #define FASTCLK_XMHZ_CFG0               (CY_CLK_XMHZ_CFG0_REG)
1078 #define FASTCLK_XMHZ_CFG1_PTR           (CY_CLK_XMHZ_CFG1_PTR)
1079 #define FASTCLK_XMHZ_CFG1               (CY_CLK_XMHZ_CFG1_REG)
1080 #define FASTCLK_XMHZ_GAINMASK           (CY_CLK_XMHZ_CFG0_XCFG_MASK)
1081 #define FASTCLK_XMHZ_VREFMASK           (CY_CLK_XMHZ_CFG1_VREF_FB_MASK)
1082 #define FASTCLK_XMHZ_VREF_WD_MASK       (CY_CLK_XMHZ_CFG1_VREF_WD_MASK)
1083 #define XMHZ_CONTROL_ENABLE             (CY_CLK_XMHZ_CSR_ENABLE)
1084 #define X32_CONTROL_XERR_MASK           (CY_CLK_XMHZ_CSR_XERR)
1085 #define X32_CONTROL_XERR_DIS            (CY_CLK_XMHZ_CSR_XFB)
1086 #define X32_CONTROL_XERR_POSITION       (7u)
1087 #define X32_CONTROL_FAULT_RECOVER       (CY_CLK_XMHZ_CSR_XPROT)
1088
1089 #define CYWDT_CFG                       (CY_WDT_CFG_PTR)
1090 #define CYWDT_CR                        (CY_WDT_CR_PTR)
1091
1092 #define CYWDT_TICKS_MASK                (CY_WDT_CFG_INTERVAL_MASK)
1093 #define CYWDT_RESET                     (CY_WDT_CFG_CTW_RESET)
1094 #define CYWDT_LPMODE_SHIFT              (CY_WDT_CFG_LPMODE_SHIFT)
1095 #define CYWDT_LPMODE_MASK               (CY_WDT_CFG_LPMODE_MASK)
1096 #define CYWDT_ENABLE_BIT                (CY_WDT_CFG_WDR_EN)
1097
1098 #define FASTCLK_PLL_CFG0_PTR            (CY_CLK_PLL_CFG0_PTR)
1099 #define FASTCLK_PLL_CFG0                (CY_CLK_PLL_CFG0_REG)
1100 #define FASTCLK_PLL_SR_PTR              (CY_CLK_PLL_SR_PTR)
1101 #define FASTCLK_PLL_SR                  (CY_CLK_PLL_SR_REG)
1102
1103 #define MAX_FASTCLK_PLL_Q_VALUE         (CY_CLK_PLL_MAX_Q_VALUE)
1104 #define MIN_FASTCLK_PLL_Q_VALUE         (CY_CLK_PLL_MIN_Q_VALUE)
1105 #define MIN_FASTCLK_PLL_P_VALUE         (CY_CLK_PLL_MIN_P_VALUE)
1106 #define MIN_FASTCLK_PLL_CUR_VALUE       (CY_CLK_PLL_MIN_CUR_VALUE)
1107 #define MAX_FASTCLK_PLL_CUR_VALUE       (CY_CLK_PLL_MAX_CUR_VALUE)
1108
1109 #define PLL_CONTROL_ENABLE              (CY_CLK_PLL_ENABLE)
1110 #define PLL_STATUS_LOCK                 (CY_CLK_PLL_LOCK_STATUS)
1111 #define PLL_STATUS_ENABLED              (CY_CLK_PLL_ENABLE)
1112 #define PLL_CURRENT_POSITION            (CY_CLK_PLL_CURRENT_POSITION)
1113 #define PLL_VCO_GAIN_2                  (2u)
1114
1115 #define FASTCLK_PLL_Q_PTR              (CY_CLK_PLL_Q_PTR)
1116 #define FASTCLK_PLL_Q                  (CY_CLK_PLL_Q_REG)
1117 #define FASTCLK_PLL_P_PTR              (CY_CLK_PLL_P_PTR)
1118 #define FASTCLK_PLL_P                  (CY_CLK_PLL_P_REG)
1119 #define FASTCLK_PLL_CFG1_PTR           (CY_CLK_PLL_CFG1_REG)
1120 #define FASTCLK_PLL_CFG1               (CY_CLK_PLL_CFG1_REG)
1121
1122 #define CY_VD_PRESISTENT_STATUS_REG    (CY_VD_PERSISTENT_STATUS_REG)
1123 #define CY_VD_PRESISTENT_STATUS_PTR    (CY_VD_PERSISTENT_STATUS_PTR)
1124
1125
1126 /*******************************************************************************
1127 * Following code are OBSOLETE and must not be used starting from cy_boot 3.20
1128 *******************************************************************************/
1129
1130 #if(CY_PSOC5)
1131
1132     #define CYINT_IRQ_BASE      (CY_INT_IRQ_BASE)
1133
1134     #define CYINT_VECT_TABLE    (CY_INT_VECT_TABLE)
1135     #define CYINT_PRIORITY      (CY_INT_PRIORITY_PTR)
1136     #define CYINT_ENABLE        (CY_INT_ENABLE_PTR)
1137     #define CYINT_CLEAR         (CY_INT_CLEAR_PTR)
1138     #define CYINT_SET_PEND      (CY_INT_SET_PEND_PTR)
1139     #define CYINT_CLR_PEND      (CY_INT_CLR_PEND_PTR)
1140     #define CACHE_CC_CTL        (CY_CACHE_CONTROL_PTR)
1141
1142 #elif (CY_PSOC3)
1143
1144     #define CYINT_IRQ_BASE      (CY_INT_IRQ_BASE)
1145
1146     #define CYINT_VECT_TABLE    (CY_INT_VECT_TABLE)
1147     #define CYINT_PRIORITY      (CY_INT_PRIORITY_PTR)
1148     #define CYINT_ENABLE        (CY_INT_ENABLE_PTR)
1149     #define CYINT_CLEAR         (CY_INT_CLEAR_PTR)
1150     #define CYINT_SET_PEND      (CY_INT_SET_PEND_PTR)
1151     #define CYINT_CLR_PEND      (CY_INT_CLR_PEND_PTR)
1152
1153 #endif  /* (CY_PSOC5) */
1154
1155
1156 /*******************************************************************************
1157 * Following code are OBSOLETE and must not be used starting from cy_boot 3.30
1158 *******************************************************************************/
1159 #define BUS_AMASK_CLEAR                 (0xF0u)
1160 #define BUS_DMASK_CLEAR                 (0x00u)
1161 #define CLKDIST_LD_LOAD_SET             (0x01u)
1162 #define CLKDIST_WRK0_MASK_SET           (0x80u) /* Enable shadow loads */
1163 #define MASTERCLK_DIVIDER_VALUE         (7u)
1164 #define CLKDIST_BCFG2_SSS_SET           (0x40u) /* Sync source is same frequency */
1165 #define MASTER_CLK_SRC_CLEAR            (0xFCu)
1166 #define IMO_DOUBLER_ENABLE              (0x10u)
1167 #define CLOCK_IMO_IMO                   (0x20u)
1168 #define CLOCK_IMO2X_XTAL                (0x40u)
1169 #define CLOCK_IMO_RANGE_CLEAR           (0xF8u)
1170 #define CLOCK_CONTROL_DIST_MASK         (0xFCu)
1171
1172
1173 #define CLKDIST_AMASK                  (*(reg8 *) CYREG_CLKDIST_AMASK)
1174 #define CLKDIST_AMASK_PTR              ( (reg8 *) CYREG_CLKDIST_AMASK)
1175 #define CLKDIST_DMASK_PTR              ( (reg8 *) CYREG_CLKDIST_DMASK)
1176 #define CLKDIST_DMASK                  (*(reg8 *) CYREG_CLKDIST_DMASK)
1177 #define CLKDIST_BCFG2_PTR              ( (reg8 *) CYREG_CLKDIST_BCFG2)
1178 #define CLKDIST_BCFG2                  (*(reg8 *) CYREG_CLKDIST_BCFG2)
1179 #define CLKDIST_WRK0_PTR               ( (reg8 *) CYREG_CLKDIST_WRK0)
1180 #define CLKDIST_WRK0                   (*(reg8 *) CYREG_CLKDIST_WRK0)
1181 #define CLKDIST_LD_PTR                 ( (reg8 *) CYREG_CLKDIST_LD)
1182 #define CLKDIST_LD                     (*(reg8 *) CYREG_CLKDIST_LD)
1183 #define CLKDIST_BCFG0_PTR              ( (reg8 *) CYREG_CLKDIST_BCFG0)
1184 #define CLKDIST_BCFG0                  (*(reg8 *) CYREG_CLKDIST_BCFG0)
1185 #define CLKDIST_MSTR0_PTR              ( (reg8 *) CYREG_CLKDIST_MSTR0)
1186 #define CLKDIST_MSTR0                  (*(reg8 *) CYREG_CLKDIST_MSTR0)
1187 #define FASTCLK_IMO_CR_PTR             ( (reg8 *) CYREG_FASTCLK_IMO_CR)
1188 #define FASTCLK_IMO_CR                 (*(reg8 *) CYREG_FASTCLK_IMO_CR)
1189 #define CLKDIST_CR_PTR                 ( (reg8 *) CYREG_CLKDIST_CR)
1190 #define CLKDIST_CR                     (*(reg8 *) CYREG_CLKDIST_CR)
1191
1192
1193 /*******************************************************************************
1194 * Following code are OBSOLETE and must not be used starting from cy_boot 3.50
1195 *******************************************************************************/
1196 #define IMO_PM_ENABLE                   (0x10u)
1197 #define PM_ACT_CFG0_PTR                ( (reg8 *) CYREG_PM_ACT_CFG0)
1198 #define PM_ACT_CFG0                    (*(reg8 *) CYREG_PM_ACT_CFG0)
1199 #define SLOWCLK_ILO_CR0_PTR            ( (reg8 *) CYREG_SLOWCLK_ILO_CR0)
1200 #define SLOWCLK_ILO_CR0                (*(reg8 *) CYREG_SLOWCLK_ILO_CR0)
1201 #define ILO_CONTROL_PD_MODE             (0x10u)
1202 #define ILO_CONTROL_PD_POSITION         (4u)
1203 #define ILO_CONTROL_1KHZ_ON             (0x02u)
1204 #define ILO_CONTROL_100KHZ_ON           (0x04u)
1205 #define ILO_CONTROL_33KHZ_ON            (0x20u)
1206 #define PM_TW_CFG0_PTR                 ( (reg8 *) CYREG_PM_TW_CFG0)
1207 #define PM_TW_CFG0                     (*(reg8 *) CYREG_PM_TW_CFG0)
1208 #define PM_TW_CFG2_PTR                 ( (reg8 *) CYREG_PM_TW_CFG2)
1209 #define PM_TW_CFG2                     (*(reg8 *) CYREG_PM_TW_CFG2)
1210 #define RESET_CR2               ((reg8 *) CYREG_RESET_CR2)
1211 #define FASTCLK_IMO_USBCLK_ON_SET       (0x40u)
1212 #define CLOCK_IMO_3MHZ_VALUE            (0x03u)
1213 #define CLOCK_IMO_6MHZ_VALUE            (0x01u)
1214 #define CLOCK_IMO_12MHZ_VALUE           (0x00u)
1215 #define CLOCK_IMO_24MHZ_VALUE           (0x02u)
1216 #define CLOCK_IMO_48MHZ_VALUE           (0x04u)
1217 #define CLOCK_IMO_62MHZ_VALUE           (0x05u)
1218 #define CLOCK_IMO_74MHZ_VALUE           (0x06u)
1219 #define CLKDIST_DIV_POSITION            (4u)
1220 #define CLKDIST_MSTR1_DIV_CLEAR         (0x0Fu)
1221 #define SFR_USER_CPUCLK_DIV_MASK        (0x0Fu)
1222 #define CLOCK_USB_ENABLE                (0x02u)
1223 #define CLOCK_IMO_OUT_X2                (0x10u)
1224 #define CLOCK_IMO_OUT_X1                ((uint8)(~CLOCK_IMO_OUT_X2))
1225 #define CLOCK_IMO2X_ECO                 ((uint8)(~CLOCK_IMO2X_DSI))
1226 #define USB_CLKDIST_CONFIG_MASK         (0x03u)
1227 #define USB_CLK_IMO2X                   (0x00u)
1228 #define USB_CLK_IMO                     (0x01u)
1229 #define USB_CLK_PLL                     (0x02u)
1230 #define USB_CLK_DSI                     (0x03u)
1231 #define USB_CLK_DIV2_ON                 (0x04u)
1232 #define USB_CLK_STOP_FLAG               (0x00u)
1233 #define USB_CLK_START_FLAG              (0x01u)
1234 #define FTW_CLEAR_ALL_BITS              (0x00u)
1235 #define FTW_CLEAR_FTW_BITS              (0xFCu)
1236 #define FTW_ENABLE                      (0x01u)
1237 #define PM_STBY_CFG0_PTR               ( (reg8 *) CYREG_PM_STBY_CFG0)
1238 #define PM_STBY_CFG0                   (*(reg8 *) CYREG_PM_STBY_CFG0)
1239 #define PM_AVAIL_CR2_PTR               ( (reg8 *) CYREG_PM_AVAIL_CR2)
1240 #define PM_AVAIL_CR2                   (*(reg8 *) CYREG_PM_AVAIL_CR2)
1241 #define CLKDIST_UCFG_PTR               ( (reg8 *) CYREG_CLKDIST_UCFG)
1242 #define CLKDIST_UCFG                   (*(reg8 *) CYREG_CLKDIST_UCFG)
1243 #define CLKDIST_MSTR1_PTR              ( (reg8 *) CYREG_CLKDIST_MSTR1)
1244 #define CLKDIST_MSTR1                  (*(reg8 *) CYREG_CLKDIST_MSTR1)
1245 #define SFR_USER_CPUCLK_DIV_PTR        ((void far *) CYREG_SFR_USER_CPUCLK_DIV)
1246 #define IMO_TR1_PTR                    ( (reg8 *) CYREG_IMO_TR1)
1247 #define IMO_TR1                        (*(reg8 *) CYREG_IMO_TR1)
1248 #define CLOCK_CONTROL                  ( (reg8 *) CYREG_CLKDIST_CR)
1249 #define CY_USB_CR1_PTR                 ( (reg8 *) CYREG_USB_CR1 )
1250 #define CY_USB_CR1                     (*(reg8 *) CYREG_USB_CR1 )
1251 #define USB_CLKDIST_CONFIG_PTR         ( (reg8 *) CYREG_CLKDIST_UCFG)
1252 #define USB_CLKDIST_CONFIG             (*(reg8 *) CYREG_CLKDIST_UCFG)
1253 #define CY_PM_ACT_CFG5_REG              (* (reg8 *) CYREG_PM_ACT_CFG5 )
1254 #define CY_PM_ACT_CFG5_PTR              (  (reg8 *) CYREG_PM_ACT_CFG5 )
1255 #define CY_PM_STBY_CFG5_REG             (* (reg8 *) CYREG_PM_STBY_CFG5 )
1256 #define CY_PM_STBY_CFG5_PTR             (  (reg8 *) CYREG_PM_STBY_CFG5 )
1257 #if(CY_PSOC3)
1258     #define FLSHID_CUST_TABLES_IMO_3MHZ_PTR         ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_3MHZ)
1259     #define FLSHID_CUST_TABLES_IMO_6MHZ_PTR         ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_6MHZ)
1260     #define FLSHID_CUST_TABLES_IMO_12MHZ_PTR        ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_12MHZ)
1261     #define FLSHID_CUST_TABLES_IMO_24MHZ_PTR        ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_24MHZ)
1262     #define FLSHID_CUST_TABLES_IMO_67MHZ_PTR        ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_67MHZ)
1263     #define FLSHID_CUST_TABLES_IMO_80MHZ_PTR        ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_80MHZ)
1264     #define FLSHID_CUST_TABLES_IMO_USB_PTR          ((void far *) CYREG_FLSHID_CUST_TABLES_IMO_USB)
1265     #define FLSHID_MFG_CFG_IMO_TR1_PTR              ((void far *) (CYREG_FLSHID_MFG_CFG_IMO_TR1 + 1u))
1266  #else
1267     #define FLSHID_CUST_TABLES_IMO_3MHZ_PTR         ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_3MHZ)
1268     #define FLSHID_CUST_TABLES_IMO_6MHZ_PTR         ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_6MHZ)
1269     #define FLSHID_CUST_TABLES_IMO_12MHZ_PTR        ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_12MHZ)
1270     #define FLSHID_CUST_TABLES_IMO_24MHZ_PTR        ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_24MHZ)
1271     #define FLSHID_CUST_TABLES_IMO_67MHZ_PTR        ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_67MHZ)
1272     #define FLSHID_CUST_TABLES_IMO_80MHZ_PTR        ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_80MHZ)
1273     #define FLSHID_CUST_TABLES_IMO_USB_PTR          ((reg8 *) CYREG_FLSHID_CUST_TABLES_IMO_USB)
1274     #define FLSHID_MFG_CFG_IMO_TR1_PTR              ((reg8 *) (CYREG_FLSHID_MFG_CFG_IMO_TR1 + 1u))
1275 #endif  /* (CY_PSOC3) */
1276
1277
1278 #endif  /* (CY_BOOT_CYLIB_H) */
1279
1280
1281 /* [] END OF FILE */