ADuCM4x50 Device Drivers API Reference Manual
Release 4.0.0.0
adi_pwr_config.h
1
15
#ifndef ADI_PWR_CONFIG_H
16
#define ADI_PWR_CONFIG_H
17
#include <adi_global_config.h>
18
#ifdef __ICCARM__
19
/* IAR MISRA C 2004 error suppressions.
20
*
21
* Pm009 (rule 5.1): identifiers shall not rely on significance of more than 31 characters.
22
* The YODA-generated headers rely on more. The IAR compiler supports that.
23
*/
24
#pragma diag_suppress=Pm009
25
#endif
/* __ICCARM__ */
26
37
#define ADI_PWR_CFG_ENABLE_CLOCK_SOURCE_GPIO 0
38
39
/*-------------------------------------------------------------------------------
40
Set of MACROs for configuring the clock
41
--------------------------------------------------------------------------------*/
42
/* Oscillator Control Register */
43
49
#define ADI_PWR_LF_CLOCK_MUX 0
50
51
57
#define ADI_PWR_HFOSC_CLOCK_ENABLE 1
58
65
#define ADI_PWR_LFXTAL_CLOCK_ENABLE 0
66
72
#define ADI_PWR_HFXTAL_CLOCK_ENABLE 0
73
81
#define ADI_PWR_LFXTAL_CLOCK_MON_ENABLE 0
82
90
#define ADI_PWR_LFXTAL_FAIL_AUTO_SWITCH_ENABLE 0
91
99
#define ADI_PWR_ROOT_CLOCK_MON_INT_ENABLE 0
100
101
108
#define ADI_PWR_ROOT_CLOCK_FAIL_AUTOSWITCH_ENABLE 0
109
110
111
/********** Miscellaneous clock setting register CTL0 *************/
112
121
#define ADI_PWR_INPUT_TO_ROOT_CLOCK_MUX 0
122
144
#define ADI_PWR_GPIO_CLOCK_OUT_SELECT 0
145
153
#define ADI_PWR_INPUT_TO_RCLK_MUX 0
154
162
#define ADI_PWR_INPUT_TO_SPLL_MUX 0
163
169
#define ADI_PWR_LFXTAL_CLOCK_INTERRUPT_ENABLE 0
170
176
#define ADI_PWR_HFXTAL_CLOCK_INTERRUPT_ENABLE 0
177
178
179
180
/********** Clock divider register CTL1 ***************/
181
186
#define ADI_PWR_HCLK_DIVIDE_COUNT 4
187
192
#define ADI_PWR_PCLK_DIVIDE_COUNT 4
193
198
#define ADI_PWR_ACLK_DIVIDE_COUNT 16
199
200
201
202
/************* HF Oscillator divide clock select register CTL2 ***********/
203
218
#define ADI_PWR_HFOSC_AUTO_DIV_BY_1 0
219
231
#define ADI_PWR_HFOSC_DIVIDE_SELECT 0
232
233
234
235
/****** System PLL Register CTL3 *****/
241
#define ADI_PWR_SPLL_MUL_FACTOR 26
242
249
#define ADI_PWR_SPLL_ENABLE_DIV2 0
250
256
#define ADI_PWR_SPLL_ENABLE 0
257
263
#define ADI_PWR_SPLL_INTERRUPT_ENABLE 0
264
270
#define ADI_PWR_SPLL_DIV_FACTOR 13
271
277
#define ADI_PWR_SPLL_ENABLE_MUL2 0
278
279
280
/********** User Clock Gating Control CTL5 ********************/
281
287
#define ADI_PWR_GPT0_CLOCK_ENABLE 1
288
294
#define ADI_PWR_GPT1_CLOCK_ENABLE 1
295
300
#define ADI_PWR_GPT2_CLOCK_ENABLE 1
301
309
#define ADI_PWR_I2C_CLOCK_ENABLE 1
310
318
#define ADI_PWR_GPIO_CLOCK_ENABLE 1
319
320
328
#define ADI_PWR_PCLK_ENABLE 0
329
337
#define ADI_PWR_TIMER_RGB_ENABLE 1
338
339
/*-------------------------------------------------------------------------------
340
Set of macros for configuring the power management module
341
--------------------------------------------------------------------------------*/
342
343
/********* Interrupt enable register IEN ********/
344
350
#define ADI_PWR_ENABLE_VBAT_INTERRUPT 0
351
357
#define ADI_PWR_ENABLE_VREG_UNDER_VOLTAGE_INTERRUPT 0
358
364
#define ADI_PWR_ENABLE_VREG_OVER_VOLTAGE_INTERRUPT 0
365
371
#define ADI_PWR_ENABLE_BATTERY_VOLTAGE_RANGE_INTERRUPT 0
372
379
#define ADI_PWR_BATTERY_VOLTAGE_RANGE_FOR_INTERRUPT 0
380
381
/********* HP Buck control register CTL1 ********/
387
#define ADI_PWR_HP_BUCK_ENABLE 0
388
398
#define ADI_PWR_HP_BUCK_LOAD_MODE 0
399
410
#define ADI_PWR_HP_BUCK_LOW_POWER_MODE 0
411
412
413
/********* Power mode register ********/
414
422
#define ADI_PWR_ENABLE_BATTERY_VOLTAGE_MONITORING 0
423
424
425
/*******************************************************************************
426
M A C R O V A L I D A T I O N
427
*******************************************************************************/
428
429
#if ( ADI_PWR_CFG_ENABLE_CLOCK_SOURCE_GPIO > 1 )
430
#error "Invalid configuration set for ADI_PWR_CFG_ENABLE_CLOCK_SOURCE_GPIO"
431
#endif
432
433
#if ( ADI_PWR_LF_CLOCK_MUX > 1 )
434
#error "Invalid configuration set for ADI_PWR_LF_CLOCK_MUX"
435
#endif
436
437
#if ( ADI_PWR_HFOSC_CLOCK_ENABLE > 1 )
438
#error "Invalid configuration set for ADI_PWR_HFOSC_CLOCK_ENABLE"
439
#endif
440
441
#if ( ADI_PWR_LFXTAL_CLOCK_ENABLE > 1 )
442
#error "Invalid configuration set for ADI_PWR_LFXTAL_CLOCK_ENABLE"
443
#endif
444
445
#if ( ADI_PWR_HFXTAL_CLOCK_ENABLE > 1 )
446
#error "Invalid configuration set for ADI_PWR_HFXTAL_CLOCK_ENABLE"
447
#endif
448
449
#if ( ADI_PWR_LFXTAL_CLOCK_MON_ENABLE > 1 )
450
#error "Invalid configuration set for ADI_PWR_LFXTAL_CLOCK_MON_ENABLE"
451
#endif
452
453
#if ( ADI_PWR_LFXTAL_FAIL_AUTO_SWITCH_ENABLE > 1 )
454
#error "Invalid configuration set for ADI_PWR_LFXTAL_FAIL_AUTO_SWITCH_ENABLE"
455
#endif
456
457
#if ( ADI_PWR_LFXTAL_ROBUST_MODE_ENABLE > 1 )
458
#error "Invalid configuration set for ADI_PWR_LFXTAL_ROBUST_MODE_ENABLE"
459
#endif
460
461
#if ( ADI_PWR_LFXTAL_ROBUST_LOAD_SELECT > 3 )
462
#error "Invalid configuration set for ADI_PWR_LFXTAL_ROBUST_LOAD_SELECT"
463
#endif
464
465
#if ( ADI_PWR_ROOT_CLOCK_MON_INT_ENABLE > 1 )
466
#error "Invalid configuration set for ADI_PWR_ROOT_CLOCK_MON_INT_ENABLE"
467
#endif
468
469
#if ( ADI_PWR_ROOT_CLOCK_FAIL_AUTOSWITCH_ENABLE > 1 )
470
#error "Invalid configuration set for ADI_PWR_ROOT_CLOCK_FAIL_AUTOSWITCH_ENABLE"
471
#endif
472
473
#if ( ADI_PWR_INPUT_TO_ROOT_CLOCK_MUX > 3 )
474
#error "Invalid configuration set for ADI_PWR_INPUT_TO_ROOT_CLOCK_MUX"
475
#endif
476
477
#if ( ADI_PWR_GPIO_CLOCK_OUT_SELECT > 15 )
478
#error "Invalid configuration set for ADI_PWR_GPIO_CLOCK_OUT_SELECT"
479
#endif
480
481
#if ( ADI_PWR_INPUT_TO_RCLK_MUX > 3 )
482
#error "Invalid configuration set for ADI_PWR_INPUT_TO_RCLK_MUX"
483
#endif
484
485
#if ( ADI_PWR_INPUT_TO_SPLL_MUX > 3 )
486
#error "Invalid configuration set for ADI_PWR_INPUT_TO_SPLL_MUX"
487
#endif
488
489
#if ( ADI_PWR_LFXTAL_CLOCK_INTERRUPT_ENABLE > 1 )
490
#error "Invalid configuration set for ADI_PWR_LFXTAL_CLOCK_INTERRUPT_ENABLE"
491
#endif
492
493
#if ( ADI_PWR_HFXTAL_CLOCK_INTERRUPT_ENABLE > 1 )
494
#error "Invalid configuration set for ADI_PWR_HFXTAL_CLOCK_INTERRUPT_ENABLE"
495
#endif
496
497
#if ( ADI_PWR_HCLK_DIVIDE_COUNT > 63 )
498
#error "Invalid configuration set for ADI_PWR_HCLK_DIVIDE_COUNT"
499
#endif
500
501
#if ( ADI_PWR_PCLK_DIVIDE_COUNT > 63 )
502
#error "Invalid configuration set for ADI_PWR_PCLK_DIVIDE_COUNT"
503
#endif
504
505
#if ( ADI_PWR_ACLK_DIVIDE_COUNT > 63 )
506
#error "Invalid configuration set for ADI_PWR_ACLK_DIVIDE_COUNT"
507
#endif
508
509
#if ( ADI_PWR_HFOSC_AUTO_DIV_BY_1 > 1 )
510
#error "Invalid configuration set for ADI_PWR_HFOSC_AUTO_DIV_BY_1"
511
#endif
512
513
#if ( ADI_PWR_HFOSC_DIVIDE_SELECT > 5 )
514
#error "Invalid configuration set for ADI_PWR_HFOSC_DIVIDE_SELECT"
515
#endif
516
517
#if ( ADI_PWR_SPLL_MUL_FACTOR < 8 || ADI_PWR_SPLL_MUL_FACTOR > 31 )
518
#error "Invalid configuration set for ADI_PWR_SPLL_MUL_FACTOR"
519
#endif
520
521
#if ( ADI_PWR_SPLL_ENABLE_DIV2 > 1 )
522
#error "Invalid configuration set for ADI_PWR_SPLL_ENABLE_DIV2"
523
#endif
524
525
#if ( ADI_PWR_SPLL_ENABLE > 1 )
526
#error "Invalid configuration set for ADI_PWR_SPLL_ENABLE"
527
#endif
528
529
#if ( ADI_PWR_SPLL_INTERRUPT_ENABLE > 1 )
530
#error "Invalid configuration set for ADI_PWR_SPLL_INTERRUPT_ENABLE"
531
#endif
532
533
#if ( ADI_PWR_SPLL_DIV_FACTOR < 2 || ADI_PWR_SPLL_DIV_FACTOR > 15 )
534
#error "Invalid configuration set for ADI_PWR_SPLL_DIV_FACTOR"
535
#endif
536
537
#if ( ADI_PWR_SPLL_ENABLE_MUL2 > 1 )
538
#error "Invalid configuration set for ADI_PWR_SPLL_ENABLE_MUL2"
539
#endif
540
541
#if ( ADI_PWR_GPT0_CLOCK_ENABLE > 1 )
542
#error "Invalid configuration set for ADI_PWR_GPT0_CLOCK_ENABLE"
543
#endif
544
545
#if ( ADI_PWR_GPT1_CLOCK_ENABLE > 1 )
546
#error "Invalid configuration set for ADI_PWR_GPT1_CLOCK_ENABLE"
547
#endif
548
549
#if ( ADI_PWR_GPT2_CLOCK_ENABLE > 1 )
550
#error "Invalid configuration set for ADI_PWR_GPT2_CLOCK_ENABLE"
551
#endif
552
553
#if ( ADI_PWR_I2C_CLOCK_ENABLE > 1 )
554
#error "Invalid configuration set for ADI_PWR_I2C_CLOCK_ENABLE"
555
#endif
556
557
#if ( ADI_PWR_GPIO_CLOCK_ENABLE > 1 )
558
#error "Invalid configuration set for ADI_PWR_GPIO_CLOCK_ENABLE"
559
#endif
560
561
#if ( ADI_PWR_PCLK_ENABLE > 1 )
562
#error "Invalid configuration set for ADI_PWR_PCLK_ENABLE"
563
#endif
564
565
#if ( ADI_PWR_TIMER_RGB_ENABLE > 1 )
566
#error "Invalid configuration set for ADI_PWR_TIMER_RGB_ENABLE"
567
#endif
568
569
#if ( ADI_PWR_ENABLE_VBAT_INTERRUPT > 1 )
570
#error "Invalid configuration set for ADI_PWR_ENABLE_VBAT_INTERRUPT"
571
#endif
572
573
#if ( ADI_PWR_ENABLE_VREG_UNDER_VOLTAGE_INTERRUPT > 1 )
574
#error "Invalid configuration set for ADI_PWR_ENABLE_VREG_UNDER_VOLTAGE_INTERRUPT"
575
#endif
576
577
#if ( ADI_PWR_ENABLE_VREG_OVER_VOLTAGE_INTERRUPT > 1 )
578
#error "Invalid configuration set for ADI_PWR_ENABLE_VREG_OVER_VOLTAGE_INTERRUPT"
579
#endif
580
581
#if ( ADI_PWR_ENABLE_BATTERY_VOLTAGE_RANGE_INTERRUPT > 1 )
582
#error "Invalid configuration set for ADI_PWR_ENABLE_BATTERY_VOLTAGE_RANGE_INTERRUPT"
583
#endif
584
585
#if ( ADI_PWR_BATTERY_VOLTAGE_RANGE_FOR_INTERRUPT > 2 )
586
#error "Invalid configuration set for ADI_PWR_BATTERY_VOLTAGE_RANGE_FOR_INTERRUPT"
587
#endif
588
589
#if ( ADI_PWR_HP_BUCK_ENABLE > 1 )
590
#error "Invalid configuration set for ADI_PWR_HP_BUCK_ENABLE"
591
#endif
592
593
#if ( ADI_PWR_HP_BUCK_LOAD_MODE > 1 )
594
#error "Invalid configuration set for ADI_PWR_HP_BUCK_LOAD_MODE"
595
#endif
596
597
#if ( ADI_PWR_HP_BUCK_LOW_POWER_MODE > 1 )
598
#error "Invalid configuration set for ADI_PWR_HP_BUCK_LOW_POWER_MODE"
599
#endif
600
601
#if ( ADI_PWR_ENABLE_BATTERY_VOLTAGE_MONITORING > 1 )
602
#error "Invalid configuration set for ADI_PWR_ENABLE_BATTERY_VOLTAGE_MONITORING"
603
#endif
604
605
606
609
#ifdef __ICCARM__
610
#pragma diag_default=Pm009
611
#endif
/* __ICCARM__ */
612
613
#endif
/* ADI_PWR_CONFIG_H */
Include
config
adi_pwr_config.h
Generated on Tue Aug 31 2021 19:04:42 for ADuCM4x50 Device Drivers API Reference Manual by
1.8.15