Good afternoon, I'm working on a variant of IMX6UL. I'd like to create SPL Uboot and put all of them on QSPI. The board has only QSPI NOR and NAND flashes so it's complicated for me since no SD card. I've searched and read from the internet but there's no any particular guide to show how to do that. However, I managed to configure the SPL build but I'm stuck for a long time at *SPI probe failed* issue from SPL_SPI.
I've got the issue shown as follows: U-Boot SPL 2019.07-00008-g68b10d7fb7-dirty (Feb 12 2020 - 15:32:55 +0100) Trying to boot from SPI uclass_find_device_by_seq: 0 0 - not found uclass_find_device_by_seq: 1 0 - not found Invalid bus 0 (err=-19) SPI probe failed. SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### I tested all suggestions but no luck at all. I put some configurations from the .dts file. ( I tried both dm-pre-reloc and dm-spl) &{/aliases} { u-boot,dm-pre-reloc; }; &aips1 { u-boot,dm-pre-reloc; }; &aips2 { u-boot,dm-pre-reloc; }; &iomuxc { u-boot,dm-pre-reloc; }; &pinctrl_qspi{ u-boot,dm-pre-reloc; }; &pinctrl_ecspi1{ u-boot,dm-pre-reloc; }; &pinctrl_ecspi2{ u-boot,dm-pre-reloc; }; &{/soc} { u-boot,dm-pre-reloc; }; &qspi { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_qspi>; status = "okay"; ddrsmp=<0>; flash0: s25fl512s@0 { u-boot,dm-pre-reloc; #address-cells = <1>; #size-cells = <1>; compatible = "spansion,s25fl512s"; spi-max-frequency = <66000000>; spi-tx-bus-width = <4>; spi-rx-bus-width = <4>; num-cs = <2>; spi-cpol; spi-cpha; fast-read; m25p; reg= <0>; }; }; I also put the aliases in imx6ul.dtsi aliases { ethernet0 = &fec1; ethernet1 = &fec2; gpio0 = &gpio1; gpio1 = &gpio2; gpio2 = &gpio3; gpio3 = &gpio4; gpio4 = &gpio5; i2c0 = &i2c1; i2c1 = &i2c2; i2c2 = &i2c3; i2c3 = &i2c4; mmc0 = &usdhc1; mmc1 = &usdhc2; serial0 = &uart1; serial1 = &uart2; serial2 = &uart3; serial3 = &uart4; serial4 = &uart5; serial5 = &uart6; serial6 = &uart7; serial7 = &uart8; sai1 = &sai1; sai2 = &sai2; sai3 = &sai3; spi0 = &qspi; spi1 = &ecspi1; spi2 = &ecspi2; spi3 = &ecspi3; spi4 = &ecspi4; usbphy0 = &usbphy1; usbphy1 = &usbphy2; usb0 = &usbotg1; usb1 = &usbotg2; }; >From the defconfig file CONFIG_SPL_FRAMEWORK=y CONFIG_SPL_BUILD=y CONFIG_SPL=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y CONFIG_SPL_DM=y CONFIG_SPL_OF_LIBFDT=y CONFIG_SPL_MTD_SUPPORT=y CONFIG_SPL_OPTEE=y CONFIG_SPL_SPI_LOAD=y CONFIG_SPL_PINCTRL=y CONFIG_SPL_GPIO_SUPPORT=y CONFIG_SPL_DMA_SUPPORT=y With the build with uboot (without SPL), I'm able to load it directly from qspi and use the sf probe 0 to check: - spi0, /soc/aips-bus@02100000/qspi@021e0000 spi_get_bus_and_cs: Binding new device 'spi_flash@0:0', busnum=0, cs=0, driver=spi_flash_std sf probe 0 SF: Detected s25fl512s_256k with page size 256 Bytes, erase size 256 KiB, total 64 MiB What I'm not sure is if pinctrl are enable in SPL or not. It seems that something goes wrong and SPI doesn't see any devices. I'd appreciate any help, suggestions or references. Many thanks, Dan -- Sent from: http://u-boot.10912.n7.nabble.com/