TI中文支持网
TI专业的中文技术问题搜集分享网站

am3352 spi flash读的id全为f

root@SBC8600:/media/mmcblk0p1# insmod spi-omap2-mcspi.kom25p80 spi1.0: unrecognized JEDEC id ffffff

搞了一阵子,终于搞明白am335x的spi怎么用了

目前spi的两个口都接出来了,spi0接到一片spi flash

型号为

mx66l51235f

但是读出来的id是全为f

我已经在m25p80.c中加入对应的flash信息

{ "mx66l51235f", INFO(0xc2201a, 0, 64 * 1024, 512, 0) },

不知道是怎么回事

static struct spi_board_info am335x_spi0_slave_info[] = {
{
.modalias = "m25p80",
.platform_data = &am335x_spi_flash,
.irq = -1,
///.max_speed_hz = 24000000,
.max_speed_hz = 48000000,
.bus_num = 1,
.chip_select = 0,
},
};

频率用24000000和48000000都试过,都是一样的

求指导

q1833630366

Jian Zhou:

用的是哪个版本的Linux SDK?

user4932081:

回复 Jian Zhou:

linux-3.2.0-psp04.06.00.08.sdk

这个版本的内核

u-boot-2011.09-psp04.06.00.03

这个版本的uboot

Jian Zhou:

回复 user4932081:

我们的U-boot是支持SPI Flash擦写的,建议你先在U-boot下把SPI的pinmux以及clock检查一遍,看看信号输出是否正常。

user4932081:

回复 Jian Zhou:

uboot有个命令专门调试spi的,叫做sf,功能好强大,可以在uboot命令行中就可以调试,对着示波器看波形就好了。pinmux的配置是不是在mux.c文件中?典型的qspi flash的配置是怎么样的呢?

Jian Zhou:

回复 user4932081:

是在mux.c中进行pinmux的配置的,现在进展到哪一步了?

user4932081:

回复 Jian Zhou:

在mux.c中加上

{spi0_pin_mux, PROFILE_ALL, DEV_ON_DGHTR_BRD}, {spi1_pin_mux, PROFILE_ALL, DEV_ON_DGHTR_BRD},

然后

uboot中

sf probe 0

可以看到spi  flash的clk有信号,但是只有一个拉低的波形,而且cs也是只有一个2.5us的低电平

同时可以看到

SF: Got idcodes00000000: ff ff ff ff ff …..

不知道还要改哪里?

user4932081:

回复 Jian Zhou:

好像知道原因了,应该是mosi  miso方向没配置对。这个方向应该怎么配置呢

Jian Zhou:

回复 user4932081:

要修改SPI的配置寄存器,你看下TRM的说明。

user4932081:

回复 Jian Zhou:

配置 MCSPI_SYST寄存器的

SPIDATDIR1和SPIDATDIR0

然而还是没有什么用

yongqing wang:

回复 user4932081:

用的是那家的spi flash?

编译的时候配置是用SPI booting的配置编译的吗?

赞(0)
未经允许不得转载:TI中文支持网 » am3352 spi flash读的id全为f
分享到: 更多 (0)