Hi,all
1. When I tested and compiled some spiboot boards, I found that the board compilation of these spiflash boot configurations failed. These boards all support the dm mode of spl, and the boot mode used is spiboot. Here is the board configuration I compiled: configs/sama5d2_xplained_spiflash_defconfig configs/sama5d3xek_spiflash_defconfig configs/sama5d4_xplained_spiflash_defconfig configs/sama5d4ek_spiflash_defconfig eg: sama5d4ek_spiflash_defconfig CC spl/drivers/clk/at91/clk-master.o drivers/spi/spi.c: In function 'spi_do_alloc_slave': CC spl/lib/libfdt/fdt_ro.o CC spl/lib/libfdt/fdt_region.o drivers/spi/spi.c:34:8: error: 'struct spi_slave' has no member named 'bus' slave->bus = bus; ^~ drivers/spi/spi.c:35:8: error: 'struct spi_slave' has no member named 'cs' slave->cs = cs; ^~ scripts/Makefile.build:278: recipe for target 'spl/drivers/spi/spi.o' failed So far there seems to be no spiboot board that compiles successfully and works properly. I would like to know how to configure uboot in SPL using dm spiboot to ensure normal compilation. =================== 2. When I compile d with T2080QDS_SPIFLASH_defconfig, a similar error message appears. I have included the following options in the configuration file: CONFIG_DM_SPI=y CONFIG_DM_SPI_FLASH=y The following is the error log: $ make T2080QDS_SPIFLASH_defconfig&&make -j32 all HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o ... LD spl/lib/built-in.o LD spl/u-boot-spl env/built-in.o: In function `setup_flash_device': /home/hanch/DSPI/u-boot-fsl-qoriq/env/sf.c:60: undefined reference to `spi_flash_probe_bus_cs' /home/hanch/DSPI/u-boot-fsl-qoriq/env/sf.c:68: undefined reference to `dev_get_uclass_priv' env/built-in.o: In function `spi_flash_read': /home/hanch/DSPI/u-boot-fsl-qoriq/include/spi_flash.h:118: undefined reference to `spi_flash_read_dm' env/built-in.o: In function `env_sf_load': /home/hanch/DSPI/u-boot-fsl-qoriq/env/sf.c:317: undefined reference to `spi_flash_free' drivers/built-in.o: In function `fsl_spi_spl_load_image': /home/hanch/DSPI/u-boot-fsl-qoriq/drivers/mtd/spi/fsl_espi_spl.c:18: undefined reference to `spi_flash_probe' drivers/built-in.o: In function `spi_flash_read': /home/hanch/DSPI/u-boot-fsl-qoriq/include/spi_flash.h:118: undefined reference to `spi_flash_read_dm' drivers/built-in.o: In function `fsl_spi_boot': /home/hanch/DSPI/u-boot-fsl-qoriq/drivers/mtd/spi/fsl_espi_spl.c:44: undefined reference to `spi_flash_probe' drivers/built-in.o: In function `spi_flash_read': /home/hanch/DSPI/u-boot-fsl-qoriq/include/spi_flash.h:118: undefined reference to `spi_flash_read_dm' drivers/built-in.o: In function `spi_flash_std_write': /home/hanch/DSPI/u-boot-fsl-qoriq/drivers/mtd/spi/sf_probe.c:113: undefined reference to `dev_get_uclass_priv' drivers/built-in.o: In function `spi_flash_std_read': /home/hanch/DSPI/u-boot-fsl-qoriq/drivers/mtd/spi/sf_probe.c:103: undefined reference to `dev_get_uclass_priv' drivers/built-in.o: In function `spi_flash_std_get_sw_write_prot': /home/hanch/DSPI/u-boot-fsl-qoriq/drivers/mtd/spi/sf_probe.c:140: undefined reference to `dev_get_uclass_priv' drivers/built-in.o: In function `spi_flash_std_erase': /home/hanch/DSPI/u-boot-fsl-qoriq/drivers/mtd/spi/sf_probe.c:122: undefined reference to `dev_get_uclass_priv' drivers/built-in.o: In function `spi_flash_std_probe': /home/hanch/DSPI/u-boot-fsl-qoriq/drivers/mtd/spi/sf_probe.c:147: undefined reference to `dev_get_parent_priv' /home/hanch/DSPI/u-boot-fsl-qoriq/drivers/mtd/spi/sf_probe.c:148: undefined reference to `dev_get_parent_platdata' /home/hanch/DSPI/u-boot-fsl-qoriq/drivers/mtd/spi/sf_probe.c:151: undefined reference to `dev_get_uclass_priv' scripts/Makefile.spl:384: recipe for target 'spl/u-boot-spl' failed make[1]: *** [spl/u-boot-spl] Error 1 Makefile:1649: recipe for target 'spl/u-boot-spl' failed make: *** [spl/u-boot-spl] Error 2 So I added the following two options to solve the above error: CONFIG_SPL_DM=y CONFIG_SPL_OF_CONTROL=y But it brings new mistakes: LD spl/drivers/built-in.o LD spl/lib/built-in.o LD spl/u-boot-spl drivers/built-in.o: In function `blk_post_probe': /home/hanch/DSPI/u-boot-fsl-qoriq/drivers/block/blk-uclass.c:645: undefined reference to `part_init' scripts/Makefile.spl:384: recipe for target 'spl/u-boot-spl' failed make[1]: *** [spl/u-boot-spl] Error 1 Makefile:1649: recipe for target 'spl/u-boot-spl' failed make: *** [spl/u-boot-spl] Error 2 The following options have been added for the current error: # CONFIG_SPL_BLK is not set At this time, the compiler passes, but spiboot cannot be performed on the spi-flash, uboot cannot be started. I tried to open the following options: CONFIG_SPL_FRAMEWORK=y Delete the following options: -# CONFIG_SPL_BLK is not set Multiple definitions of error were reported: LD spl/common/spl/built-in.o LD spl/disk/built-in.o LD spl/lib/built-in.o LD spl/u-boot-spl common/spl/built-in.o: In function `board_init_r': /home/hanch/DSPI/u-boot-fsl-qoriq/common/spl/spl.c:567: multiple definition of `board_init_r' board/freescale/t208xqds/built-in.o:/home/hanch/DSPI/u-boot-fsl-qoriq/board/freescale/t208xqds/spl.c:97: first defined here scripts/Makefile.spl:384: recipe for target 'spl/u-boot-spl' failed make[1]: *** [spl/u-boot-spl] Error 1 Makefile:1649: recipe for target 'spl/u-boot-spl' failed make: *** [spl/u-boot-spl] Error 2 Then I guess whether the dm of SPL does not support very well on spiboot. I hope you can help. Looking forward to your reply, thank you very much!!! Thanks, Chuanhua
T2080QDS_SPIFLASH_defconfig
Description: T2080QDS_SPIFLASH_defconfig
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot