无法识别的jedec id

时间:2017-09-25 15:30:09

标签: c linux linux-kernel linux-device-driver spi

在linux 2.6.25上我有输出:

physmap platform flash device: 00800000 at ff800000
physmap-flash.0: Found 1 x16 devices at 0x0 in 8-bit bank
 Amd/Fujitsu Extended Query Table at 0x0040
physmap-flash.0: CFI does not contain boot bank location. Assuming top.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
RedBoot partition parsing not available
Using physmap partition information
Creating 6 MTD partitions on "physmap-flash.0":
0x00000000-0x00040000 : "U-Boot image"
0x00040000-0x00050000 : "U-Boot params"
0x00050000-0x00250000 : "Linux kernel"
0x00250000-0x00750000 : "RFS"
0x00750000-0x007f0000 : "JFFS"
0x007f0000-0x00800000 : "unused"
m25p80 spi1.0: s70fl256p (16384 Kbytes)
Creating 2 MTD partitions on "tpts1691.spi.flash":
0x00000000-0x00400000 : "spi_flash_part0"
0x00400000-0x01000000 : "spi_flash_part1"
DSPI: Coldfire master initialized

我尝试将spi flash驱动程序移植到新内核4.12.5。 我在spi-nor / spi-nor.c中添加spi_nor_ids我的jedecid

{ "s70fl256p",  INFO(0x012018,      0, 256 * 1024,  64, 0) },

但我有错误:

spi_coldfire spi_coldfire:master已取消排队,不推荐使用 m25p80 spi1.0:无法识别的JEDEC id字节:00,00,00

输出中的

physmap platform flash device: 00800000 at ff800000
physmap-flash.0: Found 1 x16 devices at 0x0 in 8-bit bank. Manufacturer ID 0x000001 Chip ID 0x000201
Amd/Fujitsu Extended Query Table at 0x0040
  Amd/Fujitsu Extended Query version 1.3.
physmap-flash.0: CFI contains unrecognised boot bank location (1). Assuming bottom.
number of CFI chips: 1
Creating 6 MTD partitions on "physmap-flash.0":
0x000000000000-0x000000040000 : "U-Boot image"
0x000000040000-0x000000050000 : "U-Boot params"
0x000000050000-0x000000250000 : "Linux kernel"
0x000000250000-0x000000750000 : "RFS"
0x000000750000-0x0000007f0000 : "JFFS"
0x0000007f0000-0x000000800000 : "unused"
uclinux[mtd]: probe address=0x3549d0 size=0x10804000
Creating 1 MTD partitions on "ram":
0x000000000000-0x000010804000 : "ROMfs"
spi_coldfire spi_coldfire: master is unqueued, this is deprecated
m25p80 spi1.0: unrecognized JEDEC id bytes: 00, 00, 00
DSPI: Coldfire master initialized

也许某人已经解决了这个错误? 谢谢。

1 个答案:

答案 0 :(得分:2)

第一条消息spi_coldfire: master is unqueued, this is deprecated不是错误。 这只是一个警告,注册SPI控制器有自己的消息传输回调master->transfer。它已被弃用但仍在kernel 4.12.5中受支持。 看看drivers/spi/spi.c:1993

第二条消息:我怀疑,你的闪存根本没有JEDEC ID(读取0,0,0),但你的flash_info有。因此,为了避免调用spi_nor_read_id(),请让info->id_len0id_len计算为.id_len = (!(_jedec_id) ? 0 : (3 + ((_ext_id) ? 2 : 0))),因此可能的解决方案就是让jedec_id成为0。 像:

{ "s70fl256p",  INFO(0,      0, 256 * 1024,  64, 0) },
相关问题