7.27. 电源管理(PMU)
7.27.1. 概述
PMU(电源管理控制单元 Power Management Unit),顾名思义,用于管理芯片各个电源。本文主要介绍芯片电源架构和各个电源的开关/档位配置等说明。
7.27.1.1. 主电源简要框图
VBAT
┌─────────────────┼─────────────────┐
│ │ │
IOVDDM(VDDIOM) IOVDDW(VDDIOW) VDC14(DCDC)
│ │ │
└────────┬────────┘ │
│ │
IOVDD(VDDIO) │
│ │
┌──────┬──────┼──────┬──────┐ │
LDO LDO SW SW | |
│ │ │ │ │ │
AVDD18 AVDD28 FSPG SDPG VDC14(LDO) │
│ │
└─────┬──────┘
DCVDD
│
LDO
│
DVDD
注:
1、上图所示电源都可由内部产生,也可由外部灌电进去供电提高稳定性。
2、SW —— 开关
7.27.1.2. 主电源说明
PMU
├── DVDD ── 内核电源(又名SYSVDD)
├── DCVDD ── 外设电源(又名VDC14),给蓝牙、Wi‑Fi、PLL等供电
├── IOVDD ── IO电源(又名VDDIO)
│ ├── IOVDDM ── 主IO电源(又名VDDIOM,系统工作时使用)
│ └── IOVDDW ── 弱IO电源(又名VDDIOW,低功耗soff/pdown时使用)
├── AVDD18 ── 1.8V电源
├── AVDD28 ── 2.8V电源
├── FSPG ── Flash power gate
└── SDPG ── SD power gate
7.27.1.3. 其他电源说明
电源 |
描述 |
内/外供电 |
|---|---|---|
WFVDD14 |
WIFI/蓝牙模块的电源 |
需外供 |
WFVDD33 |
WIFI/蓝牙模块的电源 |
需外供 |
RTCVDD |
RTC模块电源 |
需外供 |
AVD12 |
MIPI模块电源 |
内部电源,需外挂电容 |
IOVDD2 |
PE10~PE15电源域 |
需外供 |
IOVDD3 |
PA00~PA11电源域 |
需外供 |
USBAVDD |
USB模块电源 |
需外供 |
USBAVDD一般直接短接到IOVDD,封装片可能会在封装时直接内部打线短接到IOVDD。
相关头文件
文件路径 |
说明 |
|---|---|
include_lib/drive r/cpu/wl83/asm/power/power_api.h |
PMU
电源接口、 |
include_lib/driver/ cpu/wl83/asm/power/p33/p33_api.h |
P33 寄存器接口、各电源域电压枚举定义 |
include_lib/driver/cpu/wl83 /asm/power/p33/vdd/avdd_config.h |
AVDD18/AVDD28 使能/关闭 API |
7.27.2. 电源配置
电源管理配置结构体:
typedef struct {
//*****************************************************
/* power */
u8 vddiom_lev; //vddiom,系统工作时使用(使用enum VDDIOM_VOL配置)
u8 vddiow_lev; //vddiow,系统低功耗时使用(使用enum VDDIOW_VOL配置)
u8 vdc14_lev; //vdc14档位配置,对应DCVDD电压
u8 sysvdd_lev; //sysvdd档位配置,对应DVDD电压
u8 avdd18_lev; //avdd18电压档位 0-1.8V、1-1.5V、2-1.6V、3-1.7V、4-1.8V、
// 5-1.9V、6-2.0V、7-2.1V、8-2.2V
u8 avdd28_lev; //avdd28电压档位 0-2.8V、1-2.5V、2-2.6V、3-2.7V、4-2.8V、
// 5-2.9V、6-3.0V、7-3.1V、8-3.2V
u8 avdd18_enable; //avdd18使能开关
u8 avdd28_enable; //avdd28使能开关
u8 soff_keep_last_cfg; //软关机时维持最后设置的(DVDD、DCVDD)电压档位配置
/* pdown */
u8 ana_keep0_config; //pdown keep config
u8 pdown_keep_osc; //pdown keep osc
u8 pdown_keep_fspg; //pdown keep FSPG
u8 pdown_dcv_mode; //pdown(keep osc时)使用的DCVDD电源类型
/* soff */
u8 config; //低功耗使能,蓝牙&&系统空闲可进入低功耗(使用LOWPOWER_CONFIG配置)
u8 osc_type; //低功耗晶振类型(使用enum LOWPOWER_OSC_TYPE配置)
u8 lptmr_flow; //低功耗参数由用户配置
u32 btosc_hz; //蓝牙晶振频率(默认使用24M)
u32 osc_delay_us; //低功耗晶振起振延时,为预留配置。
u32 pdown_sdr_dly_us; //pdown流程,sdram退出self refresh低功耗后的延时
u32 t1;
u32 t2;
u32 t3;
u32 t4;
} power_param_t;
board_develop.c 典型配置
static const power_param_t power_param = {
.config = TCFG_LOWPOWER_FUNCTION, // 低功耗使能
.btosc_hz = 24000000, // 蓝牙晶振 24MHz
.vddiom_lev = TCFG_LOWPOWER_VDDIOM_LEVEL, // MIOVDD 电压
.vddiow_lev = TCFG_LOWPOWER_VDDIOW_LEVEL, // WIOVDD 电压
.vdc14_lev = TCFG_LOWPOWER_VDC14_LEVEL, // DCVDD 电压
.osc_type = TCFG_LOWPOWER_OSC_TYPE, // 低功耗晶振类型
.osc_delay_us = 8000, // 晶振起振延时 8ms
.pdown_keep_osc = 1, // pdown 保持晶振
#if TCFG_POWER_AVDD18_ENABLE
.avdd18_enable = 1, // AVDD18 使能
#endif
#if TCFG_POWER_AVDD28_ENABLE
.avdd28_enable = 1, // AVDD28 使能
#endif
};
board_develop_*.h 典型宏配置
#define TCFG_LOWPOWER_VDDIOM_LEVEL VDDIOM_VOL_330V // 强VDDIO电压档位(不要高于外部DCDC电压)
#define TCFG_LOWPOWER_VDDIOW_LEVEL VDDIOW_VOL_200V // 弱VDDIO电压档位
#define TCFG_LOWPOWER_VDC14_LEVEL DCVDD_VOL_155V // DCVDD电压档位
#define TCFG_POWER_AVDD18_ENABLE 0 // AVDD18 使能
#define TCFG_POWER_AVDD28_ENABLE 0 // AVDD28 使能
#define TCFG_LOWPOWER_FUNCTION LOWPOWER_CLOSE // 低功耗使能
#define TCFG_LOWPOWER_OSC_TYPE OSC_TYPE_LRC // 低功耗晶振类型
7.27.3. DVDD
DVDD 为芯片内核电源。
注意: 为增强系统稳定性,我们要求DVDD电源短接DCVDD,由DCVDD 1.4V直接供电。因此该电源档位,一般不建议开发者修改配置。
电压档位范围:0.93V ~ 1.38V,步进 0.03V,共 16 档。
枚举值 |
电压 |
|---|---|
DVDD_VOL_093V |
0.93V |
DVDD_VOL_096V |
0.96V |
DVDD_VOL_099V |
0.99V |
DVDD_VOL_102V |
1.02V |
DVDD_VOL_105V |
1.05V |
DVDD_VOL_108V |
1.08V |
DVDD_VOL_111V |
1.11V |
DVDD_VOL_114V |
1.14V |
DVDD_VOL_117V |
1.17V |
DVDD_VOL_120V |
1.20V |
DVDD_VOL_123V |
1.23V |
DVDD_VOL_126V |
1.26V |
DVDD_VOL_129V |
1.29V |
DVDD_VOL_132V |
1.32V |
DVDD_VOL_135V |
1.35V |
DVDD_VOL_138V |
1.38V |
power_param_t 配置字段
字段 |
类型 |
说明 |
|---|---|---|
|
u8 |
DVDD 电压挡位(使用 |
默认不需要配置.sysvdd_lev,应用层将直接使用uboot阶段的配置。如果应用层配置了.sysvdd_lev,那么程序将在应用层power_init()时修改DVDD档位。
UBOOT阶段电源配置
在uboot阶段的DVDD档位配置,可通过如下配置项配置。无特殊情况,请使用公版默认配置。
DVDD_LEV=0; [uboot阶段DVDD电压档位: 0-默认1.29V,
1-0.93V, 2-0.96V, 3-0.99V, 4-1.02V, 5-1.05V, 6-1.08V, 7-1.11V, 8-1.14V,
9-1.17V,10-1.20V,11-1.23V, 12-1.26V,13-1.29V,14-1.32V,15-1.35V,16-1.38V]
7.27.4. DCVDD
DCVDD 通过内部 LDO 为DVDD供电,并且为蓝牙、WIFI、PLL等供电。有LDO和DCDC两个模式可配。
注意: 为增强系统稳定性,我们要求DVDD电源短接DCVDD,由DCVDD 1.4V直接供电。因此该电源档位,一般不建议开发者修改配置。
板级配置宏
#define TCFG_POWER_MODE PWR_DCDC15
#define TCFG_LOWPOWER_VDC14_LEVEL DCVDD_VOL_155V
电压档位范围:1.25V ~ 1.60V,步进 0.05V,共 8 档
枚举值 |
电压 |
|---|---|
DCVDD_VOL_125V |
1.25V |
DCVDD_VOL_130V |
1.30V |
DCVDD_VOL_135V |
1.35V |
DCVDD_VOL_140V |
1.40V |
DCVDD_VOL_145V |
1.45V |
DCVDD_VOL_150V |
1.50V |
DCVDD_VOL_155V |
1.55V |
DCVDD_VOL_160V |
1.60V |
power_param_t 配置字段
字段 |
类型 |
说明 |
|---|---|---|
|
u8 |
DCVDD 电压挡位(使用 |
工作模式配置
通过power_set_mode()配置工作模式,参数使用 power_mode_t
枚举配置(仅支持PWR_LDO15和PWR_DCDC15两种模式)。
由于LDO模式带载能力较差,并且发热严重,因此一般只在芯片上电初期才工作在LDO模式,如果DCVDD不是外部电源供电,那么应用层应配置其工作在DCDC模式。
模式电路差异:
模式 |
SW脚 |
|---|---|
LDO模式 |
悬空 |
DCDC模式 |
需外挂电感+滤波电容 |
配置位置参考:
// board_develop_xxxx.h
#define TCFG_POWER_MODE PWR_DCDC15
// board_develop.c
void power_early_flowing(void)
{
// ...
power_set_mode(TCFG_POWER_MODE);
// ...
}
UBOOT阶段电源配置
在uboot阶段的DCVDD电源配置,可通过如下配置项配置。无特殊情况,请使用公版默认配置。
DCVDD_LEV=0;[uboot阶段DCVDD电压档位: 0-默认1.4V,1-1.25V,2-1.30V,3-1.35V,4-1.40V,5-1.45V,6-1.50V,7-1.55V,8-1.60V]
VDC14_MODE=0;[uboot阶段VDC14工作模式: 0-DCDC模式,1-LDO模式]
7.27.5. IOVDD
IOVDD 为芯片 IO
电源域。另有IOVDD2和IOVDD3分别为PE10~PE15和PA00~PA11的电源域。从电源框图可以看出,IOVDD内部有强和弱两个LDO,分别为IOVDDM和IOVDDW。
注意:为保证芯片稳定,我们要求芯片IOVDDM档位设置至少3.0V档以上。
IOVDDM和IOVDDW说明
电源 |
生效阶段 |
|---|---|
IOVDDM |
芯片开机运行时由强LDO输出 |
IOVDDW |
低功耗状态(soff或者pdown)由弱LDO输出 |
IOVDD2和IOVDD3说明
比如IOVDD2和IOVDD3供电电压2.8V,该电源域对应的IO高电平电压也就为2.8V。如果无特殊IO电压需求,IOVDD2和IOVDD3一般直接PCB走线短接到IOVDD。部分封装片不会出现这两个口,会在封装时直接内部打线短接到IOVDD。
板级配置宏
#define TCFG_LOWPOWER_VDDIOM_LEVEL VDDIOM_VOL_330V // 强VDDIO电压档位
#define TCFG_LOWPOWER_VDDIOW_LEVEL VDDIOW_VOL_200V // 弱VDDIO电压档位
IOVDDM电压档位范围:2.4V ~ 3.4V,共 8 档。
枚举值 |
电压 |
|---|---|
VDDIOM_VOL_240V |
2.4V |
VDDIOM_VOL_280V |
2.8V |
VDDIOM_VOL_290V |
2.9V |
VDDIOM_VOL_300V |
3.0V |
VDDIOM_VOL_310V |
3.1V |
VDDIOM_VOL_320V |
3.2V |
VDDIOM_VOL_330V |
3.3V |
VDDIOM_VOL_340V |
3.4V |
IOVDDW电压档压范围:2.0V ~ 3.2V,共 4 档
枚举值 |
电压 |
|---|---|
VDDIOW_VOL_200V |
2.0V |
VDDIOW_VOL_240V |
2.4V |
VDDIOW_VOL_280V |
2.8V |
VDDIOW_VOL_320V |
3.2V |
power_param_t 配置字段
字段 |
类型 |
说明 |
|---|---|---|
|
u8 |
系统工作时 IO 电压挡位(使用
|
|
u8 |
系统低功耗时 IO 电压挡位(使用
|
7.27.6. AVDD18
AVDD18
为内部可输出1.5V~2.2V的LDO电源,可供摄像头供电使用。如果不开启该电源模块,可将其输出口作为一个特殊IO使用,对应IO_PORT_PV_01,详见GPIO章节。
板级配置宏
#define TCFG_POWER_AVDD18_ENABLE 0 // 0=关闭,1=使能
电压范围:1.5V ~ 2.2V,共 8档
枚举值 |
电压 |
|---|---|
AVDD18_VOL_DEFAULT |
1.8V |
AVDD18_VOL_150V |
1.5V |
AVDD18_VOL_160V |
1.6V |
AVDD18_VOL_170V |
1.7V |
AVDD18_VOL_180V |
1.8V |
AVDD18_VOL_190V |
1.9V |
AVDD18_VOL_200V |
2.0V |
AVDD18_VOL_210V |
2.1V |
AVDD18_VOL_220V |
2.2V |
power_param_t 配置字段
字段 |
类型 |
说明 |
|---|---|---|
|
u8 |
AVDD18 电压档位 |
|
u8 |
AVDD18 使能(1=使能,0=关闭) |
API 接口
如果开发者需要手动操作,可调用如下接口:
/**
* @brief AVDD18使能(分两步操作)
* @param level 电压档位 0-1.8V、1-1.5V、2-1.6V、3-1.7V、4-1.8V、
* 5-1.9V、6-2.0V、7-2.1V、8-2.2V
* @param step 1:第一步 2:第二步(第一步后需延时100us)
*/
void avdd18_enable(u8 level, u8 step);
/** @brief 关闭AVDD18 */
void avdd18_disable(void);
avdd18_enable(4, 1);
delay_us(100);
avdd18_enable(4, 2);
7.27.7. AVDD28
AVDD28
为内部可输出2.5V~3.2V的LDO电源,可供摄像头供电使用。如果不开启该电源模块,可将其输出口作为一个特殊IO使用,对应IO_PORT_PV_00,详见GPIO章节。
板级配置宏
#define TCFG_POWER_AVDD28_ENABLE 0 // 0=关闭,1=使能
电压范围:2.5V ~ 3.2V,共 8 档
枚举值 |
电压 |
|---|---|
AVDD28_VOL_DEFAULT |
2.8V |
AVDD28_VOL_250V |
2.5V |
AVDD28_VOL_260V |
2.6V |
AVDD28_VOL_270V |
2.7V |
AVDD28_VOL_280V |
2.8V |
AVDD28_VOL_290V |
2.9V |
AVDD28_VOL_300V |
3.0V |
AVDD28_VOL_310V |
3.1V |
AVDD28_VOL_320V |
3.2V |
power_param_t 配置字段
字段 |
类型 |
说明 |
|---|---|---|
|
u8 |
AVDD28 电压档位 |
|
u8 |
AVDD28 使能(1=使能,0=关闭) |
API 函数
如果开发者需要手动操作,可调用如下接口:
/**
* @brief AVDD28使能(分两步操作)
* @param level 电压档位 0-2.8V、1-2.5V、2-2.6V、3-2.7V、4-2.8V、
* 5-2.9V、6-3.0V、7-3.1V、8-3.2V
* @param step 1:第一步 2:第二步(第一步后需延时150us)
*/
void avdd28_enable(u8 level, u8 step);
/** @brief 关闭AVDD28 */
void avdd28_disable(void);
avdd28_enable(4, 1);
delay_us(150);
avdd28_enable(4, 2);
7.27.8. FSPG
FSPG
是主控专门给flash供电的电源口(本质上是IOVDD通过一个控制开关后的输出口)。FSPG源头为IOVDD,因此电压由IOVDD决定。
注意:
FSPG开机阶段必打开,在应用层阶段可以通过命令控制关闭。因此如果配置了关闭FSPG,在开机阶段仍然可以看到FSPG有段时间输出高电平。部分封装片的
PC13和FSPG合绑到一个引脚,这时该引脚受FSPG影响,开机阶段会输出高电平,因此PC13在分配IO时有局限性。
控制命令
PCONTROL_FLASH_PG_VDDIO — 0: app阶段保持FSPG输出,1:
app阶段关闭FSPG输出。未使用命令配置,则默认为0。
该命令调用位置参考如下:
static void board_power_init(void)
{
// ...
power_control(PCONTROL_FLASH_PG_VDDIO , 1); // 该命令必须在power_init()前调用。
power_init(&power_pdata);
// ...
}
power_param_t 配置字段
字段 |
类型 |
说明 |
|---|---|---|
|
u8 |
|
7.27.9. SDPG
SDPG
是主控专门给SD卡供电的电源口。SDPG源头为IOVDD,因此电压由IOVDD决定。SDPG
为IO口PD08的原生功能,因此每个有PD08的封装都支持。
API 函数
SDPG可通过底层接口sd_set_power()控制输出状态。一般sd_set_power()直接传递指针.power
供底层调用即可。
// 下面不同宏代表不同的输出状态/带载能力
#define SDPG_IO_HI_Z 0 // 高阻态
#define SDPG_IO_OUTPUT_1 1 // 输出高
#define SDPG_IO_OUTPUT_HD_HD0 2 // 输出高 + IO强驱
#define SDPG_IO_OUTPUT_HD_HD0_SOFT_SDPGPOWER 3 // 输出高 + IO强驱 + SDPG慢加强带载
#define SDPG_IO_OUTPUT_HD_HD0_HW_SDPGPOWER 4 // 输出高 + IO强驱 + SDPG最强带载
#define SDPG_IO_OUTPUT_0 0xf // 输出低
void sd_set_power(u8 enable); // SD电源组控制开关,enable参数使用上面的宏。
板级配置宏
#define TCFG_SD0_POWER_ENABLE 0 // SD0 电源使能,0=关闭,1=使能
#define TCFG_SD1_POWER_ENABLE 0 // SD1 电源使能,0=关闭,1=使能
当 TCFG_SD0_POWER_ENABLE /TCFG_SD1_POWER_ENABLE为 1
时,板级配置中 .power = sd_set_power
被注册。如果开发者不使用SDPG给SD卡供电,有自己的控制电路,但需要使用底层驱动的控制逻辑(比如低功耗逻辑),可自行实现控制接口后,传递给.power。
// .power定义
void (*power)(u8 on);
7.27.10. API参考
Enums
-
enum lowpower_config_t
Values:
-
enumerator LOWPOWER_CLOSE
-
enumerator SLEEP_EN
-
enumerator DEEP_SLEEP_EN
-
enumerator LOWPOWER_CLOSE
-
enum lowpower_osc_type
Values:
-
enumerator OSC_TYPE_LRC
-
enumerator OSC_TYPE_BT_OSC
-
enumerator OSC_TYPE_NULL
-
enumerator OSC_TYPE_LRC
-
enum vddio_keep_t
Values:
-
enumerator VDDIO_KEEP_TYPE_NULL
-
enumerator VDDIO_KEEP_TYPE_NORMAL
-
enumerator VDDIO_KEEP_TYPE_TRIM
-
enumerator VDDIO_KEEP_TYPE_PG
-
enumerator VDDIO_KEEP_TYPE_NULL
-
enum power_control_cmd_t
Values:
-
enumerator PCONTROL_POWER_DRIVER_RESERVE
-
enumerator PCONTROL_P_PUTBYTE
-
enumerator PCONTROL_POWER_MODE
-
enumerator PCONTROL_DCVDD_CAP_SW
-
enumerator PCONTROL_FLASH_PG_VDDIO
-
enumerator PCONTROL_RTC_CLK
-
enumerator PCONTROL_PD_VDDIO_KEEP
-
enumerator PCONTROL_PD_WDVDD_LEV
-
enumerator PCONTROL_PD_DVDD_LEV
-
enumerator PCONTROL_PD_KEEP_LPCTMU
-
enumerator PCONTROL_SF_KEEP_LRC
-
enumerator PCONTROL_SF_VDDIO_KEEP
-
enumerator PCONTROL_SF_KEEP_NVDD
-
enumerator PCONTROL_SF_KEEP_PVDD
-
enumerator PCONTROL_SF_KEEP_VCM_DET
-
enumerator PCONTROL_PHW_RESERVE
-
enumerator PCONTROL_P33_RESERVE
-
enumerator PCONTROL_P11_RESERVE
-
enumerator PCONTROL_LP_FLOW_IC_RESERVE
-
enumerator PCONTROL_POWER_DRIVER_RESERVE
Functions
-
void power_early_init(u32 arg)
-
void power_later_init(u32 arg)
-
void power_init(const power_pdata_t *pdata)
-
u32 power_control(power_control_cmd_t cmd, u32 arg)
-
void low_power_sys_request(void *priv)
-
s32 low_power_trace_drift(u32 usec)
-
void low_power_reset_osc_type(u8 type)
-
u8 low_power_get_default_osc_type(void)
-
u8 low_power_get_osc_type(void)
-
void power_set_soft_poweroff(u32 ms)
-
void mask_softflag_config(struct boot_soft_flag_t *softflag)
-
struct power_param_t
-
struct power_pdata_t
Public Members
-
const power_param_t *power_param
-
const power_param_t *power_param
Enums
-
enum dvdd_vol_t
Values:
-
enumerator DVDD_VOL_093V
-
enumerator DVDD_VOL_096V
-
enumerator DVDD_VOL_099V
-
enumerator DVDD_VOL_102V
-
enumerator DVDD_VOL_105V
-
enumerator DVDD_VOL_108V
-
enumerator DVDD_VOL_111V
-
enumerator DVDD_VOL_114V
-
enumerator DVDD_VOL_117V
-
enumerator DVDD_VOL_120V
-
enumerator DVDD_VOL_123V
-
enumerator DVDD_VOL_126V
-
enumerator DVDD_VOL_129V
-
enumerator DVDD_VOL_132V
-
enumerator DVDD_VOL_135V
-
enumerator DVDD_VOL_138V
-
enumerator DVDD_VOL_093V
-
enum dcvdd_vol_t
Values:
-
enumerator DCVDD_VOL_125V
-
enumerator DCVDD_VOL_130V
-
enumerator DCVDD_VOL_135V
-
enumerator DCVDD_VOL_140V
-
enumerator DCVDD_VOL_145V
-
enumerator DCVDD_VOL_150V
-
enumerator DCVDD_VOL_155V
-
enumerator DCVDD_VOL_160V
-
enumerator DCVDD_VOL_125V
-
enum vddiom_vol_t
Values:
-
enumerator VDDIOM_VOL_240V
-
enumerator VDDIOM_VOL_280V
-
enumerator VDDIOM_VOL_290V
-
enumerator VDDIOM_VOL_300V
-
enumerator VDDIOM_VOL_310V
-
enumerator VDDIOM_VOL_320V
-
enumerator VDDIOM_VOL_330V
-
enumerator VDDIOM_VOL_340V
-
enumerator VDDIOM_VOL_240V
-
enum vddiow_vol_t
Values:
-
enumerator VDDIOW_VOL_200V
-
enumerator VDDIOW_VOL_240V
-
enumerator VDDIOW_VOL_280V
-
enumerator VDDIOW_VOL_320V
-
enumerator VDDIOW_VOL_200V
-
enum wvdd_vol_t
Values:
-
enumerator WVDD_VOL_060V
-
enumerator WVDD_VOL_065V
-
enumerator WVDD_VOL_070V
-
enumerator WVDD_VOL_075V
-
enumerator WVDD_VOL_080V
-
enumerator WVDD_VOL_085V
-
enumerator WVDD_VOL_090V
-
enumerator WVDD_VOL_138V
-
enumerator WVDD_VOL_060V
-
enum avdd18_vol_t
Values:
-
enumerator AVDD18_VOL_DEFAULT
-
enumerator AVDD18_VOL_150V
-
enumerator AVDD18_VOL_160V
-
enumerator AVDD18_VOL_170V
-
enumerator AVDD18_VOL_180V
-
enumerator AVDD18_VOL_190V
-
enumerator AVDD18_VOL_200V
-
enumerator AVDD18_VOL_210V
-
enumerator AVDD18_VOL_220V
-
enumerator AVDD18_VOL_DEFAULT
-
enum avdd28_vol_t
Values:
-
enumerator AVDD28_VOL_DEFAULT
-
enumerator AVDD28_VOL_250V
-
enumerator AVDD28_VOL_260V
-
enumerator AVDD28_VOL_270V
-
enumerator AVDD28_VOL_280V
-
enumerator AVDD28_VOL_290V
-
enumerator AVDD28_VOL_300V
-
enumerator AVDD28_VOL_310V
-
enumerator AVDD28_VOL_320V
-
enumerator AVDD28_VOL_DEFAULT
-
enum lvd_mode_t
Values:
-
enumerator LVD_RESET_MODE
-
enumerator LVD_EXCEPTION_MODE
-
enumerator LVD_WAKEUP_MODE
-
enumerator LVD_RESET_MODE
-
enum lvd_vol_t
Values:
-
enumerator VLVD_SEL_190V
-
enumerator VLVD_SEL_200V
-
enumerator VLVD_SEL_210V
-
enumerator VLVD_SEL_220V
-
enumerator VLVD_SEL_230V
-
enumerator VLVD_SEL_240V
-
enumerator VLVD_SEL_250V
-
enumerator VLVD_SEL_260V
-
enumerator VLVD_SEL_190V
Functions
-
void lvd_en(u8 en)
-
void lvd_config(lvd_vol_t vol, u8 expin_en, lvd_mode_t mode, void (*callback))
-
void gpio_longpress_pin0_reset_config(u32 pin, u32 level, u32 time, u32 release, u32 pull_enable)
-
void power_set_dcdc_type(power_dcdc_t type)
-
void power_set_mode(power_mode_t mode)
-
void adc_pmu_detect_en(u32 ch)
Functions
-
int avdd_port_pv_dir(int port, u8 dir)
设置PV口的方向
- Parameters
gpio – 参考宏IO_PORT_PV_0X
dir – 1: 输入 0: 输出
- Returns
0: 成功 非0: 失败
-
int avdd_port_pv_read(int port)
获取PV口输入电平
- Parameters
gpio – 参考宏IO_PORT_PV_0X
- Returns
0: 低电平 1: 高电平
-
int avdd_port_pv_out(int port, u8 on)
设置PV口的输出电平
- Parameters
gpio – 参考宏IO_PORT_PV_0X
on – 1: 高电平 0: 低电平
- Returns
0: 成功 非0: 失败
-
int avdd_port_pv_hd(int port, u8 on)
设置PV口的强驱
- Parameters
gpio – 参考宏IO_PORT_PV_0X
on – 1: 打开 0: 关闭
- Returns
0: 成功 非0: 失败
-
int avdd_port_pv_pu(int port, u8 on)
设置PV口的上拉电阻
- Parameters
gpio – 参考宏IO_PORT_PV_0X
on – 1: 打开 0: 关闭
- Returns
0: 成功 非0: 失败
-
int avdd_port_pv_pd(int port, u8 on)
设置PV口的下拉电阻
- Parameters
gpio – 参考宏IO_PORT_PV_0X
on – 1: 打开 0: 关闭
- Returns
0: 成功 非0: 失败
-
int avdd_port_pv_die(int port, u8 on)
设置PV口的数字输入功能
- Parameters
gpio – 参考宏IO_PORT_PV_0X
on – 1: 打开 0: 关闭
- Returns
0: 成功 非0: 失败