大家好,
我使用的软件版是DM8127_IPNC_3.50.00,在我们的硬件上有s25fl256s的SPI flash。该spi flash在u-boot已经调试通过。
在linux下我的操作是:
1,硬件使用的是SPI0,CS使用的是SPI0_CS0。U-boot正常,硬件应该没有问题。
2,在board-ti8148ipnc.c配置了
const struct flash_platform_data ti8148_spi_flash = {
.type = "s25fl256s",//.type = "s25fl256s",S25FL256S-00
.name = "spi_flash",
.parts = ti8148_spi_partitions,
.nr_parts = ARRAY_SIZE(ti8148_spi_partitions),
};
struct spi_board_info __initdata ti8148_spi_slave_info[] = {
{
.modalias = "m25p80",
.platform_data = &ti8148_spi_flash,
.irq = -1,
.max_speed_hz = 75000000,
.bus_num = 1,
.chip_select = 0,
.mode =SPI_MODE_3,
},
};
,配置好后,在m25p80.c中已经探测到设备(执行m25p_probe),但是在jedec_probe()中调用tmp = spi_write_then_read(spi, &code, 1, id, 5);读取flash的ID时,读起来的全部是FF。请问是什么原因?