参考
https://whycan.cn/t_3138.html
uboot修改:
1.
/u-boot/include/configs/suniv.h
#define CONFIG_BOOTCOMMAND "sf probe 0 50000000; " \
"sf read 0x80C00000 0x100000 0x4000; " \
"sf read 0x80008000 0x110000 0x400000; " \
"bootz 0x80008000 - 0x80C00000"
2.
因为使用的flash为xt25f128b
所以修改
u-boot/drivers/mtd/spi/spi_flash_ids.c
{"w25q128fw", INFO(0xef6018, 0x0, 64 * 1024, 256, RD_FULL | WR_QPP | SECT_4K) },
{"xt25f128b", INFO(0x0b4018, 0x0, 64 * 1024, 256, RD_FULL | WR_QPP | SECT_4K) },
3.
/home/ydh/lichi/linux/arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts
修改flash名称
compatible = "winbond,xt25f128b", "jedec,spi-nor";
linux修改
1.
/linux/drivers/mtd/devies/m25p80.c
搜jedec 在最后增加xt25定义
{"w25q80bl"}, {"w25q128"}, {"w25q256"}, {"xt25f128b"}
2.
/linux/drivers/mtd/spi-nor
flash_info spi_nor_ids[]中
/*
{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },
*/
{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, 0) },
{ "xt25f128b", INFO(0x0b4018, 0, 64 * 1024, 256, 0) },