全志buildroot开发 板级电源适配
适配电源
[power_sply],可以理解为上电阶段给PMIC的“供电菜单”
sys_config.fex里Boot0/SPL会读取[power_sply],在DDR初始化之前 就把PMIC(如AXP85x/AXP8xx)各路DCDC/LDO拉到指定的电压/开关状态。- 这一步如果不对,
DDR永远起不来(连U-Boot/Kernel都见不到)。
1.3.1、参数键名含义
dcdc{1..6}_vol:降压DC-DC输出(大电流:3.3V、1.8V、CPU核等)。aldo{1..5}_vol / bldo{1..5}_vol / cldo{1..4}_vol:线性LDO(小电流:1.8V、1.1V、背光/HDMI/逻辑IO)。cpusldo_vol:给CPU/PLL等的小LDO。dc1sw_vol:有的PMIC把DCDC1通过开关外引,此项控制它的输出电压。rtcldo_vol:RTC供电LDO。
实际可用多少路、路名对号,以
PMIC型号的数据手册与原理图网名为准。
1.3.2、值的写法
形如:1001800、0001100
- 后四位:电压(
mV)1800→ 1.800V1100→ 1.100V0600→ 0.600V
- 前三位前缀:启用/模式标志(不同
BSP/PMIC驱动含义略有差异,但经验规律是)100xxxx:开机强制启用/受控电源(常用于DCDC核心轨)000xxxx:只设定电压,开关由系统/依赖关系决定(常用于LDO辅助轨)
所以
1001800与0001800电压一样,差别在“是否标记为开机必开的电源”。一般DCDC用100,LDO用000,保持厂商模板风格即可。
1.3.3、实际配置
- 列出要喂的关键负载(最重要三条):
LPDDR4:VDD1=1.8V、VDD2=1.1V、VDDQ=1.1V(若走LPDDR4X才是0.6V)eMMC:VCC=3.3V;VCCQ=1.8V(才可HS200/HS400),否则3.3V只跑High-Speed- 显示/
HDMI/网口:常见1.8V/3.3V逻辑、电源
- 在原理图找到上游电源(哪一路
DCDC/LDO喂它)并记下电压网名:- 例:
DCDC5 → VDD18-DRAM(就把dcdc5_vol = 1001800) - 例:
BLDO4 → VDD2(LPDDR)(就把bldo4_vol = 0001100) - 例:
BLDO5 → VDDQ(LPDDR)(就把bldo5_vol = 0001100;若确定LPDDR4X才用0000600) - 例:
DCDC1 → VCC-IO/3V3(就dcdc1_vol = 1003300,通常保持原厂默认) - 例:
CLDO4 → VCC-LVDS/1V8(就cldo4_vol = 0001800)
- 例:
- 把不相关的电源保持出厂值(不要“顺手乱改”)。
如果 要开
HS200/HS400,必须有VCCQ=1.8V的独立电源,并在DTS里把该regulator绑到vqmmc-supply。若板上 没有
1.8V的VCCQ,就 不要在DTS里开启hs200/hs400,只保留cap-mmc-highspeed。
eMMC存储协议中的模式:HS200和HS400是eMMC(嵌入式多媒体卡)存储协议中的数据传输模式。HS200使用单倍速率采样方式,时钟频率最高为200MHz,单倍传输模式下,数据传输速度为200MB/s,支持 4 线和 8 线数据位宽,单路电压值为1.8V和1.2V。HS400采用双倍速率采样方式,时钟频率最高达200MHz,在双倍速率模式下,数据传输速率可达到400MB/s,仅支持 8 线数据宽度,信号电平为1.8V和1.2V。
