AM335X 识别SD卡错误:MMC: no card present

移植OpenWrt的uboot的时候,发现明明配置好了mmc的管脚(board/ti/am335x/mux.c),能读取到MLO,通过MLO也能读取到u-boot.img。但是进入到uboot的命令模式下却发现怎么都找不到mmc,如下所示:

U-Boot SPL 2017.01 (Apr 08 2018 - 07:27:14)
Trying to boot from MMC2Card did not respond to voltage select!
** Bad device mmc 0 **
Using default environment


reading u-boot.img
reading u-boot.img
reading u-boot.img
reading u-boot.img




U-Boot 2017.01 (Apr 08 2018 - 07:27:14 +0000)


CPU  : AM335X-GP rev 2.1
Model: TI AM335x EVM
DRAM:  256 MiB
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
MMC: no card present
** Bad device mmc 0 **
Using default environment


<ethaddr> not set. Validating first E-fuse MAC
Net:   Could not get PHY for ethernet@4a100000: addr 0
eth0: ethernet@4a100000
Hit any key to stop autoboot:  0 
=> 
=> mmc info
MMC: no card present 
=> 
=> mmc dev 0
MMC: no card present
=> mmc dev 1
MMC: no card present
=> 
=> 
 

原来是没有u-boot-2017.01已经用上了设备树,所以需要配置设备树。在网上发现u-boot-2016.05也有这个问题,所以要重也要在设备树下配置管脚。

arch/arm/dts/am335x-evm.dts:

      mmc2_pins_default: pinmux_mmc2_pins {
                pinctrl-single,pins = <
                        0x000 (PIN_INPUT_PULLUP | MUX_MODE1)    /* gpmc_ad0.mmc1_dat0 */
                        0x004 (PIN_INPUT_PULLUP | MUX_MODE1)    /* gpmc_ad1.mmc1_dat1 */
                        0x008 (PIN_INPUT_PULLUP | MUX_MODE1)    /* gpmc_ad2.mmc1_dat2 */
                        0x00c (PIN_INPUT_PULLUP | MUX_MODE1)    /* gpmc_ad3.mmc1_dat3 */
                        0x010 (PIN_INPUT_PULLUP | MUX_MODE1)    /* gpmc_ad4.mmc1_dat4 */
                        0x014 (PIN_INPUT_PULLUP | MUX_MODE1)    /* gpmc_ad5.mmc1_dat5 */
                        0x018 (PIN_INPUT_PULLUP | MUX_MODE1)    /* gpmc_ad6.mmc1_dat6 */
                        0x01c (PIN_INPUT_PULLUP | MUX_MODE1)    /* gpmc_ad7.mmc1_dat7 */
                >;      
        };              
                        
        mmc2_pins_sleep: pinmux_mmc2_pins_sleep { 
                pinctrl-single,pins = <
                        0x000 (PIN_INPUT_PULLDOWN | MUX_MODE1)    /* gpmc_ad0.mmc1_dat0 */
                        0x004 (PIN_INPUT_PULLDOWN | MUX_MODE1)    /* gpmc_ad1.mmc1_dat1 */
                        0x008 (PIN_INPUT_PULLDOWN | MUX_MODE1)    /* gpmc_ad2.mmc1_dat2 */
                        0x00c (PIN_INPUT_PULLDOWN | MUX_MODE1)    /* gpmc_ad3.mmc1_dat3 */
                        0x010 (PIN_INPUT_PULLDOWN | MUX_MODE1)    /* gpmc_ad4.mmc1_dat4 */
                        0x014 (PIN_INPUT_PULLDOWN | MUX_MODE1)    /* gpmc_ad5.mmc1_dat5 */
                        0x018 (PIN_INPUT_PULLDOWN | MUX_MODE1)    /* gpmc_ad6.mmc1_dat6 */
                        0x01c (PIN_INPUT_PULLDOWN | MUX_MODE1)    /* gpmc_ad7.mmc1_dat7 */
                >; 
        };      

......
&mmc2 {
        status = "okay";
        vmmc-supply = <&vmmcsd_fixed>;
        bus-width = <8>;
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&mmc2_pins_default>;
        pinctrl-1 = <&mmc2_pins_sleep>;
        ti,non-removable;
};

问题解决。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酣楼驻海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值