-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathcy_capsense_sensing_v2.h
714 lines (616 loc) · 46.2 KB
/
cy_capsense_sensing_v2.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
/***************************************************************************//**
* \file cy_capsense_sensing_v2.h
* \version 6.10.0
*
* \brief
* This file provides the function prototypes specific to the sensing module.
*
********************************************************************************
* \copyright
* Copyright 2018-2025, Cypress Semiconductor Corporation (an Infineon company)
* or an affiliate of Cypress Semiconductor Corporation. All rights reserved.
* You may use this file only in accordance with the license, terms, conditions,
* disclaimers, and limitations in the end user license agreement accompanying
* the software package with which this file was provided.
*******************************************************************************/
#if !defined(CY_CAPSENSE_SENSING_V2_H)
#define CY_CAPSENSE_SENSING_V2_H
#include "cy_gpio.h"
#include "cy_syslib.h"
#include "cy_sysclk.h"
#include "cy_capsense_common.h"
#include "cy_capsense_structure.h"
#include "cycfg_capsense_defines.h"
#if (defined(CY_IP_MXCSDV2) || defined(CY_IP_M0S8CSDV2))
#if defined(__cplusplus)
extern "C" {
#endif
/*******************************************************************************
* Function Prototypes
*******************************************************************************/
/******************************************************************************/
/** \addtogroup group_capsense_high_level *//** \{ */
/******************************************************************************/
cy_capsense_status_t Cy_CapSense_SetupWidget(
uint32_t widgetId,
cy_stc_capsense_context_t * context);
cy_capsense_status_t Cy_CapSense_Scan(
cy_stc_capsense_context_t * context);
/** \} */
/******************************************************************************/
/** \addtogroup group_capsense_low_level *//** \{ */
/******************************************************************************/
cy_capsense_status_t Cy_CapSense_SetupWidgetExt(
uint32_t widgetId,
uint32_t sensorId,
cy_stc_capsense_context_t * context);
cy_capsense_status_t Cy_CapSense_ScanExt(
cy_stc_capsense_context_t * context);
/** \} */
/******************************************************************************/
/** \cond SECTION_CAPSENSE_INTERNAL */
/** \addtogroup group_capsense_internal *//** \{ */
/******************************************************************************/
cy_capsense_status_t Cy_CapSense_ScanWidget_V2(
uint32_t widgetId,
cy_stc_capsense_context_t * context);
cy_capsense_status_t Cy_CapSense_ScanSensor_V2(
uint32_t widgetId,
uint32_t sensorId,
cy_stc_capsense_context_t * context);
cy_capsense_status_t Cy_CapSense_ScanAllWidgets_V2(
cy_stc_capsense_context_t * context);
void Cy_CapSense_InterruptHandler_V2(
const CSD_Type * base,
cy_stc_capsense_context_t * context);
#if ((CY_CAPSENSE_ENABLE == CY_CAPSENSE_CSD_CALIBRATION_EN) || \
(CY_CAPSENSE_ENABLE == CY_CAPSENSE_CSX_CALIBRATION_EN))
cy_capsense_status_t Cy_CapSense_CalibrateWidget_V2(
uint32_t widgetId,
cy_stc_capsense_context_t * context);
cy_capsense_status_t Cy_CapSense_CalibrateAllWidgets_V2(
cy_stc_capsense_context_t * context);
#endif /* ((CY_CAPSENSE_ENABLE == CY_CAPSENSE_CSD_CALIBRATION_EN) || \
(CY_CAPSENSE_ENABLE == CY_CAPSENSE_CSX_CALIBRATION_EN)) */
#if (CY_CAPSENSE_ENABLE == CY_CAPSENSE_CSD_CALIBRATION_EN)
cy_capsense_status_t Cy_CapSense_CalibrateAllCsdWidgets(
cy_stc_capsense_context_t * context);
#endif
#if (CY_CAPSENSE_ENABLE == CY_CAPSENSE_CSX_CALIBRATION_EN)
cy_capsense_status_t Cy_CapSense_CalibrateAllCsxWidgets(
cy_stc_capsense_context_t * context);
#endif
cy_capsense_status_t Cy_CapSense_SetPinState_V2(
uint32_t widgetId,
uint32_t sensorElement,
uint32_t state,
const cy_stc_capsense_context_t * context);
void Cy_CapSense_SetBusyFlags(
cy_stc_capsense_context_t * context);
void Cy_CapSense_ClrBusyFlags(
cy_stc_capsense_context_t * context);
cy_capsense_status_t Cy_CapSense_SsInitialize(
cy_stc_capsense_context_t * context);
void Cy_CapSense_SsPostAllWidgetsScan(
cy_stc_capsense_context_t * context);
void Cy_CapSense_SetIOsInDesiredState(
uint32_t desiredDriveMode,
uint32_t desiredPinOutput,
en_hsiom_sel_t desiredHsiom,
const cy_stc_capsense_context_t * context);
void Cy_CapSense_SetSpecificIOsInDefaultState(
const cy_stc_capsense_context_t * context);
cy_en_capsense_return_status_t Cy_CapSense_SwitchSensingMode(
uint8_t mode,
cy_stc_capsense_context_t * context);
#if (CY_CAPSENSE_ENABLE == CY_CAPSENSE_SMARTSENSE_EN)
cy_capsense_status_t Cy_CapSense_SsAutoTune(
cy_stc_capsense_context_t * context);
cy_capsense_status_t Cy_CapSense_SsAutoTuneWidget(
uint32_t widgetId,
cy_stc_capsense_context_t * context);
#endif
void Cy_CapSense_InitializeSourceSenseClk(
const cy_stc_capsense_context_t * context);
uint32_t Cy_CapSense_SsCalcLfsrSize(
uint32_t clkDivider,
uint32_t conversionsNum);
void Cy_CapSense_DischargeExtCapacitors(
cy_stc_capsense_context_t * context);
void Cy_CapSense_InitActivePtrSns(
uint32_t sensorId,
cy_stc_capsense_context_t * context);
void Cy_CapSense_InitActivePtrWd(
uint32_t widgetId,
cy_stc_capsense_context_t * context);
void Cy_CapSense_InitActivePtr(
uint32_t widgetId,
uint32_t sensorId,
cy_stc_capsense_context_t * context);
void Cy_CapSense_SsConfigPinRegisters(
GPIO_PRT_Type * base,
uint32_t pinNum,
uint32_t dm,
en_hsiom_sel_t hsiom);
void Cy_CapSense_SsReadPinRegisters(
GPIO_PRT_Type * base,
uint32_t pinNum,
uint32_t *dm,
en_hsiom_sel_t *hsiom);
void Cy_CapSense_SetClkDivider(
uint32_t dividerValue,
const cy_stc_capsense_context_t * context);
uint32_t Cy_CapSense_WatchdogCyclesNum(
uint32_t desiredTimeUs,
uint32_t cpuFreqMHz,
uint32_t cyclesPerLoop);
#if ((CY_CAPSENSE_ENABLE == CY_CAPSENSE_CSD_CALIBRATION_EN) ||\
(CY_CAPSENSE_ENABLE == CY_CAPSENSE_CSX_CALIBRATION_EN))
cy_capsense_status_t Cy_CapSense_CalibrateCheck(
uint32_t widgetId,
uint32_t target,
uint32_t senseMethod,
const cy_stc_capsense_context_t * context);
#endif /* ((CY_CAPSENSE_ENABLE == CY_CAPSENSE_CSD_CALIBRATION_EN) ||\
(CY_CAPSENSE_ENABLE == CY_CAPSENSE_CSX_CALIBRATION_EN)) */
uint32_t Cy_CapSense_GetVrefAutoMv(
const cy_stc_capsense_context_t * context);
uint32_t Cy_CapSense_GetVrefHighGain(
uint32_t vrefDesiredMv,
const cy_stc_capsense_context_t * context);
uint32_t Cy_CapSense_GetVrefHighMv(
uint32_t vrefGain,
const cy_stc_capsense_context_t * context);
cy_capsense_status_t Cy_CapSense_InternalPreCalculation(
cy_stc_capsense_context_t * context);
uint32_t Cy_CapSense_WaitForSeqIdle(
uint32_t watchdogCycleNum,
const cy_stc_capsense_context_t * context);
uint32_t Cy_CapSense_WaitEndOfScan(
uint32_t watchdogCycleNum,
const cy_stc_capsense_context_t * context);
/** \} \endcond */
#if (CY_CAPSENSE_DISABLE == CY_CAPSENSE_USE_CAPTURE)
/*******************************************************************************
* Local definition
*******************************************************************************/
/*
* Definition of the default configuration of the CSD HW registers that is
* intended to be used on the CSD HW block capturing stage.
* The configuration includes:
* 1. Start of the analog settling process:
* - Enables the CSD HW block;
* - Enables all the modules of the CSD HW block (AMBUF, REFGEN, CSDCMP, HSCMP);
* - Enables the Sense Modulator output;
* 2. Clear all of the pending interrupt requests of the CSD HW block (SAMPLE, INIT, ADC_RES);
* 3. Sets into default state the rest of the CSD HW block registers which are not related
* to actions #1 and #2.
*/
#define CY_CAPSENSE_CSD_CONFIG_DEFAULT {\
.config = 0x84001000uL, /* ENABLE = "1", SENSE_EN = "1". Set other fields into default state. */\
.spare = 0x00000000uL, /* Set all fields into default state. */ \
.status = 0x00000000uL, /* Set all fields into default state. */ \
.statSeq = 0x00000000uL, /* Set all fields into default state. */ \
.statCnts = 0x00000000uL, /* Set all fields into default state. */ \
.statHcnt = 0x00000000uL, /* Set all fields into default state. */ \
.resultVal1 = 0x00000000uL, /* Set all fields into default state. */ \
.resultVal2 = 0x00000000uL, /* Set all fields into default state. */ \
.adcRes = 0x00000000uL, /* Set all fields into default state. */ \
.intr = 0x00000106uL, /* SAMPLE = "1", INIT = "1", ADC_RES = "1". */ \
.intrSet = 0x00000000uL, /* Set all fields into default state. */ \
.intrMask = 0x00000000uL, /* Set all fields into default state. */ \
.intrMasked = 0x00000000uL, /* Set all fields into default state. */ \
.hscmp = 0x00000001uL, /* HSCMP_EN = "1". Set all other fields into default state. */ \
.ambuf = 0x00000001uL, /* PWR_MODE = "1". Set all other fields into default state. */ \
.refgen = 0x00000001uL, /* REFGEN_EN = "1". Set all other fields into default state. */ \
.csdCmp = 0x00000001uL, /* CSDCMP_EN = "1". Set all other fields into default state. */ \
.swRes = 0x00000000uL, /* Set all fields into default state. */ \
.sensePeriod = 0x0C000000uL, /* Set all fields into default state. */ \
.senseDuty = 0x00000000uL, /* Set all fields into default state. */ \
.swHsPosSel = 0x00000000uL, /* Set all fields into default state. */ \
.swHsNegSel = 0x00000000uL, /* Set all fields into default state. */ \
.swShieldSel = 0x00000000uL, /* Set all fields into default state. */ \
.swAmuxbufSel = 0x00000000uL, /* Set all fields into default state. */ \
.swBypSel = 0x00000000uL, /* Set all fields into default state. */ \
.swCmpPosSel = 0x00000000uL, /* Set all fields into default state. */ \
.swCmpNegSel = 0x00000000uL, /* Set all fields into default state. */ \
.swRefgenSel = 0x00000000uL, /* Set all fields into default state. */ \
.swFwModSel = 0x00000000uL, /* Set all fields into default state. */ \
.swFwTankSel = 0x00000000uL, /* Set all fields into default state. */ \
.swDsiSel = 0x00000000uL, /* Set all fields into default state. */ \
.ioSel = 0x00000000uL, /* Set all fields into default state. */ \
.seqTime = 0x00000000uL, /* Set all fields into default state. */ \
.seqInitCnt = 0x00000000uL, /* Set all fields into default state. */ \
.seqNormCnt = 0x00000000uL, /* Set all fields into default state. */ \
.adcCtl = 0x00000000uL, /* Set all fields into default state. */ \
.seqStart = 0x00000000uL, /* Set all fields into default state. */ \
.idacA = 0x00000000uL, /* Set all fields into default state. */ \
.idacB = 0x00000000uL, /* Set all fields into default state. */ \
}
extern const cy_stc_csd_config_t cy_capsense_csdCfg;
#endif
/*******************************************************************************
* CSD HW Waveform Selection values
*******************************************************************************/
#define CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN (0x00000000uL)
#define CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED (0x00000001uL)
#define CY_CAPSENSE_CSD_WAVEFORM_PHI1 (0x00000002uL)
#define CY_CAPSENSE_CSD_WAVEFORM_PHI2 (0x00000003uL)
#define CY_CAPSENSE_CSD_WAVEFORM_PHI1_HSCMP (0x00000004uL)
#define CY_CAPSENSE_CSD_WAVEFORM_PHI2_HSCMP (0x00000005uL)
#define CY_CAPSENSE_CSD_WAVEFORM_HSCMP (0x00000006uL)
#define CY_CAPSENSE_CSD_WAVEFORM_SENSE_INV (0x00000007uL)
#define CY_CAPSENSE_CSD_WAVEFORM_PHI1_DELAY (0x00000008uL)
#define CY_CAPSENSE_CSD_WAVEFORM_PHI2_DELAY (0x00000009uL)
#define CY_CAPSENSE_CSD_WAVEFORM_PHI1_INV (0x0000000AuL)
#define CY_CAPSENSE_CSD_WAVEFORM_PHI2_INV (0x0000000BuL)
#define CY_CAPSENSE_CSD_WAVEFORM_PHI1_HSCMP_INV (0x0000000CuL)
#define CY_CAPSENSE_CSD_WAVEFORM_PHI2_HSCMP_INV (0x0000000DuL)
#define CY_CAPSENSE_CSD_WAVEFORM_HSCMP_INV (0x0000000EuL)
#define CY_CAPSENSE_CSD_WAVEFORM_SENSE (0x0000000FuL)
/*******************************************************************************
* CSD HW Block Register Mask Definition
*******************************************************************************/
/* CSD_CONFIG register masks */
#if (CY_CAPSENSE_PSOC6_FOURTH_GEN)
#define CY_CAPSENSE_CSD_CONFIG_IREF_SEL_MSK (CSD_CONFIG_IREF_SEL_Msk)
#endif
#define CY_CAPSENSE_CSD_CONFIG_FILTER_DELAY_2_CYCLES (0x00000002uL)
#define CY_CAPSENSE_CSD_CONFIG_FILTER_DELAY_3_CYCLES (0x00000003uL)
#define CY_CAPSENSE_CSD_CONFIG_FILTER_DELAY_4_CYCLES (0x00000004uL)
#define CY_CAPSENSE_CSD_CONFIG_FILTER_DELAY_POS (CSD_CONFIG_FILTER_DELAY_Pos)
#define CY_CAPSENSE_CSD_CONFIG_FILTER_DELAY_MSK (CSD_CONFIG_FILTER_DELAY_Msk)
#define CY_CAPSENSE_CSD_CONFIG_FILTER_DELAY_12MHZ (CY_CAPSENSE_CSD_CONFIG_FILTER_DELAY_2_CYCLES << CSD_CONFIG_FILTER_DELAY_Pos)
#define CY_CAPSENSE_CSD_CONFIG_FILTER_DELAY_24MHZ (CY_CAPSENSE_CSD_CONFIG_FILTER_DELAY_3_CYCLES << CSD_CONFIG_FILTER_DELAY_Pos)
#define CY_CAPSENSE_CSD_CONFIG_FILTER_DELAY_48MHZ (CY_CAPSENSE_CSD_CONFIG_FILTER_DELAY_4_CYCLES << CSD_CONFIG_FILTER_DELAY_Pos)
#define CY_CAPSENSE_CSD_CONFIG_SHIELD_DELAY_MSK (CSD_CONFIG_SHIELD_DELAY_Msk)
#define CY_CAPSENSE_CSD_CONFIG_SHIELD_DELAY_POS (CSD_CONFIG_SHIELD_DELAY_Pos)
#define CY_CAPSENSE_CSD_CONFIG_SENSE_EN_MSK (CSD_CONFIG_SENSE_EN_Msk)
#define CY_CAPSENSE_CSD_CONFIG_DSI_COUNT_SEL_POS (CSD_CONFIG_DSI_COUNT_SEL_Pos)
#define CY_CAPSENSE_CSD_CONFIG_DSI_COUNT_SEL_MSK (CSD_CONFIG_DSI_COUNT_SEL_Msk)
#define CY_CAPSENSE_CSD_CONFIG_SAMPLE_SYNC_MSK (CSD_CONFIG_SAMPLE_SYNC_Msk)
#define CY_CAPSENSE_CSD_CONFIG_ENABLE_MSK (CSD_CONFIG_ENABLE_Msk)
/* CSD_STAT_SEQ register masks */
#define CY_CAPSENSE_CSD_STAT_SEQ_SEQ_STATE_MSK (CSD_STAT_SEQ_SEQ_STATE_Msk)
/* CSD_DSI_SEL register masks */
#define CY_CAPSENSE_CSD_SW_DSI_SEL_CSH_TANK_MSK (0x00000001uL)
#define CY_CAPSENSE_CSD_SW_DSI_SEL_CMOD_MSK (0x00000010uL)
/* CSD_RESULT_VAL1 register masks */
#define CY_CAPSENSE_CSD_RESULT_VAL1_VALUE_MSK (CSD_RESULT_VAL1_VALUE_Msk)
#define CY_CAPSENSE_CSD_RESULT_VAL1_BAD_CONVS_MSK (CSD_RESULT_VAL1_BAD_CONVS_Msk)
#define CY_CAPSENSE_CSD_RESULT_VAL1_BAD_CONVS_POS (CSD_RESULT_VAL1_BAD_CONVS_Pos)
/* CSD_RESULT_VAL2 register masks */
#define CY_CAPSENSE_CSD_RESULT_VAL2_VALUE_MSK (CSD_RESULT_VAL2_VALUE_Msk)
/* CSD_ADC_RES register masks */
#define CY_CAPSENSE_CSD_ADC_RES_VALUE_MSK (CSD_ADC_RES_VIN_CNT_Msk)
#define CY_CAPSENSE_CSD_ADC_RES_ADC_OVERFLOW_MSK (CSD_ADC_RES_ADC_OVERFLOW_Msk)
/* CSD_ADC_CTL register masks */
#define CY_CAPSENSE_CSD_ADC_CTL_ADC_MODE_MSK (CSD_ADC_CTL_ADC_MODE_Msk)
/* CSD_INTR register masks */
#define CY_CAPSENSE_CSD_INTR_SAMPLE_MSK (CSD_INTR_SAMPLE_Msk)
#define CY_CAPSENSE_CSD_INTR_INIT_MSK (CSD_INTR_INIT_Msk)
#define CY_CAPSENSE_CSD_INTR_ADC_RES_MSK (CSD_INTR_ADC_RES_Msk)
#define CY_CAPSENSE_CSD_INTR_ALL_MSK (CSD_INTR_SAMPLE_Msk | CSD_INTR_INIT_Msk | CSD_INTR_ADC_RES_Msk)
/* CSD_INTR_MASK register masks */
#define CY_CAPSENSE_CSD_INTR_MASK_SAMPLE_MSK (CSD_INTR_MASK_SAMPLE_Msk)
#define CY_CAPSENSE_CSD_INTR_MASK_INIT_MSK (CSD_INTR_MASK_INIT_Msk)
#define CY_CAPSENSE_CSD_INTR_MASK_ADC_RES_MSK (CSD_INTR_MASK_ADC_RES_Msk)
#define CY_CAPSENSE_CSD_INTR_MASK_CLEAR_MSK (0uL)
/* CSD_HSCMP register masks */
#define CY_CAPSENSE_CSD_HSCMP_HSCMP_EN_MSK (CSD_HSCMP_HSCMP_EN_Msk)
#define CY_CAPSENSE_CSD_HSCMP_HSCMP_INVERT_MSK (CSD_HSCMP_HSCMP_INVERT_Msk)
#define CY_CAPSENSE_CSD_HSCMP_AZ_EN_MSK (CSD_HSCMP_AZ_EN_Msk)
/* CSD_AMBUF register masks */
#define CY_CAPSENSE_CSD_AMBUF_PWR_MODE_OFF (0uL)
#define CY_CAPSENSE_CSD_AMBUF_PWR_MODE_NORM (1uL)
#define CY_CAPSENSE_CSD_AMBUF_PWR_MODE_HI (2uL)
/* CSD_REFGEN register masks */
#define CY_CAPSENSE_CSD_REFGEN_REFGEN_EN_MSK (CSD_REFGEN_REFGEN_EN_Msk)
#define CY_CAPSENSE_CSD_REFGEN_BYPASS_MSK (CSD_REFGEN_BYPASS_Msk)
#define CY_CAPSENSE_CSD_REFGEN_VDDA_EN_MSK (CSD_REFGEN_VDDA_EN_Msk)
#define CY_CAPSENSE_CSD_REFGEN_RES_EN_MSK (CSD_REFGEN_RES_EN_Msk)
#define CY_CAPSENSE_CSD_REFGEN_GAIN_POS (CSD_REFGEN_GAIN_Pos)
#define CY_CAPSENSE_CSD_REFGEN_GAIN_MSK (CSD_REFGEN_GAIN_Msk)
#define CY_CAPSENSE_CSD_REFGEN_VREFLO_SEL_MSK (CSD_REFGEN_VREFLO_SEL_Msk)
#define CY_CAPSENSE_CSD_REFGEN_VREFLO_INT_MSK (CSD_REFGEN_VREFLO_INT_Msk)
#define CY_CAPSENSE_VREF_HI_OVERSHOOT_CORRECTION (0x00000001uL)
/* CSD_CSDCMP register masks */
#define CY_CAPSENSE_CSD_CSDCMP_CSDCMP_EN_MSK (CSD_CSDCMP_CSDCMP_EN_Msk)
#define CY_CAPSENSE_CSD_CSDCMP_CMP_PHASE_PHI2_MSK (0x0200u)
/* CSD_SENSE_PERIOD register masks */
#define CY_CAPSENSE_CSD_SENSE_PERIOD_SENSE_DIV_MSK (CSD_SENSE_PERIOD_SENSE_DIV_Msk)
#define CY_CAPSENSE_CSD_SENSE_PERIOD_LFSR_SIZE_MSK (CSD_SENSE_PERIOD_LFSR_SIZE_Msk)
#define CY_CAPSENSE_CSD_SENSE_PERIOD_LFSR_SIZE_POS (CSD_SENSE_PERIOD_LFSR_SIZE_Pos)
#define CY_CAPSENSE_CSD_SENSE_PERIOD_LFSR_SCALE_MSK (CSD_SENSE_PERIOD_LFSR_SCALE_Msk)
#define CY_CAPSENSE_CSD_SENSE_PERIOD_LFSR_CLEAR_MSK (CSD_SENSE_PERIOD_LFSR_CLEAR_Msk)
#define CY_CAPSENSE_CSD_SENSE_PERIOD_SEL_LFSR_MSB_MSK (CSD_SENSE_PERIOD_SEL_LFSR_MSB_Msk)
#if (CY_CAPSENSE_PLATFORM_DEVICE_PSOC4)
#if (2u <= CY_IP_M0S8CSDV2_VERSION)
#define CY_CAPSENSE_CSD_SENSE_PERIOD_LFSR_BITS_MSK (CSD_SENSE_PERIOD_LFSR_BITS_Msk)
#else
#define CY_CAPSENSE_CSD_SENSE_PERIOD_LFSR_BITS_MSK (0u)
#endif
#else
#define CY_CAPSENSE_CSD_SENSE_PERIOD_LFSR_BITS_MSK (0u)
#endif
/* CSD_SENSE_DUTY register masks */
#define CY_CAPSENSE_CSD_SENSE_DUTY_SENSE_WIDTH_MSK (CSD_SENSE_DUTY_SENSE_WIDTH_Msk)
#define CY_CAPSENSE_CSD_SENSE_DUTY_SENSE_POL_MSK (CSD_SENSE_DUTY_SENSE_POL_Msk)
#define CY_CAPSENSE_CSD_SENSE_DUTY_SENSE_POL_PHI_LOW (0uL)
#define CY_CAPSENSE_CSD_SENSE_DUTY_SENSE_POL_PHI_HIGH (CSD_SENSE_DUTY_SENSE_POL_Msk)
#define CY_CAPSENSE_CSD_SENSE_DUTY_OVERLAP_PHI1_MSK (CSD_SENSE_DUTY_OVERLAP_PHI1_Msk)
#define CY_CAPSENSE_CSD_SENSE_DUTY_OVERLAP_PHI2_MSK (CSD_SENSE_DUTY_OVERLAP_PHI2_Msk)
#if (CY_CAPSENSE_PSOC4_FOURTH_GEN)
#define CY_CAPSENSE_CSD_SENSE_DUTY_CFG (CSD_SENSE_DUTY_OVERLAP_PHI1_Msk | CSD_SENSE_DUTY_OVERLAP_PHI2_Msk)
#else
#define CY_CAPSENSE_CSD_SENSE_DUTY_CFG (CY_CAPSENSE_CSD_SENSE_DUTY_SENSE_POL_PHI_HIGH)
#endif
#define CY_CAPSENSE_CSD_SW_HS_P_SEL_SW_HMPM_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_HS_P_SEL_SW_HMPM_Pos)
#define CY_CAPSENSE_CSD_SW_HS_P_SEL_SW_HMPM_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_HS_P_SEL_SW_HMPM_Pos)
#define CY_CAPSENSE_CSD_SW_HS_P_SEL_SW_HMPT_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_HS_P_SEL_SW_HMPT_Pos)
#define CY_CAPSENSE_CSD_SW_HS_P_SEL_SW_HMPT_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_HS_P_SEL_SW_HMPT_Pos)
#define CY_CAPSENSE_CSD_SW_HS_P_SEL_SW_HMPS_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_HS_P_SEL_SW_HMPS_Pos)
#define CY_CAPSENSE_CSD_SW_HS_P_SEL_SW_HMPS_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_HS_P_SEL_SW_HMPS_Pos)
#define CY_CAPSENSE_CSD_SW_HS_P_SEL_SW_HMMA_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_HS_P_SEL_SW_HMMA_Pos)
#define CY_CAPSENSE_CSD_SW_HS_P_SEL_SW_HMMA_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_HS_P_SEL_SW_HMMA_Pos)
#define CY_CAPSENSE_CSD_SW_HS_P_SEL_SW_HMMB_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_HS_P_SEL_SW_HMMB_Pos)
#define CY_CAPSENSE_CSD_SW_HS_P_SEL_SW_HMMB_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_HS_P_SEL_SW_HMMB_Pos)
#define CY_CAPSENSE_CSD_SW_HS_P_SEL_SW_HMRH_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_HS_P_SEL_SW_HMRH_Pos)
#define CY_CAPSENSE_CSD_SW_HS_P_SEL_SW_HMRH_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_HS_P_SEL_SW_HMRH_Pos)
#define CY_CAPSENSE_CSD_SW_HS_N_SEL_SW_HCRH_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_HS_N_SEL_SW_HCRH_Pos)
#define CY_CAPSENSE_CSD_SW_HS_N_SEL_SW_HCRH_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_HS_N_SEL_SW_HCRH_Pos)
#define CY_CAPSENSE_CSD_SW_HS_N_SEL_SW_HCRL_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_HS_N_SEL_SW_HCRL_Pos)
#define CY_CAPSENSE_CSD_SW_HS_N_SEL_SW_HCRL_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_HS_N_SEL_SW_HCRL_Pos)
#define CY_CAPSENSE_CSD_SW_HS_N_SEL_SW_HCCD_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_HS_N_SEL_SW_HCCD_Pos)
#define CY_CAPSENSE_CSD_SW_HS_N_SEL_SW_HCCD_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_HS_N_SEL_SW_HCCD_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAV_HSCMP (CY_CAPSENSE_CSD_WAVEFORM_HSCMP << CSD_SW_SHIELD_SEL_SW_HCAV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAV_PHI1 (CY_CAPSENSE_CSD_WAVEFORM_PHI1 << CSD_SW_SHIELD_SEL_SW_HCAV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAV_PHI2 (CY_CAPSENSE_CSD_WAVEFORM_PHI2 << CSD_SW_SHIELD_SEL_SW_HCAV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAV_PHI1_HSCMP (CY_CAPSENSE_CSD_WAVEFORM_PHI1_HSCMP << CSD_SW_SHIELD_SEL_SW_HCAV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAV_PHI2_HSCMP (CY_CAPSENSE_CSD_WAVEFORM_PHI2_HSCMP << CSD_SW_SHIELD_SEL_SW_HCAV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAV_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_SHIELD_SEL_SW_HCAV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAV_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_SHIELD_SEL_SW_HCAV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAG_HSCMP (CY_CAPSENSE_CSD_WAVEFORM_HSCMP << CSD_SW_SHIELD_SEL_SW_HCAG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAG_PHI1 (CY_CAPSENSE_CSD_WAVEFORM_PHI1 << CSD_SW_SHIELD_SEL_SW_HCAG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAG_PHI2 (CY_CAPSENSE_CSD_WAVEFORM_PHI2 << CSD_SW_SHIELD_SEL_SW_HCAG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAG_PHI1_HSCMP (CY_CAPSENSE_CSD_WAVEFORM_PHI1_HSCMP << CSD_SW_SHIELD_SEL_SW_HCAG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAG_PHI2_HSCMP (CY_CAPSENSE_CSD_WAVEFORM_PHI2_HSCMP << CSD_SW_SHIELD_SEL_SW_HCAG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAG_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_SHIELD_SEL_SW_HCAG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCAG_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_SHIELD_SEL_SW_HCAG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBV_HSCMP (CY_CAPSENSE_CSD_WAVEFORM_HSCMP << CSD_SW_SHIELD_SEL_SW_HCBV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBV_PHI1 (CY_CAPSENSE_CSD_WAVEFORM_PHI1 << CSD_SW_SHIELD_SEL_SW_HCBV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBV_PHI2 (CY_CAPSENSE_CSD_WAVEFORM_PHI2 << CSD_SW_SHIELD_SEL_SW_HCBV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBV_PHI1_HSCMP (CY_CAPSENSE_CSD_WAVEFORM_PHI1_HSCMP << CSD_SW_SHIELD_SEL_SW_HCBV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBV_PHI2_HSCMP (CY_CAPSENSE_CSD_WAVEFORM_PHI2_HSCMP << CSD_SW_SHIELD_SEL_SW_HCBV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBV_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_SHIELD_SEL_SW_HCBV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBV_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_SHIELD_SEL_SW_HCBV_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBG_HSCMP (CY_CAPSENSE_CSD_WAVEFORM_HSCMP << CSD_SW_SHIELD_SEL_SW_HCBG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBG_PHI1 (CY_CAPSENSE_CSD_WAVEFORM_PHI1 << CSD_SW_SHIELD_SEL_SW_HCBG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBG_PHI2 (CY_CAPSENSE_CSD_WAVEFORM_PHI2 << CSD_SW_SHIELD_SEL_SW_HCBG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBG_PHI1_HSCMP (CY_CAPSENSE_CSD_WAVEFORM_PHI1_HSCMP << CSD_SW_SHIELD_SEL_SW_HCBG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBG_PHI2_HSCMP (CY_CAPSENSE_CSD_WAVEFORM_PHI2_HSCMP << CSD_SW_SHIELD_SEL_SW_HCBG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBG_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_SHIELD_SEL_SW_HCBG_Pos)
#define CY_CAPSENSE_CSD_SW_SHIELD_SEL_SW_HCBG_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_SHIELD_SEL_SW_HCBG_Pos)
#define CY_CAPSENSE_CSD_SW_AMUXBUF_SEL_SW_IRLB_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_AMUXBUF_SEL_SW_IRLB_Pos)
#define CY_CAPSENSE_CSD_SW_AMUXBUF_SEL_SW_IRH_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_AMUXBUF_SEL_SW_IRH_Pos)
#define CY_CAPSENSE_CSD_SW_AMUXBUF_SEL_SW_ICB_PHI2 (CY_CAPSENSE_CSD_WAVEFORM_PHI2 << CSD_SW_AMUXBUF_SEL_SW_ICB_Pos)
#define CY_CAPSENSE_CSD_SW_AMUXBUF_SEL_SW_DEFAULT (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN)
/* CSD_SW_BYP_SEL register masks */
#define CY_CAPSENSE_CSD_SW_BYP_SEL_SW_BYA_MSK (CSD_SW_BYP_SEL_SW_BYA_Msk)
#define CY_CAPSENSE_CSD_SW_BYP_SEL_SW_BYB_MSK (CSD_SW_BYP_SEL_SW_BYB_Msk)
#define CY_CAPSENSE_CSD_SW_CMP_P_SEL_SW_SFPM_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_CMP_P_SEL_SW_SFPM_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_P_SEL_SW_SFPM_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_CMP_P_SEL_SW_SFPM_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_P_SEL_SW_SFPT_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_CMP_P_SEL_SW_SFPT_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_P_SEL_SW_SFPT_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_CMP_P_SEL_SW_SFPT_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_P_SEL_SW_SFPS_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_CMP_P_SEL_SW_SFPS_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_P_SEL_SW_SFPS_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_CMP_P_SEL_SW_SFPS_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_P_SEL_SW_SFMA_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_CMP_P_SEL_SW_SFMA_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_P_SEL_SW_SFMA_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_CMP_P_SEL_SW_SFMA_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_P_SEL_SW_SFCA_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_CMP_P_SEL_SW_SFCA_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_P_SEL_SW_SFCA_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_CMP_P_SEL_SW_SFCA_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_P_SEL_SW_SFCA_MSK (CSD_SW_CMP_P_SEL_SW_SFCA_Msk)
#define CY_CAPSENSE_CSD_SW_CMP_N_SEL_SW_SCRH_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_CMP_N_SEL_SW_SCRH_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_N_SEL_SW_SCRH_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_CMP_N_SEL_SW_SCRH_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_N_SEL_SW_SCRL_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_OPEN << CSD_SW_CMP_N_SEL_SW_SCRL_Pos)
#define CY_CAPSENSE_CSD_SW_CMP_N_SEL_SW_SCRL_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_CMP_N_SEL_SW_SCRL_Pos)
/* CSD_SW_REFGEN_SEL register masks */
#define CY_CAPSENSE_CSD_SW_REFGEN_SEL_SW_IAIB_MSK (CSD_SW_REFGEN_SEL_SW_IAIB_Msk)
#define CY_CAPSENSE_CSD_SW_REFGEN_SEL_SW_IBCB_MSK (CSD_SW_REFGEN_SEL_SW_IBCB_Msk)
#define CY_CAPSENSE_CSD_SW_REFGEN_SEL_SW_SGMB_MSK (CSD_SW_REFGEN_SEL_SW_SGMB_Msk)
#define CY_CAPSENSE_CSD_SW_REFGEN_SEL_SW_SGRP_MSK (CSD_SW_REFGEN_SEL_SW_SGRP_Msk)
#define CY_CAPSENSE_CSD_SW_REFGEN_SEL_SW_SGRE_MSK (CSD_SW_REFGEN_SEL_SW_SGRE_Msk)
#define CY_CAPSENSE_CSD_SW_REFGEN_SEL_SW_SGR_MSK (CSD_SW_REFGEN_SEL_SW_SGR_Msk)
#define CY_CAPSENSE_CSD_SW_FW_MOD_SEL_SW_F1PM_MSK (CSD_SW_FW_MOD_SEL_SW_F1PM_Msk)
#define CY_CAPSENSE_CSD_SW_FW_MOD_SEL_SW_F1PM_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_MOD_SEL_SW_F1PM_Pos)
#define CY_CAPSENSE_CSD_SW_FW_MOD_SEL_SW_F1MA_MSK (CSD_SW_FW_MOD_SEL_SW_F1MA_Msk)
#define CY_CAPSENSE_CSD_SW_FW_MOD_SEL_SW_F1MA_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_MOD_SEL_SW_F1MA_Pos)
#define CY_CAPSENSE_CSD_SW_FW_MOD_SEL_SW_F1CA_MSK (CSD_SW_FW_MOD_SEL_SW_F1CA_Msk)
#define CY_CAPSENSE_CSD_SW_FW_MOD_SEL_SW_F1CA_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_MOD_SEL_SW_F1CA_Pos)
#define CY_CAPSENSE_CSD_SW_FW_MOD_SEL_SW_F1CA_PHI2 (CY_CAPSENSE_CSD_WAVEFORM_PHI2 << CSD_SW_FW_MOD_SEL_SW_F1CA_Pos)
#define CY_CAPSENSE_CSD_SW_FW_MOD_SEL_SW_C1CC_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_MOD_SEL_SW_C1CC_Pos)
#define CY_CAPSENSE_CSD_SW_FW_MOD_SEL_SW_C1CC_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_MOD_SEL_SW_C1CC_Pos)
#define CY_CAPSENSE_CSD_SW_FW_MOD_SEL_SW_C1CD_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_MOD_SEL_SW_C1CD_Pos)
#define CY_CAPSENSE_CSD_SW_FW_MOD_SEL_SW_C1CD_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_MOD_SEL_SW_C1CD_Pos)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_F2PT_MSK (CSD_SW_FW_TANK_SEL_SW_F2PT_Msk)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_F2PT_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_TANK_SEL_SW_F2PT_Pos)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_F2MA_MSK (CSD_SW_FW_TANK_SEL_SW_F2MA_Msk)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_F2MA_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_TANK_SEL_SW_F2MA_Pos)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_F2CA_MSK (CSD_SW_FW_TANK_SEL_SW_F2CA_Msk)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_F2CA_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_TANK_SEL_SW_F2CA_Pos)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_F2CB_MSK (CSD_SW_FW_TANK_SEL_SW_F2CB_Msk)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_F2CB_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_TANK_SEL_SW_F2CB_Pos)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_F2CA_PHI2 (CY_CAPSENSE_CSD_WAVEFORM_PHI2 << CSD_SW_FW_TANK_SEL_SW_F2CA_Pos)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_F2CB_PHI2 (CY_CAPSENSE_CSD_WAVEFORM_PHI2 << CSD_SW_FW_TANK_SEL_SW_F2CB_Pos)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_C2CC_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_TANK_SEL_SW_C2CC_Pos)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_C2CC_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_TANK_SEL_SW_C2CC_Pos)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_C2CD_STATIC_OPEN (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_TANK_SEL_SW_C2CD_Pos)
#define CY_CAPSENSE_CSD_SW_FW_TANK_SEL_SW_C2CD_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_SW_FW_TANK_SEL_SW_C2CD_Pos)
#if (CY_CAPSENSE_PSOC4_FOURTH_GEN)
#define CY_CAPSENSE_CSD_TX_OUT_MSK (0u)
#define CY_CAPSENSE_CSD_TX_OUT_EN_PHI1_DELAY (0u)
#define CY_CAPSENSE_CSD_TX_AMUXB_EN_PHI2_DELAY (0u)
#define CY_CAPSENSE_CSD_TX_N_OUT_STATIC_CLOSE (0u)
#define CY_CAPSENSE_CSD_TX_N_OUT_EN_PHI1 (0u)
#define CY_CAPSENSE_CSD_TX_N_AMUXA_EN_PHI2 (0u)
#else
#define CY_CAPSENSE_CSD_TX_OUT_MSK (CSD_IO_SEL_CSD_TX_OUT_Msk)
#define CY_CAPSENSE_CSD_TX_OUT_EN_PHI1_DELAY (CY_CAPSENSE_CSD_WAVEFORM_PHI1_DELAY << 4u)
#define CY_CAPSENSE_CSD_TX_AMUXB_EN_PHI2_DELAY (CY_CAPSENSE_CSD_WAVEFORM_PHI2_DELAY << 12u)
#define CY_CAPSENSE_CSD_TX_N_OUT_STATIC_CLOSE (CY_CAPSENSE_CSD_WAVEFORM_STATIC_CLOSED << CSD_IO_SEL_CSD_TX_N_OUT_Pos)
#define CY_CAPSENSE_CSD_TX_N_OUT_EN_PHI1 (CY_CAPSENSE_CSD_WAVEFORM_PHI1 << CSD_IO_SEL_CSD_TX_N_OUT_EN_Pos)
#define CY_CAPSENSE_CSD_TX_N_AMUXA_EN_PHI2 (CY_CAPSENSE_CSD_WAVEFORM_PHI2 << CSD_IO_SEL_CSD_TX_N_AMUXA_EN_Pos)
#endif
/* CSD_SEQ_INIT_CNT register masks */
#define CY_CAPSENSE_CSD_SEQ_INIT_CNT_CONV_CNT_MSK (CSD_SEQ_INIT_CNT_CONV_CNT_Msk)
/* CSD_SEQ_NORM_CNT register masks */
#define CY_CAPSENSE_CSD_SEQ_NORM_CNT_CONV_CNT_MSK (CSD_SEQ_NORM_CNT_CONV_CNT_Msk)
/* CSD_SEQ_START register masks */
#define CY_CAPSENSE_CSD_SEQ_START_START_MSK (CSD_SEQ_START_START_Msk)
#define CY_CAPSENSE_CSD_SEQ_START_SEQ_MODE_MSK (CSD_SEQ_START_SEQ_MODE_Msk)
#define CY_CAPSENSE_CSD_SEQ_START_ABORT_MSK (CSD_SEQ_START_ABORT_Msk)
#define CY_CAPSENSE_CSD_SEQ_START_DSI_START_EN_MSK (CSD_SEQ_START_DSI_START_EN_Msk)
#define CY_CAPSENSE_CSD_SEQ_START_AZ0_SKIP_MSK (CSD_SEQ_START_AZ0_SKIP_Msk)
#define CY_CAPSENSE_CSD_SEQ_START_AZ1_SKIP_MSK (CSD_SEQ_START_AZ1_SKIP_Msk)
#define CY_CAPSENSE_CSD_IDAC_BITS_USED (7u)
#define CY_CAPSENSE_CAL_MIDDLE_VALUE (1u << (CY_CAPSENSE_CSD_IDAC_BITS_USED - 1u))
#define CY_CAPSENSE_CAL_IDAC_MAX_VALUE ((uint8_t)(1u << CY_CAPSENSE_CSD_IDAC_BITS_USED) - 1u)
/* CSD_IDACA register masks */
#define CY_CAPSENSE_CSD_IDACA_VAL_MSK (CSD_IDACA_VAL_Msk)
#define CY_CAPSENSE_CSD_IDACA_VAL_POS (CSD_IDACA_VAL_Pos)
#define CY_CAPSENSE_CSD_IDACA_POL_DYN_MSK (CSD_IDACA_POL_DYN_Msk)
#define CY_CAPSENSE_CSD_IDACA_POL_DYN_POS (CSD_IDACA_POL_DYN_Pos)
#define CY_CAPSENSE_CSD_IDACA_POLARITY_MSK (CSD_IDACA_POLARITY_Msk)
#define CY_CAPSENSE_CSD_IDACA_POLARITY_POS (CSD_IDACA_POLARITY_Pos)
#define CY_CAPSENSE_CSD_IDACA_POLARITY_VSSA_SRC (0uL)
#define CY_CAPSENSE_CSD_IDACA_POLARITY_VDDA_SNK (1uL)
#define CY_CAPSENSE_CSD_IDACA_POLARITY_SENSE (2uL)
#define CY_CAPSENSE_CSD_IDACA_POLARITY_SENSE_INV (3uL)
#define CY_CAPSENSE_CSD_IDACA_BALL_MODE_MSK (CSD_IDACA_BAL_MODE_Msk)
#define CY_CAPSENSE_CSD_IDACA_BALL_MODE_POS (CSD_IDACA_BAL_MODE_Pos)
#define CY_CAPSENSE_CSD_IDACA_BALL_MODE_FULL (0uL)
#define CY_CAPSENSE_CSD_IDACA_BALL_MODE_PHI1 (1uL)
#define CY_CAPSENSE_CSD_IDACA_BALL_MODE_PHI2 (2uL)
#define CY_CAPSENSE_CSD_IDACA_BALL_MODE_PHI1_2 (3uL)
#define CY_CAPSENSE_CSD_IDACA_LEG1_MODE_MSK (CSD_IDACA_LEG1_MODE_Msk)
#define CY_CAPSENSE_CSD_IDACA_LEG1_MODE_POS (CSD_IDACA_LEG1_MODE_Pos)
#define CY_CAPSENSE_CSD_IDACA_LEG1_MODE_GP_STATIC (0uL)
#define CY_CAPSENSE_CSD_IDACA_LEG1_MODE_GP (1uL)
#define CY_CAPSENSE_CSD_IDACA_LEG1_MODE_CSD_STATIC (2uL)
#define CY_CAPSENSE_CSD_IDACA_LEG1_MODE_CSD (3uL)
#define CY_CAPSENSE_CSD_IDACA_LEG2_MODE_MSK (CSD_IDACA_LEG2_MODE_Msk)
#define CY_CAPSENSE_CSD_IDACA_LEG2_MODE_POS (CSD_IDACA_LEG2_MODE_Pos)
#define CY_CAPSENSE_CSD_IDACA_LEG2_MODE_GP_STATIC (0uL)
#define CY_CAPSENSE_CSD_IDACA_LEG2_MODE_GP (1uL)
#define CY_CAPSENSE_CSD_IDACA_LEG2_MODE_CSD_STATIC (2uL)
#define CY_CAPSENSE_CSD_IDACA_LEG2_MODE_CSD (3uL)
#define CY_CAPSENSE_CSD_IDACA_RANGE_MSK (CSD_IDACA_RANGE_Msk)
#define CY_CAPSENSE_CSD_IDACA_RANGE_POS (CSD_IDACA_RANGE_Pos)
#define CY_CAPSENSE_CSD_IDACA_RANGE_IDAC_LO (0uL)
#define CY_CAPSENSE_CSD_IDACA_RANGE_IDAC_MED (1uL)
#define CY_CAPSENSE_CSD_IDACA_RANGE_IDAC_HI (2uL)
#define CY_CAPSENSE_CSD_IDACA_LEG1_EN_MSK (CSD_IDACA_LEG1_EN_Msk)
#define CY_CAPSENSE_CSD_IDACA_LEG2_EN_MSK (CSD_IDACA_LEG2_EN_Msk)
/* CSD_IDACB register masks */
#define CY_CAPSENSE_CSD_IDACB_VAL_MSK (CSD_IDACB_VAL_Msk)
#define CY_CAPSENSE_CSD_IDACB_VAL_POS (CSD_IDACB_VAL_Pos)
#define CY_CAPSENSE_CSD_IDACB_POL_DYN_MSK (CSD_IDACB_POL_DYN_Msk)
#define CY_CAPSENSE_CSD_IDACB_POL_DYN_POS (CSD_IDACB_POL_DYN_Pos)
#define CY_CAPSENSE_CSD_IDACB_POL_DYN_STATIC (0uL)
#define CY_CAPSENSE_CSD_IDACB_POL_DYN_DYNAMIC (1uL)
#define CY_CAPSENSE_CSD_IDACB_POLARITY_MSK (CSD_IDACB_POLARITY_Msk)
#define CY_CAPSENSE_CSD_IDACB_POLARITY_POS (CSD_IDACB_POLARITY_Pos)
#define CY_CAPSENSE_CSD_IDACB_POLARITY_VSSA_SRC (0uL)
#define CY_CAPSENSE_CSD_IDACB_POLARITY_VDDA_SNK (1uL)
#define CY_CAPSENSE_CSD_IDACB_POLARITY_SENSE (2uL)
#define CY_CAPSENSE_CSD_IDACB_POLARITY_SENSE_INV (3uL)
#define CY_CAPSENSE_CSD_IDACB_BALL_MODE_MSK (CSD_IDACB_BAL_MODE_Msk)
#define CY_CAPSENSE_CSD_IDACB_BALL_MODE_POS (CSD_IDACB_BAL_MODE_Pos)
#define CY_CAPSENSE_CSD_IDACB_BALL_MODE_FULL (0uL)
#define CY_CAPSENSE_CSD_IDACB_BALL_MODE_PHI1 (1uL)
#define CY_CAPSENSE_CSD_IDACB_BALL_MODE_PHI2 (2uL)
#define CY_CAPSENSE_CSD_IDACB_BALL_MODE_PHI1_2 (3uL)
#define CY_CAPSENSE_CSD_IDACB_LEG1_MODE_MSK (CSD_IDACB_LEG1_MODE_Msk)
#define CY_CAPSENSE_CSD_IDACB_LEG1_MODE_POS (CSD_IDACB_LEG1_MODE_Pos)
#define CY_CAPSENSE_CSD_IDACB_LEG1_MODE_GP_STATIC (0uL)
#define CY_CAPSENSE_CSD_IDACB_LEG1_MODE_GP (1uL)
#define CY_CAPSENSE_CSD_IDACB_LEG1_MODE_CSD_STATIC (2uL)
#define CY_CAPSENSE_CSD_IDACB_LEG1_MODE_CSD (3uL)
#define CY_CAPSENSE_CSD_IDACB_LEG2_MODE_MSK (CSD_IDACB_LEG2_MODE_Msk)
#define CY_CAPSENSE_CSD_IDACB_LEG2_MODE_POS (CSD_IDACB_LEG2_MODE_Pos)
#define CY_CAPSENSE_CSD_IDACB_LEG2_MODE_GP_STATIC (0uL)
#define CY_CAPSENSE_CSD_IDACB_LEG2_MODE_GP (1uL)
#define CY_CAPSENSE_CSD_IDACB_LEG2_MODE_CSD_STATIC (2uL)
#define CY_CAPSENSE_CSD_IDACB_LEG2_MODE_CSD (3uL)
#define CY_CAPSENSE_CSD_IDACB_RANGE_MSK (CSD_IDACB_RANGE_Msk)
#define CY_CAPSENSE_CSD_IDACB_RANGE_POS (CSD_IDACB_RANGE_Pos)
#define CY_CAPSENSE_CSD_IDACB_RANGE_IDAC_LO (0uL)
#define CY_CAPSENSE_CSD_IDACB_RANGE_IDAC_MED (1uL)
#define CY_CAPSENSE_CSD_IDACB_RANGE_IDAC_HI (2uL)
#define CY_CAPSENSE_CSD_IDACB_LEG1_EN_MSK (CSD_IDACB_LEG1_EN_Msk)
#define CY_CAPSENSE_CSD_IDACB_LEG2_EN_MSK (CSD_IDACB_LEG2_EN_Msk)
#define CY_CAPSENSE_CSD_IDACB_LEG3_EN_MSK (CSD_IDACB_LEG3_EN_Msk)
/*******************************************************************************
* PRS & LFSR masks
*******************************************************************************/
#define CY_CAPSENSE_PRS_LENGTH_8_BITS (0x000000FFuL)
#define CY_CAPSENSE_PRS_LENGTH_12_BITS (0x00000FFFuL)
#define CY_CAPSENSE_SNSCLK_SSC1_PERIOD (63u)
#define CY_CAPSENSE_SNSCLK_SSC2_PERIOD (127u)
#define CY_CAPSENSE_SNSCLK_SSC3_PERIOD (511u)
#define CY_CAPSENSE_SNSCLK_SSC4_PERIOD (1023u)
#define CY_CAPSENSE_SNSCLK_LFSR_RANGE (16u)
#define CY_CAPSENSE_LFSR_DITHER_PERCENTAGE (10uL)
#define CY_CAPSENSE_SNSCLK_LFSR_THRESHOLD (CY_CAPSENSE_LFSR_DITHER_PERCENTAGE * CY_CAPSENSE_SNSCLK_LFSR_RANGE)
/*******************************************************************************
* HSIOM and PC Macros redefinition platform dependent and for readability
*******************************************************************************/
#define CY_CAPSENSE_DM_GPIO_ANALOG (CY_GPIO_DM_ANALOG)
#define CY_CAPSENSE_DM_GPIO_STRONG_IN_OFF (CY_GPIO_DM_STRONG_IN_OFF)
#if (CY_CAPSENSE_PSOC4_FOURTH_GEN)
#define CY_CAPSENSE_HSIOM_SEL_GPIO (HSIOM_SEL_GPIO)
#define CY_CAPSENSE_HSIOM_SEL_CSD_SENSE (HSIOM_SEL_CSD_SENSE)
#define CY_CAPSENSE_HSIOM_SEL_CSD_SHIELD (HSIOM_SEL_CSD_SHIELD)
#define CY_CAPSENSE_HSIOM_SEL_AMUXA (HSIOM_SEL_AMUXA)
#define CY_CAPSENSE_HSIOM_SEL_AMUXB (HSIOM_SEL_AMUXB)
#define CY_CAPSENSE_DM_SHIELD (CY_GPIO_DM_ANALOG)
#define CY_CAPSENSE_CSD_SCAN_PIN_DM (CY_GPIO_DM_ANALOG)
#define CY_CAPSENSE_CSX_TX_SCAN_PIN_HSIOM (HSIOM_SEL_CSD_SENSE)
#define CY_CAPSENSE_CSX_CINT_SCAN_PIN_HSIOM (HSIOM_SEL_AMUXA)
#else
#define CY_CAPSENSE_HSIOM_SEL_GPIO (HSIOM_SEL_GPIO)
#define CY_CAPSENSE_HSIOM_SEL_CSD_SENSE (HSIOM_SEL_ACT_3)
#define CY_CAPSENSE_HSIOM_SEL_CSD_SHIELD (HSIOM_SEL_ACT_2)
#define CY_CAPSENSE_HSIOM_SEL_AMUXA (HSIOM_SEL_AMUXA)
#define CY_CAPSENSE_HSIOM_SEL_AMUXB (HSIOM_SEL_AMUXB)
#define CY_CAPSENSE_DM_SHIELD (CY_GPIO_DM_STRONG_IN_OFF)
#define CY_CAPSENSE_CSD_SCAN_PIN_DM (CY_GPIO_DM_STRONG_IN_OFF)
#define CY_CAPSENSE_CSX_TX_SCAN_PIN_HSIOM (HSIOM_SEL_ACT_2)
#define CY_CAPSENSE_CSX_CINT_SCAN_PIN_HSIOM (HSIOM_SEL_GPIO)
#endif
/*******************************************************************************
* Clock Macros
*******************************************************************************/
#define CY_CAPSENSE_MODCLK_CMD_DIV_SHIFT (0uL)
#define CY_CAPSENSE_MODCLK_CMD_PA_DIV_SHIFT (8uL)
#define CY_CAPSENSE_MODCLK_CMD_DISABLE_SHIFT (30uL)
#define CY_CAPSENSE_MODCLK_CMD_ENABLE_SHIFT (31uL)
#define CY_CAPSENSE_MODCLK_CMD_DISABLE_MASK ((uint32_t)(1uL << CY_CAPSENSE_MODCLK_CMD_DISABLE_SHIFT))
#define CY_CAPSENSE_MODCLK_CMD_ENABLE_MASK ((uint32_t)(1uL << CY_CAPSENSE_MODCLK_CMD_ENABLE_SHIFT))
#define CY_CAPSENSE_MOD_CSD_CLK_12000000_HZ (12000000uL)
#define CY_CAPSENSE_MOD_CSD_CLK_24000000_HZ (24000000uL)
#define CY_CAPSENSE_MOD_CSD_CLK_48000000_HZ (48000000uL)
#define CY_CAPSENSE_MIN_SNS_CLK_DIVIDER (4000u)
#define CY_CAPSENSE_PERI_CLK_KHZ (50000000U / 1000U)
#define CY_CAPSENSE_PERI_CLK_MHZ (CY_CAPSENSE_PERI_CLK_KHZ / 1000U)
#define CY_CAPSENSE_CPU_CLK_KHZ (50000000U / 1000U)
#define CY_CAPSENSE_CPU_CLK_MHZ (CY_CAPSENSE_CPU_CLK_KHZ / 1000U)
/*******************************************************************************
* Miscellaneous Macros
*******************************************************************************/
#define CY_CAPSENSE_2000_MV (2000u)
#if defined(__cplusplus)
}
#endif
#endif /* (defined(CY_IP_MXCSDV2) || defined(CY_IP_M0S8CSDV2)) */
#endif /* CY_CAPSENSE_SENSING_V2_H */
/* [] END OF FILE */