Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83
朋友按照参考设计和firefly的板子做的硬件,无法开机。
一开始只能进入maskrom,能下载,但是串口完全没有log。测量电压如下:
-
PMUIO2_VDDPST(pin N23)=1.5V, PMUIO2_VDD( pin P23)=3.0V
-
PMUIO4_VDDPST(pin AC8)=1.5V, PMUIO4_VDD( pin AC9)=3.0V
-
APIO2_VDDPST(pin J24)=1.5V, APIO2_VDD( pin K23)=3.0V
但是开机后上面的三个 XXX_VDDPST变成了2.45V。(LDO只供给CPU)
引起VCC_1V5被抬升到2.45V的原因有如下可能:
1.因为PMUIO2供电3.0V,所以RK3399的V30脚外部要有10K的上拉电阻,上拉到VCC1V8_PMUPLL,而不是下拉R96。
2.确保VCC_1V5的下拉电阻R220有贴上,并且阻值是10K。
3.APIO2和PMUIO2的供电为3.0V,要确保代码里对APIO2和PMUIO2的电源域配置也是3.0V。
按照第一条做了改动,板子能跑进kernel了,但是卡死在kernel log 1.8s左右。
接着发现CPU_B_SLEEP和公版的接法不太一致。公版接在M27,而firefly改到N31了。
因此需要改动下CPU_B_SL