打印
[i.MX]

IMX6Q linux-3.0.35 TFcard不能正常工作

[复制链接]
1594|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
WangMr|  楼主 | 2015-8-17 17:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
板子是参考官方的四核板子,自己画的。公板使用的是EMMC,我们这里使用的是TF卡,挂接在了SD3接口上,使用了DATA0-3四个数据线和CLK,CMD线。调整了驱动,在Board-mx6q_sabresd.c如下:
static const struct esdhc_platform_data mx6q_sabresd_sd3_data __initconst = {
    .always_present = 1,
    .keep_power_at_suspend = 1,
    .support_8bit = 0,
    .delay_line = 0,
    .cd_type = ESDHC_CD_PERMANENT,
};
此处是参考官方资料进行修改的。但是,编译烧写内核后,系统不能识别TF卡,在dev目录下没有对应设备节点/dev/mmcblock1同时,每隔10s中会打印输出:
mmc1: Timeout waiting for hardware interrupt.
通过查看debug信息:dump信息如下:
mmc1: Timeout waiting for hardware interrupt.
sdhci: =========== REGISTER DUMP (mmc1)===========
sdhci: Sys addr: 0x00000000 | Version:  0x00000102
sdhci: Blk size: 0x00000000 | Blk cnt:  0x00000001
sdhci: Argument: 0x000001aa | Trn mode: 0x00000000
sdhci: Present:  0xfffd8009 | Host ctl: 0x00000001
sdhci: Power:    0x0000000d | Blk gap:  0x00000000
sdhci: Wake-up:  0x00000000 | Clock:    0x000010ff
sdhci: Timeout:  0x00000000 | Int stat: 0x00000000
sdhci: Int enab: 0x007f00c3 | Sig enab: 0x007f00c3
sdhci: AC12 err: 0x00000000 | Slot int: 0x00000103
sdhci: Caps:     0x07eb0000 | Caps_1:   0x00000007
sdhci: Cmd:      0x0000081a | Max curr: 0x00ffffff
sdhci: Host ctl2: 0x00000000
sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000
sdhci: ===========================================

在源码中定位到了为何输出这段代码,但是不知道如何处理。感觉官方代码肯定是支持TF卡的,但是不知道为什么就是不行。
同时,通过示波器测试输出CLK管脚,没有时钟输出。已经卡了一个礼拜了,求指导。非常感谢。

相关帖子

沙发
shencai555| | 2015-8-17 17:22 | 只看该作者
1、确定硬件连接无误
2、是否有插卡检测引脚?

我的TF配置:
static const struct esdhc_platform_data mx6q_sabresd_sd2_data __initconst = {
        .cd_gpio = SABRESD_SD2_CD,
        .keep_power_at_suspend = 1,
        .always_present =0,
        .support_8bit = 1,
        .delay_line = 0,
        .cd_type = ESDHC_CD_GPIO,//ESDHC_CD_PERMANENT,
        .runtime_pm = 1,
};

使用特权

评论回复
板凳
WangMr|  楼主 | 2015-8-17 17:26 | 只看该作者
shencai555 发表于 2015-8-17 17:22
1、确定硬件连接无误
2、是否有插卡检测引脚?

我这个没有插卡检测引脚。我马上测试一下你给的这个配置。

使用特权

评论回复
地板
WangMr|  楼主 | 2015-8-17 17:41 | 只看该作者
shencai555 发表于 2015-8-17 17:22
1、确定硬件连接无误
2、是否有插卡检测引脚?

测试了,还是不行,我的没有CD线,所以,我的always_presend = 1,同时去掉了 cd_gpio

使用特权

评论回复
5
shencai555| | 2015-8-18 15:41 | 只看该作者
我的开始也差不多和你一样,换了带CD的就好了

使用特权

评论回复
6
643757107| | 2015-8-18 18:37 | 只看该作者
应该就是需要换CD线,大家都这么认为。

使用特权

评论回复
7
稳稳の幸福| | 2015-8-18 20:04 | 只看该作者
TF卡是不是都是用SPI读取?我在51上用SPI接口做。

使用特权

评论回复
8
mini1986| | 2015-8-19 09:37 | 只看该作者
稳稳の幸福 发表于 2015-8-18 20:04
TF卡是不是都是用SPI读取?我在51上用SPI接口做。

TF卡,跟spi有啥关系?......

使用特权

评论回复
9
mini1986| | 2015-8-19 09:41 | 只看该作者
如果,板子上面没有CD,直接把CD的配置那行代码删掉就行......内核是官方的么......在就是看看硬件上有没有问题了......

使用特权

评论回复
10
稳稳の幸福| | 2015-8-19 11:18 | 只看该作者
TF卡用的什么协议读写啊。

使用特权

评论回复
11
WangMr|  楼主 | 2015-8-20 15:34 | 只看该作者
mini1986 发表于 2015-8-19 09:41
如果,板子上面没有CD,直接把CD的配置那行代码删掉就行......内核是官方的么......在就是看看硬件上有没有 ...

硬件上是没有CD的,内核是官方的。谢谢,我去弄弄。

使用特权

评论回复
12
韬铸88| | 2016-7-2 16:30 | 只看该作者
楼主问题解决了吗?可以分享一下解决办法么?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

17

帖子

0

粉丝