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 */