I have a device with a SPI NOR flash and I want to place there u-boot, kernel and rootfs.
To do so I’ve added partitions in th devicetree:
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pc_pins>;
status = "okay";
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "winbond,w25q128", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <40000000>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x80000>;
};
partition@80000 {
label = "boot";
reg = <0x80000 0x680000>;
};
partition@680000 {
label = "rootfs";
reg = <0x680000 0x1000000>;
};
};
};
Then I’ve extended the u-boot config. It might have unnecessary options, but during the development I’m trying different options to achive my goal
CONFIG_ARM=y
CONFIG_ARCH_SUNXI=y
CONFIG_DEFAULT_DEVICE_TREE="suniv-f1c100s-licheepi-nano"
CONFIG_SPL=y
CONFIG_MACH_SUNIV=y
CONFIG_DRAM_CLK=156
CONFIG_DRAM_ZQ=0
# CONFIG_VIDEO_SUNXI is not set
CONFIG_SPL_SPI_SUNXI=y
CONFIG_MTD=y
CONFIG_SPI_FLASH_WINBOND=y
CONFIG_SPI_FLASH_XTX=y
CONFIG_SPI=y
CONFIG_SUN4I_SPI=y
CONFIG_CMD_SF=y
CONFIG_CMD_SSPI=y
CONFIG_DM_SPI=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_WINBOND=y
CONFIG_MTD=y
CONFIG_CMD_MTD=y
CONFIG_CMD_MTDPARTS=y
CONFIG_CMD_SPI=y
CONFIG_SPI_FLASH_SFDP_SUPPORT=y
CONFIG_SPI_FLASH_SUPPORT=y
CONFIG_ENV_IS_IN_FAT=y
CONFIG_ENV_FAT_INTERFACE="mtd"
CONFIG_ENV_FAT_DEVICE_AND_PART=":auto"
CONFIG_ENV_FAT_FILE="boot.scr"
CONFIG_SPI_FLASH_MTD=y
CONFIG_MTD_PARTITIONS=y
CONFIG_DM_MTD=y
CONFIG_BOOTDEV_SPI_FLASH=y
CONFIG_MTD=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
CONFIG_DOS_PARTITION=y
u-boot starts but can’t boot anything, because it doesn’t see any partitions of the spi device
=> mtd list
SF: Detected xt25f128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
List of MTD devices:
* nor0
- device: flash@0
- parent: spi@1c05000
- driver: jedec_spi_nor
- path: /soc/spi@1c05000/flash@0
- type: NOR flash
- block size: 0x1000 bytes
- min I/O: 0x1 bytes
- 0x000000000000-0x000001000000 : "nor0"
Do you have any idea what have I missed?
New contributor
bartiszosti is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.