HPM SDK
HPMicro Software Development Kit
hpm_pcfg_drv.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef HPM_PCFG_DRV_H
9 #define HPM_PCFG_DRV_H
10 
11 #include "hpm_common.h"
12 #include "hpm_pcfg_regs.h"
13 
21 #define PCFG_CLOCK_GATE_MODE_ALWAYS_ON (0x3UL)
22 #define PCFG_CLOCK_GATE_MODE_ALWAYS_OFF (0x2UL)
23 #define PCFG_CLOCK_GATE_MODE_ALWAYS_FOLLOW_FLOW (0x1UL)
24 
25 #define PCFG_PERIPH_KEEP_CLOCK_ON(p) (PCFG_CLOCK_GATE_MODE_ALWAYS_ON << (p))
26 #define PCFG_PERIPH_KEEP_CLOCK_OFF(p) (PCFG_CLOCK_GATE_MODE_ALWAYS_OFF << (p))
27 #define PCFG_PERIPH_SET_CLOCK_AUTO(p) (PCFG_CLOCK_GATE_MODE_ALWAYS_FOLLOW_FLOW << (p))
28 
29 /* @brief PCFG irc24m reference */
30 typedef enum {
34 
35 /* @brief PCFG dcdc current limit */
36 typedef enum {
40 
41 /* @brief PCFG dcdc current hys */
42 typedef enum {
46 
47 /* @brief PCFG dcdc mode */
48 typedef enum {
54 
55 /* @brief PCFG pmc domain peripherals */
56 typedef enum {
67 
68 /* @brief PCFG wakeup source */
69 typedef enum {
70  pcfg_wakeup_src_otp = (1 << 4),
74  pcfg_wakeup_src_pgpio = (1 << 10),
76 
77 /* @brief PCFG status */
78 enum {
80 };
81 
82 /* @brief PCFG irc24m config */
83 typedef struct {
84  uint32_t freq_in_hz;
85  pcfg_irc24m_reference_t reference;
86  bool return_to_default_on_xtal_loss;
87  bool free_run;
89 
90 
91 #define PCFG_CLOCK_GATE_CONTROL_MASK(module, mode) \
92  ((uint32_t) (mode) << ((module) << 1))
93 
94 #define PCFG_DEBUG_STOP_SOURCE_ENABLE_CORE0 (PCFG_DEBUG_STOP_CPU0_MASK)
95 #define PCFG_DEBUG_STOP_SOURCE_DISABLE_CORE0 (0)
96 #define PCFG_DEBUG_STOP_SOURCE_ENABLE_CORE1 (PCFG_DEBUG_STOP_CPU1_MASK)
97 #define PCFG_DEBUG_STOP_SOURCE_DISABLE_CORE1 (0)
98 
99 #ifdef __cplusplus
100 extern "C" {
101 #endif
102 
109 {
111 }
112 
119 {
121 }
122 
129 {
131 }
132 
139 {
141 }
142 
150 static inline bool pcfg_bandgap_is_trimmed(PCFG_Type *ptr)
151 {
153 }
154 
160 static inline void pcfg_bandgap_reload_trim(PCFG_Type *ptr)
161 {
163 }
164 
170 static inline void pcfg_ldo2p5_turn_off(PCFG_Type *ptr)
171 {
173 }
174 
180 static inline void pcfg_ldo2p5_turn_on(PCFG_Type *ptr)
181 {
183 }
184 
192 static inline bool pcfg_ldo2p5_is_stable(PCFG_Type *ptr)
193 {
194  return PCFG_LDO2P5_READY_GET(ptr->LDO2P5);
195 }
196 
197 /*
198  * @brief check if DCDC is stable or not
199  * @param[in] ptr base address
200  * @retval true if DCDC is stable
201  */
202 static inline bool pcfg_dcdc_is_stable(PCFG_Type *ptr)
203 {
204  return PCFG_DCDC_MODE_READY_GET(ptr->DCDC_MODE);
205 }
206 
207 /*
208  * @brief set DCDC work mode
209  * @param[in] ptr base address
210  */
211 static inline void pcfg_dcdc_set_mode(PCFG_Type *ptr, uint8_t mode)
212 {
214 }
215 
223 static inline void pcfg_dcdc_set_lp_current_limit(PCFG_Type *ptr, pcfg_dcdc_lp_current_limit_t limit, bool over_limit)
224 {
225  (void) over_limit;
227 }
228 
235 {
237 }
238 
245 {
247 }
248 
256 static inline bool pcfg_dcdc_is_power_loss(PCFG_Type *ptr)
257 {
259 }
260 
267 {
269 }
270 
277 {
279 }
280 
287 static inline bool pcfg_dcdc_is_over_voltage(PCFG_Type *ptr)
288 {
290 }
291 
298 {
300 }
301 
308 {
310 }
311 
320 {
322 }
323 
331 static inline uint32_t pcfg_dcdc_get_start_time_in_cycle(PCFG_Type *ptr)
332 {
334 }
335 
343 static inline uint32_t pcfg_dcdc_get_resume_time_in_cycle(PCFG_Type *ptr)
344 {
346 }
347 
354 static inline void pcfg_dcdc_set_start_time_in_cycle(PCFG_Type *ptr, uint32_t cycles)
355 {
357 }
358 
365 static inline void pcfg_dcdc_set_resume_time_in_cycle(PCFG_Type *ptr, uint32_t cycles)
366 {
368 }
369 
375 static inline void pcfg_disable_power_trap(PCFG_Type *ptr)
376 {
378 }
379 
385 static inline void pcfg_enable_power_trap(PCFG_Type *ptr)
386 {
388 }
389 
397 static inline bool pcfg_is_power_trap_triggered(PCFG_Type *ptr)
398 {
400 }
401 
408 {
410 }
411 
417 static inline void pcfg_disable_dcdc_retention(PCFG_Type *ptr)
418 {
420 }
421 
427 static inline void pcfg_enable_dcdc_retention(PCFG_Type *ptr)
428 {
430 }
431 
438 static inline void pcfg_clear_wakeup_cause(PCFG_Type *ptr, uint32_t mask)
439 {
440  ptr->WAKE_CAUSE |= mask;
441 }
442 
450 static inline uint32_t pcfg_get_wakeup_cause(PCFG_Type *ptr)
451 {
452  return ptr->WAKE_CAUSE;
453 }
454 
461 static inline void pcfg_enable_wakeup_source(PCFG_Type *ptr, uint32_t mask)
462 {
463  ptr->WAKE_MASK &= ~mask;
464 }
465 
472 static inline void pcfg_disable_wakeup_source(PCFG_Type *ptr, uint32_t mask)
473 {
474  ptr->WAKE_MASK |= mask;
475 }
476 
483 static inline void pcfg_set_periph_clock_mode(PCFG_Type *ptr, uint32_t mode)
484 {
485  ptr->SCG_CTRL = mode;
486 }
487 
495 static inline void pcfg_update_periph_clock_mode(PCFG_Type *ptr, pcfg_pmc_periph_t periph, bool on)
496 {
497  if (on) {
498  ptr->SCG_CTRL = (ptr->SCG_CTRL & ~(0x03 << periph)) | PCFG_PERIPH_KEEP_CLOCK_ON(periph);
499  } else {
500  ptr->SCG_CTRL = (ptr->SCG_CTRL & ~(0x03 << periph)) | PCFG_PERIPH_KEEP_CLOCK_OFF(periph);
501  }
502 }
503 
510 {
512 }
513 
520 {
522 }
523 
530 {
532 }
533 
540 {
542 }
543 
550 static inline void pcfg_config_debug_stop_notification(PCFG_Type *ptr, uint8_t mask)
551 {
552  ptr->DEBUG_STOP = mask;
553 }
554 
562 static inline bool pcfg_irc24m_is_trimmed(PCFG_Type *ptr)
563 {
564  return ptr->RC24M & PCFG_RC24M_RC_TRIMMED_MASK;
565 }
566 
572 static inline void pcfg_irc24m_reload_trim(PCFG_Type *ptr)
573 {
575 }
576 
582 static inline void pcfg_dcdc_switch_to_dcm_mode(PCFG_Type *ptr)
583 {
584  const uint8_t pcfc_dcdc_min_duty_cycle[] = {
585  0x6E, 0x6E, 0x70, 0x70, 0x70, 0x70, 0x72, 0x72,
586  0x72, 0x72, 0x74, 0x74, 0x74, 0x74, 0x76, 0x76,
587  0x76, 0x78, 0x78, 0x78, 0x78, 0x7A, 0x7A, 0x7A,
588  0x7A, 0x7C, 0x7C, 0x7C, 0x7E, 0x7E, 0x7E, 0x7E
589  };
590  uint16_t voltage;
591 
592  ptr->DCDC_MODE |= 0x77000u;
593  ptr->DCDC_ADVMODE = (ptr->DCDC_ADVMODE & ~0x73F0067u) | 0x4120067u;
596  ptr->DCDC_MISC = 0x100000u;
597  voltage = PCFG_DCDC_MODE_VOLT_GET(ptr->DCDC_MODE);
598  voltage = (voltage - 600) / 25;
599  ptr->DCDC_ADVPARAM = (ptr->DCDC_ADVPARAM & ~PCFG_DCDC_ADVPARAM_MIN_DUT_MASK) | PCFG_DCDC_ADVPARAM_MIN_DUT_SET(pcfc_dcdc_min_duty_cycle[voltage]);
600 }
601 
609 
610 /*
611  * @brief set DCDC voltage at standby mode
612  * @param[in] ptr base address
613  * @param[in] mv target voltage
614  * @retval status_success if successfully configured
615  */
617 
618 /*
619  * @brief set output voltage of LDO 2.5V in mV
620  * @param[in] ptr base address
621  * @param[in] mv target voltage
622  * @retval status_success if successfully configured
623  */
624 hpm_stat_t pcfg_ldo2p5_set_voltage(PCFG_Type *ptr, uint16_t mv);
625 
626 /*
627  * @brief set DCDC voltage
628  * @param[in] ptr base address
629  * @param[in] mv target voltage
630  * @retval status_success if successfully configured
631  */
632 hpm_stat_t pcfg_dcdc_set_voltage(PCFG_Type *ptr, uint16_t mv);
633 
634 /*
635  * @brief set output voltage of LDO 1V in mV
636  * @param[in] ptr base address
637  * @param[in] mv target voltage
638  * @retval status_success if successfully configured
639  */
640 hpm_stat_t pcfg_ldo1p1_set_voltage(PCFG_Type *ptr, uint16_t mv);
641 
642 /*
643  * @brief get current DCDC current level in mA
644  *
645  * @param[in] ptr base address
646  * @retval Current level at mA
647  */
649 
650 
651 #ifdef __cplusplus
652 }
653 #endif
658 #endif /* HPM_PCFG_DRV_H */
#define PCFG_DCDC_RESUME_TIME_RESUME_TIME_GET(x)
Definition: hpm_pcfg_regs.h:592
#define PCFG_LDO2P5_READY_GET(x)
Definition: hpm_pcfg_regs.h:108
#define PCFG_POWER_TRAP_TRIGGERED_MASK
Definition: hpm_pcfg_regs.h:602
#define PCFG_DCDC_CURRENT_VALID_MASK
Definition: hpm_pcfg_regs.h:303
#define PCFG_POWER_TRAP_RETENTION_MASK
Definition: hpm_pcfg_regs.h:614
#define PCFG_DCDC_CURRENT_ESTI_EN_MASK
Definition: hpm_pcfg_regs.h:291
#define PCFG_DCDC_MODE_MODE_SET(x)
Definition: hpm_pcfg_regs.h:160
#define PCFG_LDO2P5_ENABLE_MASK
Definition: hpm_pcfg_regs.h:117
#define PCFG_DCDC_PROT_SHORT_CURRENT_MASK
Definition: hpm_pcfg_regs.h:269
#define PCFG_DCDC_ADVPARAM_MIN_DUT_MASK
Definition: hpm_pcfg_regs.h:437
#define PCFG_DCDC_MODE_READY_GET(x)
Definition: hpm_pcfg_regs.h:146
#define PCFG_DCDC_START_TIME_START_TIME_GET(x)
Definition: hpm_pcfg_regs.h:581
#define PCFG_DCDC_START_TIME_START_TIME_SET(x)
Definition: hpm_pcfg_regs.h:580
#define PCFG_POWER_TRAP_TRAP_MASK
Definition: hpm_pcfg_regs.h:626
#define PCFG_DCDC_PROT_OVERVOLT_FLAG_MASK
Definition: hpm_pcfg_regs.h:246
#define PCFG_DCDC_MODE_VOLT_GET(x)
Definition: hpm_pcfg_regs.h:175
#define PCFG_BANDGAP_VBG_TRIMMED_MASK
Definition: hpm_pcfg_regs.h:48
#define PCFG_DCDC_PROT_DISABLE_OVERVOLTAGE_MASK
Definition: hpm_pcfg_regs.h:234
#define PCFG_DCDC_RESUME_TIME_RESUME_TIME_SET(x)
Definition: hpm_pcfg_regs.h:591
#define PCFG_DCDC_MODE_MODE_MASK
Definition: hpm_pcfg_regs.h:158
#define PCFG_DCDC_PROT_ILIMIT_LP_MASK
Definition: hpm_pcfg_regs.h:200
#define PCFG_DCDC_PROT_OVERVOLT_FLAG_GET(x)
Definition: hpm_pcfg_regs.h:248
#define PCFG_DCDC_PROT_POWER_LOSS_FLAG_GET(x)
Definition: hpm_pcfg_regs.h:225
#define PCFG_RC24M_RC_TRIMMED_MASK
Definition: hpm_pcfg_regs.h:696
#define PCFG_DCDC_PROT_DISABLE_SHORT_MASK
Definition: hpm_pcfg_regs.h:257
#define PCFG_DCDC_PROT_ILIMIT_LP_SET(x)
Definition: hpm_pcfg_regs.h:202
#define PCFG_DCDC_ADVPARAM_MIN_DUT_SET(x)
Definition: hpm_pcfg_regs.h:439
#define PCFG_DEBUG_STOP_CPU0_MASK
Definition: hpm_pcfg_regs.h:749
#define PCFG_DCDC_PROT_DISABLE_POWER_LOSS_MASK
Definition: hpm_pcfg_regs.h:248
#define PCFG_DEBUG_STOP_CPU1_MASK
Definition: hpm_pcfg_regs.h:737
#define PCFG_BANDGAP_LOWPOWER_MODE_MASK
Definition: hpm_pcfg_regs.h:61
#define PCFG_BANDGAP_POWER_SAVE_MASK
Definition: hpm_pcfg_regs.h:73
static void pcfg_ldo2p5_turn_on(PCFG_Type *ptr)
turn on LDO 2.5V
Definition: hpm_pcfg_drv.h:180
static bool pcfg_bandgap_is_trimmed(PCFG_Type *ptr)
check if bandgap is trimmed or not
Definition: hpm_pcfg_drv.h:150
static void pcfg_enable_power_trap(PCFG_Type *ptr)
enable power trap
Definition: hpm_pcfg_drv.h:385
static void pcfg_update_periph_clock_mode(PCFG_Type *ptr, pcfg_pmc_periph_t periph, bool on)
update clock gate mode in vpmc domain
Definition: hpm_pcfg_drv.h:495
static bool pcfg_dcdc_is_measure_current_valid(PCFG_Type *ptr)
check if measured current is valid
Definition: hpm_pcfg_drv.h:319
static void pcfg_bandgap_disable_lowpower_mode(PCFG_Type *ptr)
bandgap disable power save mode
Definition: hpm_pcfg_drv.h:128
static void pcfg_clear_power_trap_trigger_flag(PCFG_Type *ptr)
clear power trap trigger flag
Definition: hpm_pcfg_drv.h:407
static void pcfg_bandgap_reload_trim(PCFG_Type *ptr)
bandgap reload trim value
Definition: hpm_pcfg_drv.h:160
static void pcfg_disable_cpu1_debug_stop_notfication(PCFG_Type *ptr)
Disable CPU1 debug stop notification to peripherals.
Definition: hpm_pcfg_drv.h:529
static uint32_t pcfg_dcdc_get_start_time_in_cycle(PCFG_Type *ptr)
get DCDC start time in number of 24MHz clock cycles
Definition: hpm_pcfg_drv.h:331
static void pcfg_dcdc_ensable_over_voltage_prot(PCFG_Type *ptr)
enable over voltage protection
Definition: hpm_pcfg_drv.h:276
static void pcfg_bandgap_enable_power_save_mode(PCFG_Type *ptr)
bandgap enable power save mode
Definition: hpm_pcfg_drv.h:118
static void pcfg_dcdc_disable_over_voltage_prot(PCFG_Type *ptr)
disable over voltage protection
Definition: hpm_pcfg_drv.h:266
static void pcfg_disable_dcdc_retention(PCFG_Type *ptr)
disable dcdc retention
Definition: hpm_pcfg_drv.h:417
static void pcfg_config_debug_stop_notification(PCFG_Type *ptr, uint8_t mask)
Configure CPU core debug stop notification to peripherals.
Definition: hpm_pcfg_drv.h:550
static bool pcfg_is_power_trap_triggered(PCFG_Type *ptr)
check if power trap is triggered
Definition: hpm_pcfg_drv.h:397
static bool pcfg_dcdc_is_stable(PCFG_Type *ptr)
Definition: hpm_pcfg_drv.h:202
static void pcfg_dcdc_enable_power_loss_prot(PCFG_Type *ptr)
enable power loss protection
Definition: hpm_pcfg_drv.h:244
static void pcfg_enable_cpu0_debug_stop_notfication(PCFG_Type *ptr)
Enable CPU0 debug stop notification to peripherals.
Definition: hpm_pcfg_drv.h:519
static void pcfg_bandgap_disable_power_save_mode(PCFG_Type *ptr)
bandgap disable power save mode
Definition: hpm_pcfg_drv.h:108
static void pcfg_set_periph_clock_mode(PCFG_Type *ptr, uint32_t mode)
set clock gate mode in vpmc domain
Definition: hpm_pcfg_drv.h:483
static void pcfg_dcdc_set_mode(PCFG_Type *ptr, uint8_t mode)
Definition: hpm_pcfg_drv.h:211
static void pcfg_disable_cpu0_debug_stop_notfication(PCFG_Type *ptr)
Disable CPU0 debug stop notficiation to peripherals.
Definition: hpm_pcfg_drv.h:509
static void pcfg_disable_wakeup_source(PCFG_Type *ptr, uint32_t mask)
disable wakeup source
Definition: hpm_pcfg_drv.h:472
static bool pcfg_dcdc_is_power_loss(PCFG_Type *ptr)
check if power loss flag is set
Definition: hpm_pcfg_drv.h:256
static void pcfg_bandgap_enable_lowpower_mode(PCFG_Type *ptr)
bandgap enable low power mode
Definition: hpm_pcfg_drv.h:138
static bool pcfg_irc24m_is_trimmed(PCFG_Type *ptr)
check if irc24m is trimmed
Definition: hpm_pcfg_drv.h:562
static void pcfg_dcdc_set_resume_time_in_cycle(PCFG_Type *ptr, uint32_t cycles)
set DCDC resuem time in 24MHz clock cycles
Definition: hpm_pcfg_drv.h:365
static bool pcfg_ldo2p5_is_stable(PCFG_Type *ptr)
check if LDO 2.5V is stable
Definition: hpm_pcfg_drv.h:192
static void pcfg_irc24m_reload_trim(PCFG_Type *ptr)
reload irc24m trim value
Definition: hpm_pcfg_drv.h:572
static void pcfg_dcdc_set_start_time_in_cycle(PCFG_Type *ptr, uint32_t cycles)
set DCDC start time in 24MHz clock cycles
Definition: hpm_pcfg_drv.h:354
static void pcfg_dcdc_enable_measure_current(PCFG_Type *ptr)
enable current measurement
Definition: hpm_pcfg_drv.h:307
static void pcfg_dcdc_disable_power_loss_prot(PCFG_Type *ptr)
disable power loss protection
Definition: hpm_pcfg_drv.h:234
static void pcfg_clear_wakeup_cause(PCFG_Type *ptr, uint32_t mask)
clear wakeup cause flag
Definition: hpm_pcfg_drv.h:438
static void pcfg_enable_wakeup_source(PCFG_Type *ptr, uint32_t mask)
enable wakeup source
Definition: hpm_pcfg_drv.h:461
static void pcfg_dcdc_disable_measure_current(PCFG_Type *ptr)
disable current measurement
Definition: hpm_pcfg_drv.h:297
static void pcfg_disable_power_trap(PCFG_Type *ptr)
disable power trap
Definition: hpm_pcfg_drv.h:375
static void pcfg_dcdc_set_lp_current_limit(PCFG_Type *ptr, pcfg_dcdc_lp_current_limit_t limit, bool over_limit)
set low power current limit
Definition: hpm_pcfg_drv.h:223
static bool pcfg_dcdc_is_over_voltage(PCFG_Type *ptr)
checkover voltage flag
Definition: hpm_pcfg_drv.h:287
static void pcfg_enable_cpu1_debug_stop_notfication(PCFG_Type *ptr)
Enable CPU1 debug stop notification to peripherals.
Definition: hpm_pcfg_drv.h:539
static uint32_t pcfg_get_wakeup_cause(PCFG_Type *ptr)
get wakeup cause
Definition: hpm_pcfg_drv.h:450
static void pcfg_enable_dcdc_retention(PCFG_Type *ptr)
enable dcdc retention to retain soc sram data
Definition: hpm_pcfg_drv.h:427
static void pcfg_ldo2p5_turn_off(PCFG_Type *ptr)
turn off LDO2P5
Definition: hpm_pcfg_drv.h:170
static uint32_t pcfg_dcdc_get_resume_time_in_cycle(PCFG_Type *ptr)
get DCDC resume time in number of 24MHz clock cycles
Definition: hpm_pcfg_drv.h:343
uint32_t hpm_stat_t
Definition: hpm_common.h:123
#define MAKE_STATUS(group, code)
Definition: hpm_common.h:132
@ status_group_pcfg
Definition: hpm_common.h:156
void pcfg_irc24m_config_track(PCFG_Type *ptr, pcfg_irc24m_config_t *config)
config irc24m track
Definition: hpm_pcfg_drv.c:74
hpm_stat_t pcfg_ldo1p1_set_voltage(PCFG_Type *ptr, uint16_t mv)
Definition: hpm_pcfg_drv.c:14
hpm_stat_t pcfg_ldo2p5_set_voltage(PCFG_Type *ptr, uint16_t mv)
Definition: hpm_pcfg_drv.c:24
pcfg_dcdc_lp_current_limit_t
Definition: hpm_pcfg_drv.h:34
uint16_t pcfg_dcdc_get_current_level(PCFG_Type *ptr)
Definition: hpm_pcfg_drv.c:47
hpm_stat_t pcfg_dcdc_set_voltage(PCFG_Type *ptr, uint16_t mv)
Definition: hpm_pcfg_drv.c:63
#define PCFG_PERIPH_KEEP_CLOCK_OFF(p)
Definition: hpm_pcfg_drv.h:26
pcfg_pmc_periph_t
Definition: hpm_pcfg_drv.h:54
pcfg_wakeup_src_t
Definition: hpm_pcfg_drv.h:63
pcfg_dcdc_mode_t
Definition: hpm_pcfg_drv.h:46
static void pcfg_dcdc_switch_to_dcm_mode(PCFG_Type *ptr)
dcdc switch to dcm mode
Definition: hpm_pcfg_drv.h:582
pcfg_dcdc_current_hys_t
Definition: hpm_pcfg_drv.h:40
#define PCFG_PERIPH_KEEP_CLOCK_ON(p)
Definition: hpm_pcfg_drv.h:25
pcfg_irc24m_reference_t
Definition: hpm_pcfg_drv.h:28
hpm_stat_t pcfg_dcdc_set_lpmode_voltage(PCFG_Type *ptr, uint16_t mv)
Definition: hpm_pcfg_drv.c:95
@ pcfg_dcdc_lp_current_limit_250ma
Definition: hpm_pcfg_drv.h:35
@ pcfg_dcdc_lp_current_limit_200ma
Definition: hpm_pcfg_drv.h:36
@ pcfg_pmc_periph_fuse
Definition: hpm_pcfg_drv.h:55
@ pcfg_pmc_periph_timer
Definition: hpm_pcfg_drv.h:57
@ pcfg_pmc_periph_ram
Definition: hpm_pcfg_drv.h:56
@ pcfg_pmc_periph_vad
Definition: hpm_pcfg_drv.h:57
@ pcfg_pmc_periph_debug
Definition: hpm_pcfg_drv.h:63
@ pcfg_pmc_periph_uart
Definition: hpm_pcfg_drv.h:59
@ pcfg_pmc_periph_ioc
Definition: hpm_pcfg_drv.h:56
@ pcfg_pmc_periph_gpio
Definition: hpm_pcfg_drv.h:55
@ pcfg_pmc_periph_wdog
Definition: hpm_pcfg_drv.h:58
@ pcfg_wakeup_src_pwdg
Definition: hpm_pcfg_drv.h:66
@ pcfg_wakeup_src_pgpio
Definition: hpm_pcfg_drv.h:67
@ pcfg_wakeup_src_otp
Definition: hpm_pcfg_drv.h:68
@ pcfg_wakeup_src_puart
Definition: hpm_pcfg_drv.h:64
@ pcfg_wakeup_src_ptimer
Definition: hpm_pcfg_drv.h:65
@ pcfg_dcdc_mode_general
Definition: hpm_pcfg_drv.h:49
@ pcfg_dcdc_mode_off
Definition: hpm_pcfg_drv.h:47
@ pcfg_dcdc_mode_basic
Definition: hpm_pcfg_drv.h:48
@ pcfg_dcdc_mode_expert
Definition: hpm_pcfg_drv.h:50
@ pcfg_dcdc_current_hys_25mv
Definition: hpm_pcfg_drv.h:42
@ pcfg_dcdc_current_hys_12_5mv
Definition: hpm_pcfg_drv.h:41
@ pcfg_irc24m_reference_24m_xtal
Definition: hpm_pcfg_drv.h:30
@ pcfg_irc24m_reference_32k
Definition: hpm_pcfg_drv.h:29
@ status_pcfg_ldo_out_of_range
Definition: hpm_pcfg_drv.h:72
Definition: hpm_pcfg_regs.h:12
__RW uint32_t LDO2P5
Definition: hpm_pcfg_regs.h:15
__RW uint32_t DCDC_ADVPARAM
Definition: hpm_pcfg_regs.h:22
__RW uint32_t DCDC_ADVMODE
Definition: hpm_pcfg_regs.h:21
__RW uint32_t POWER_TRAP
Definition: hpm_pcfg_regs.h:28
__RW uint32_t DCDC_CURRENT
Definition: hpm_pcfg_regs.h:20
__RW uint32_t WAKE_MASK
Definition: hpm_pcfg_regs.h:30
__RW uint32_t BANDGAP
Definition: hpm_pcfg_regs.h:13
__RW uint32_t SCG_CTRL
Definition: hpm_pcfg_regs.h:31
__RW uint32_t DCDC_START_TIME
Definition: hpm_pcfg_regs.h:25
__RW uint32_t DCDC_PROT
Definition: hpm_pcfg_regs.h:19
__RW uint32_t DCDC_MODE
Definition: hpm_pcfg_regs.h:17
__RW uint32_t DCDC_MISC
Definition: hpm_pcfg_regs.h:23
__RW uint32_t DEBUG_STOP
Definition: hpm_pcfg_regs.h:32
__RW uint32_t DCDC_RESUME_TIME
Definition: hpm_pcfg_regs.h:26
__RW uint32_t WAKE_CAUSE
Definition: hpm_pcfg_regs.h:29
__RW uint32_t RC24M
Definition: hpm_pcfg_regs.h:33
Definition: hpm_pcfg_drv.h:76