[Android6.0][RK3399] 开机前几秒串口打印异常问题
来源:互联网 发布:淘宝性价比高包包店铺 编辑:程序博客网 时间:2024/05/18 00:07
Platform: RK3399
OS: Android 6.0
Kernel: Linux4.4
Version: v2017.03
- 问题现象
- 调试步骤
- 抓取串口波形
- 检查上电
- 获取 kernel 起来后实际配置的 pmu io 电压
- 获取开机阶段实际配置的 pmu io 电压
- 检查 PMUIO2 power domain 部分驱动强度是否正确
问题现象
开机 0-3 s 串口打印异常,log 大致如下:
CPLWC�+lH�ؐL)�������ꁳ�ݵ��}�ɽ��������������r���͑�����j郵���rŽ��Ց����͕͕͑͑́ с���ɕ��́�Â��j���r�ʺ���¢��oꁵ������j�������������:�UŠ���r��:¥�jR� [ 1.973752] resource: 0x000c00000 -- 0x001c00000 (16 MB)[ 1.973761] kernel: 0x001c00000 -- 0x002c00000 (16 MB)[ 1.973769] boot: 0x002c00000 -- 0x004c00000 (32 MB)[ 1.973777] recovery: 0x004c00000 -- 0x006c00000 (32 MB)
调试步骤
抓取串口波形
在 0-3s 串口波形异常。
检查上电
APIO4 = 3.0V
PMUIO2 = 3.0V
参考 rk 文档
kernel/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
设置方法如下:
Possible supplies for rk3399:- bt656-supply: The supply connected to APIO2_VDD.- audio-supply: The supply connected to APIO5_VDD.- sdmmc-supply: The supply connected to SDMMC0_VDD.- gpio1830 The supply connected to APIO4_VDD.Possible supplies for rk3399 pmu-domains:- pmu1830-supply:The supply connected to PMUIO2_VDD.
检查 dts 中的设置为
&io_domains { status = "okay"; bt656-supply = <&vcc_3v0>; /* bt656_gpio2ab_ms */ audio-supply = <&vcca1v8_codec>; /* audio_gpio3d4a_ms */ sdmmc-supply = <&vcc_sd>; /* sdmmc_gpio4b_ms */ gpio1830-supply = <&vcc_3v0>; /* gpio1833_gpio4cd_ms */};&pmu_io_domains { status = "okay"; pmu1830-supply = <&vcc_3v0>;};
正确无误。
获取 kernel 起来后实际配置的 pmu io 电压
root@rk3399_mid:/ # io -4 -r 0xFF320180ff320180: 00000100
所以实际起作用是 3v,没问题。
获取开机阶段实际配置的 pmu io 电压
获取 uboot 阶段中寄存器的配置可以这样做,在如下地方添加打印
void __iomem *base_addr;unsigned long p_addr = 0x????????;unsigned long size = 0x??;base_addr = ioremap(p_addr , size );printk("lml#####: gpio0_A0's direction = 0x%x", readl(base_addr));iounmap(base_addr);
但是我们串口有问题啊!
添加了打印也看不到任何信息。
没辙!
检查 PMUIO2 power domain 部分驱动强度是否正确
既然为 3.0V 需要上拉电阻来进行驱动强度选择。
所以这个 R90029 应该贴了才行。
但是实际没贴。
贴上后串口打印正常。问题解决。
阅读全文
1 0
- [Android6.0][RK3399] 开机前几秒串口打印异常问题
- [Android6.0][RK3399] 串口无法输入输出 串口打印乱码
- [Android6.0][RK3399] 电池系统(四)不插电池无法开机的问题
- [Android6.0][RK3399] TypeC 基础知识
- [Android6.0][RK3399][BUG] 插上 HDMI 时开机解锁锁屏后死机
- [Android6.0][RK3399] IR(红外线)移植步骤
- [Android6.0][RK3399] PWM Backlight 驱动分析
- yocto 串口打印异常问题排查
- [RK3399][Android7.1] 调试笔记 --- 串口打印输出乱码
- [Android6.0][RK3399] USB接口Touchscreen驱动流程分析
- [Android6.0][RK3399] 隐藏导航栏或状态栏
- [Android6.0][RK3399] 去掉滑动锁屏(swipe lock)
- [Android6.0][RK3399] 修改默认按键 KEY-PAD 的功能
- [Android6.0][RK3399] 出厂预置可卸载 APK
- [Android6.0][RK3399] PCIe 转 SATA 调试步骤
- [Android6.0][RK3399] 关闭双击 Power 打开 Camera 功能
- [Android6.0][RK3399] Mipi LCD 通用移植调试流程
- [Android6.0][RK3399] 实现耳机和喇叭自动切换功能
- immutable日常操作之深入API
- 使用XPath选择DOM元素
- 脚本语言
- (集合框架)collections工具类的常用方法
- 【知了堂学习笔记】CSS3令人眼前一亮的网页文字效果
- [Android6.0][RK3399] 开机前几秒串口打印异常问题
- 阿里的数仓
- Android强制下线功能
- 2017知乎看山杯总结(多标签文本分类)
- JdbcTemplate学习杂记
- IDEA快捷键
- NGUI HUD text 代码示例
- 实用类(和电脑玩猜拳游戏)
- linux目录结构