在移植了04.03.00.05版本的sdk后我的am3354板卡无法识别到emmc了,追踪内核发现是ret = omap_hsmmc_reg_get(host);函数中
ret = PTR_ERR(mmc->supply.vmmc);
if ((ret != -ENODEV) && host->dev->of_node)
return ret;
这个位置直接返回了,不知道这个vmmc的作用,就在设备树中屏蔽了这个vmmc-supply,之后驱动prob函数流程也走完了
mmc_add_host()的执行结果也是成功的,但是系统启动后/dev/目录下没有mmc相关的东西,请问该如何操作?
Jian Zhou:
你之前是什么版本?会不会是dts文件配置的问题?
user4956856:
回复 Jian Zhou:
之前是3.2的内核,没使用设备树,现在使用了设备树,其他外设都正常,就是mmc没有
yongqing wang:
回复 user4956856:
你设备树种是如何配置MMC的
user4956856:
回复 yongqing wang:
我是这样配置的,mmc1_pins里面的偏移地址和初始状态都是对的
&mmc {status = "okay";compatible = "ti,omap2-hsmmc";vmmc-supply = <&vmmc_reg>;bus-width = <4>;pinctrl-names = "default";pinctrl-0 = <&mmc1_pins>;
}
Shine:
回复 user4956856:
请问设备树中Pinmux添加了吗?
Jian Zhou:
回复 Shine:
建议你参考下beaglebone black的dts配置文件,那个板子可以正常的使能emmc芯片。
user4956856:
回复 user4956856:
已解决,谢谢
Lee Jiejia:
回复 user4956856:
你好。我现在也遇到了和你一样的问题。你能说一下,如何使能vmmc的吗?
user4956856:
回复 Lee Jiejia:
查看下设备树包含的那个设备树中有没有打开enable