[RK3288][Android6.0] 调试笔记 --- 开机提示mmc rescan错误
2017-12-08 09:50
405 查看
Platform: RK3288
OS: Android 6.0
Kernel: 3.10.92
遇到一块板子无法开机报mmc rescan相关的错误(这种情况基本上是硬件问题):
由于SD和eMMC共用驱动,一开始验证把SD拔掉后还是报错,以为是eMMC问题,后来从log
rk3288.dts:
disable掉这块功能后就能正常开机了。
最终确认是硬件问题。
OS: Android 6.0
Kernel: 3.10.92
遇到一块板子无法开机报mmc rescan相关的错误(这种情况基本上是硬件问题):
[ 5.323725] Workqueue: kmmcd mmc_rescan [ 5.323745] [<c0013fc4>] (unwind_backtrace+0x0/0xe0) from [<c0011864>] (show_stack+0x10/0x14) [ 5.323758] [<c0011864>] (show_stack+0x10/0x14) from [<c0694ce0>] (dw_mci_set_ios+0xa4/0x264) [ 5.323770] [<c0694ce0>] (dw_mci_set_ios+0xa4/0x264) from [<c0681d90>] (mmc_set_chip_select+0x18/0x1c) [ 5.323782] [<c0681d90>] (mmc_set_chip_select+0x18/0x1c) from [<c0686188>] (mmc_go_idle+0x94/0xc4) [ 5.323792] [<c0686188>] (mmc_go_idle+0x94/0xc4) from [<c06823e4>] (mmc_rescan_try_freq+0x54/0xd0) [ 5.323802] [<c06823e4>] (mmc_rescan_try_freq+0x54/0xd0) from [<c0682cac>] (mmc_rescan+0x204/0x298) [ 5.323815] [<c0682cac>] (mmc_rescan+0x204/0x298) from [<c005b3cc>] (process_one_work+0x29c/0x458) [ 5.323826] [<c005b3cc>] (process_one_work+0x29c/0x458) from [<c005b71c>] (worker_thread+0x194/0x2d4) [ 5.323837] [<c005b71c>] (worker_thread+0x194/0x2d4) from [<c0060cf8>] (kthread+0xa0/0xac) [ 5.323850] [<c0060cf8>] (kthread+0xa0/0xac) from [<c000dba0>] (ret_from_fork+0x14/0x34) [ 5.323859] dwmmc_rockchip ff0c0000.rksdmmc: dw_mci_set_ios: wait for unbusy timeout.. STATUS = 0x206 [mmc1]
由于SD和eMMC共用驱动,一开始验证把SD拔掉后还是报错,以为是eMMC问题,后来从log
ff0c0000.rksdmmc这个地址确实是SD问题。
rk3288.dts:
sdmmc: rksdmmc@ff0c0000 { compatible = "rockchip,rk_mmc", "rockchip,rk32xx-sdmmc"; reg = <0xff0c0000 0x4000>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; pinctrl-names = "default", "idle"; pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>; pinctrl-1 = <&sdmmc0_gpio>; cd-gpios = <&gpio6 GPIO_C6 GPIO_ACTIVE_HIGH>;/*CD GPIO*/ clocks = <&clk_sdmmc>, <&clk_gates8 3>; clock-names = "clk_mmc", "hclk_mmc"; num-slots = <1>; fifo-depth = <0x100>; bus-width = <4>; tune_regsbase = <0x200>; resets = <&reset RK3288_SOFT_RST_MMC0>; reset-names = "mmc_ahb_reset"; };
disable掉这块功能后就能正常开机了。
最终确认是硬件问题。
相关文章推荐
- [RK3288][Android6.0] 调试笔记 --- 系统第一次开机进入Recovery模式原因
- [RK3288][Android6.0] 调试笔记 --- 开机后台抓取kernel log
- [RK3288][Android6.0] 调试笔记 --- 移除uboot和kernel开机logo【转】
- [RK3288][Android6.0] 调试笔记 --- 开机默认选择24小时制时间格式
- [RK3288][Android6.0] 调试笔记 --- 开机动画时间的确定
- [RK3288][Android6.0] 调试笔记 --- 开机语言默认为简体中文
- [RK3288][Android6.0] 调试笔记 --- 开机动画画面偏移
- [RK3288][Android6.0] 调试笔记 --- 开机Uart log丢失不完整
- [RK3288][Android6.0] 调试笔记 --- user版本固件升级无法开机问题
- [RK3288][Android6.0] 移植笔记 --- RK818配置不正确导致无法开机调试
- [RK3288][Android6.0] 调试笔记 --- 打开相机提示无权限
- [RK3288][Android6.0] 调试笔记 --- 开机视频无法播放
- [RK3288][Android6.0] 调试笔记 --- 开机动画支持播放mp4视频功能
- [RK3288][Android6.0] 调试笔记 --- 移除uboot和kernel开机logo
- [RK3288][Android6.0] 调试笔记 --- 系统第一次开机进入Recovery模式原因【转】
- [RK3288][Android6.0] 调试笔记 --- 开机设置默认出厂时间方法
- [RK3288][Android6.0] 调试笔记 --- 修改录音采样率提示报错问题
- [RK3288][Android6.0] 调试笔记 --- Volume up键改成Back键
- [RK3288][Android6.0] 调试笔记 --- 无法安装需系统权限的apk问题
- [RK3288][Android6.0] 调试笔记 --- RT5640播放时的Codec寄存器列表