1
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
28
29
31
32
33
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
82
83
84
85
93
94
95
96
97
98
99
/* ... */
#ifndef _HARDWARE_VREG_H
#define _HARDWARE_VREG_H
#include "pico.h"
#if PICO_RP2040
#include "hardware/structs/vreg_and_chip_reset.h"
#else
#include "hardware/structs/powman.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* ... */
/* ... */
enum vreg_voltage {
#if !PICO_RP2040
VREG_VOLTAGE_0_55 = 0b00000,
VREG_VOLTAGE_0_60 = 0b00001,
VREG_VOLTAGE_0_65 = 0b00010,
VREG_VOLTAGE_0_70 = 0b00011,
VREG_VOLTAGE_0_75 = 0b00100,
VREG_VOLTAGE_0_80 = 0b00101,/* ... */
#endif
VREG_VOLTAGE_0_85 = 0b00110,
VREG_VOLTAGE_0_90 = 0b00111,
VREG_VOLTAGE_0_95 = 0b01000,
VREG_VOLTAGE_1_00 = 0b01001,
VREG_VOLTAGE_1_05 = 0b01010,
VREG_VOLTAGE_1_10 = 0b01011,
VREG_VOLTAGE_1_15 = 0b01100,
VREG_VOLTAGE_1_20 = 0b01101,
VREG_VOLTAGE_1_25 = 0b01110,
VREG_VOLTAGE_1_30 = 0b01111,
#if !PICO_RP2040
VREG_VOLTAGE_1_35 = 0b10000,
VREG_VOLTAGE_1_40 = 0b10001,
VREG_VOLTAGE_1_50 = 0b10010,
VREG_VOLTAGE_1_60 = 0b10011,
VREG_VOLTAGE_1_65 = 0b10100,
VREG_VOLTAGE_1_70 = 0b10101,
VREG_VOLTAGE_1_80 = 0b10110,
VREG_VOLTAGE_1_90 = 0b10111,
VREG_VOLTAGE_2_00 = 0b11000,
VREG_VOLTAGE_2_35 = 0b11001,
VREG_VOLTAGE_2_50 = 0b11010,
VREG_VOLTAGE_2_65 = 0b11011,
VREG_VOLTAGE_2_80 = 0b11100,
VREG_VOLTAGE_3_00 = 0b11101,
VREG_VOLTAGE_3_15 = 0b11110,
VREG_VOLTAGE_3_30 = 0b11111,/* ... */
#endif
VREG_VOLTAGE_MIN = VREG_VOLTAGE_0_85,
VREG_VOLTAGE_DEFAULT = VREG_VOLTAGE_1_10,
VREG_VOLTAGE_MAX = VREG_VOLTAGE_1_30,
...};
/* ... */
void vreg_set_voltage(enum vreg_voltage voltage);
/* ... */
void vreg_disable_voltage_limit(void);
#ifdef __cplusplus
}extern "C" { ... }
#endif
/* ... */
#endif