全志buildroot开发 板级电源适配

全志buildroot开发 板级电源适配
适配电源

[power_sply],可以理解为上电阶段给PMIC的“供电菜单”

  • sys_config.fexBoot0/SPL会读取[power_sply],在DDR初始化之前 就把PMIC(如AXP85x/AXP8xx)各路DCDC/LDO拉到指定的电压/开关状态。
  • 这一步如果不对,DDR永远起不来(连U-Boot/Kernel都见不到)。
1.3.1、参数键名含义
  • dcdc{1..6}_vol:降压DC-DC输出(大电流:3.3V1.8VCPU核等)。
  • aldo{1..5}_vol / bldo{1..5}_vol / cldo{1..4}_vol:线性LDO(小电流:1.8V1.1V、背光/HDMI/逻辑IO)。
  • cpusldo_vol:给CPU/PLL等的小LDO
  • dc1sw_vol:有的PMICDCDC1通过开关外引,此项控制它的输出电压。
  • rtcldo_volRTC供电LDO

实际可用多少路、路名对号,以PMIC型号的数据手册与原理图网名为准。

1.3.2、值的写法

形如:10018000001100

  • 后四位:电压(mV
    • 1800→ 1.800V
    • 1100→ 1.100V
    • 0600→ 0.600V
  • 前三位前缀:启用/模式标志(不同BSP/PMIC驱动含义略有差异,但经验规律是)
    • 100xxxx:开机强制启用/受控电源(常用于DCDC核心轨)
    • 000xxxx:只设定电压,开关由系统/依赖关系决定(常用于LDO辅助轨)

所以10018000001800电压一样,差别在“是否标记为开机必开的电源”。一般DCDC100LDO000,保持厂商模板风格即可。

1.3.3、实际配置
  1. 列出要喂的关键负载(最重要三条):
    • LPDDR4VDD1=1.8VVDD2=1.1VVDDQ=1.1V(若走LPDDR4X才是0.6V
    • eMMCVCC=3.3VVCCQ=1.8V(才可HS200/HS400),否则3.3V只跑High-Speed
    • 显示/HDMI/网口:常见1.8V/3.3V逻辑、电源
  2. 在原理图找到上游电源(哪一路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
  3. 把不相关的电源保持出厂值(不要“顺手乱改”)。

如果 要开HS200/HS400,必须有VCCQ=1.8V的独立电源,并在DTS里把该regulator绑到vqmmc-supply

若板上 没有1.8VVCCQ,就 不要在DTS里开启hs200/hs400,只保留cap-mmc-highspeed

eMMC存储协议中的模式:HS200HS400eMMC(嵌入式多媒体卡)存储协议中的数据传输模式。HS200使用单倍速率采样方式,时钟频率最高为200MHz,单倍传输模式下,数据传输速度为200MB/s,支持 4 线和 8 线数据位宽,单路电压值为1.8V1.2VHS400采用双倍速率采样方式,时钟频率最高达200MHz,在双倍速率模式下,数据传输速率可达到400MB/s,仅支持 8 线数据宽度,信号电平为1.8V1.2V