Other Parts Discussed in Thread: TPS65217, TPS65910
Hello,
We have a custom board based on AM335x where we are trying to enable to boot from SPI NOR.
The board initially booted via NAND. We then connected the NOR chip we wanted to add on to SPI 0:0 and made sure it was being detected fine in u-boot and Kernel.
From u-boot, we copied the MLO.byteswap and u-boot.img to the NOR. We then set the sysboot flags to boot from SPI.
When doing so, I get the following error:
U-Boot SPL 2020.10-rc5-00029-g686882937c-dirty (Feb 07 2023 - 13:25:32 +0100)
Trying to boot from SPI
Invalid bus 0 (err=-19)
SPI probe failed.
Trying to boot from NAND
...
The defconfig differences from the am335x_evm_spiboot_defconfig and our defconfig file are below:
-AUTOBOOT_DELAY_STR "d"
-AUTOBOOT_KEYED y
-AUTOBOOT_PROMPT "Press SPACE to abort autoboot in %d seconds\n"
-AUTOBOOT_STOP_STR " "
-BLK y
-BOOTCOUNT_ENV y
-BOOTM_NETBSD n
-BOOTM_PLAN9 n
-BOOTM_RTEMS n
-BOOTM_VXWORKS n
-BOOTP_PREFER_SERVERIP y
-CMD_ASKENV y
-CMD_DFU y
-CMD_DM y
-CMD_EEPROM y
-CMD_ELF n
-CMD_ERASEENV y
-CMD_EXT4_WRITE y
-CMD_MTD y
-CMD_NAND_TRIMFFS y
-CMD_SPI y
-CMD_TIME y
-CMD_USB y
-D_HOST_IPADDR "192.168.1.40"
-D_IPADDR "192.168.1.90"
-D_KERNEL_NFS_LOCATION "/nfs/d_rootfs"
-DEBUG_UART y
-DEBUG_UART_ANNOUNCE y
-DEBUG_UART_BASE 0x44E09000
-DEBUG_UART_CLOCK 48000000
-DEBUG_UART_OMAP y
-DEBUG_UART_SHIFT 2
-DEFAULT_SPI_BUS 1
-DM_ETH y
-DM_ETH_PHY y
-DM_MDIO y
-DM_MTD y
-DM_USB y
-EFI_LOADER n
-FAT_WRITE y
-INPUT n
-LEGACY_IMAGE_FORMAT n
-MMC n
-NET_RANDOM_ETHADDR y
-NR_DRAM_BANKS 1
-PARTITIONS n
-PHY_TI_GENERIC y
-RGMII y
-SPI_BOOT y
-SPI_FLASH_MTD y
-SPI_FLASH_SPANSION y
-SPI_FLASH_SST y
-SPL_AM33XX_ENABLE_RTC32K_OSC n
-SPL_DM y
-SPL_DM_SEQ_ALIAS y
-SPL_LIBCOMMON_SUPPORT y
-SPL_LIBGENERIC_SUPPORT y
-SPL_NAND_BASE y
-SPL_NAND_DRIVERS y
-SPL_PAYLOAD "u-boot.img"
-SPL_SEPARATE_BSS y
-SPL_SERIAL_SUPPORT y
-SPL_SPI_FLASH_MTD y
-SPL_SPI_SUPPORT y
-SPL_SYS_MALLOC_SIMPLE y
-SPL_USE_ARCH_MEMCPY n
-SPL_USE_ARCH_MEMSET n
-SPL_YMODEM_SUPPORT y
-SYS_MALLOC_LEN 0x800000
-SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR n
-USB2_IN_FULLSPEED_ONLY y
-USB_GADGET_DOWNLOAD y
BOOTCOMMAND "if printenv bootargs; then echo \"bootargs found\"; else setenv bootargs ${bootargs_ubi_forbid_erase}; fi; run boot_mode" -> "run findfdt; run init_console; run finduuid; run distro_bootcmd"
DEFAULT_DEVICE_TREE "am335x-d" -> "am335x-evm"
ENV_OFFSET 0x300000 -> 0x100000
+CLK y
+CLK_CDCE9XX y
+CLK_TI_CTRL y
+CLOCK_SYNTHESIZER y
+CMD_FLASH n
+CMD_SPL y
+CUSTOM_SYS_INIT_SP_ADDR 0x4030ff00
+DFU_MMC y
+DFU_TFTP y
+DM_PMIC y
+DYNAMIC_CRC_TABLE y
+ENV_IS_IN_FAT n
+ENV_OVERWRITE y
+FASTBOOT_CMD_OEM_FORMAT y
+FASTBOOT_FLASH y
+FASTBOOT_FLASH_MMC_DEV 1
+HAS_CUSTOM_SYS_INIT_SP_ADDR y
+LOGLEVEL 3
+MMC_HW_PARTITIONING n
+MMC_OMAP_HS y
+NET_RETRY_COUNT 10
+OF_BOARD_SETUP y
+OF_LIST "am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2 am335x-pocketbeagle"
+PHY_ATHEROS y
+PHY_SMSC y
+PMIC_TPS65217 y
+SPI_FLASH_STMICRO y
+SPI_FLASH_WINBOND y
+SPL_CLK y
+SPL_DM_MMC n
+SPL_DM_PMIC n
+SPL_EFI_PARTITION n
+SPL_ENV_IS_NOWHERE y
+SPL_FIT_IMAGE_TINY y
+SPL_FS_EXT4 n
+SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"
+SPL_LOAD_FIT y
+SPL_MMC n
+SPL_NAND_SUPPORT n
+SPL_OF_TRANSLATE y
+SPL_POWER_TPS65910 y
+SPL_SPI y
+SPL_TI_SYSC y
+SPL_WDT n
+SYS_BOOTCOUNT_BE y
+SYS_BOOTM_LEN 0x1000000
+SYS_I2C_EEPROM_ADDR 0x50
+SYS_I2C_EEPROM_ADDR_LEN 2
+SYS_MAXARGS 64
+SYS_NAND_ONFI_DETECTION y
+SYS_NAND_OOBSIZE 0x40
+SYS_NAND_PAGE_SIZE 0x800
+SYS_NAND_U_BOOT_LOCATIONS y
+SYS_NAND_U_BOOT_OFFS 0xc0000
+SYS_SPL_MALLOC y
+SYS_SPL_MALLOC_SIZE 0x800000
+TIMESTAMP y
+TI_COMMON_CMD_OPTIONS y
+USB_FUNCTION_FASTBOOT y
+WDT y
The DTS file has the NOR aded like below:
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins>;
status = "okay";
ti,spi-num-cs = <1>;
ti,pindir-d0-out-d1-in = <0>;
u-boot,dm-spl;
spi_nor0: spi_nor@0 {
reg = <0>;
compatible = "spansion,s25fl512s", "jedec,spi-nor";
u-boot,dm-pre-reloc;
spi-max-frequency = <25000000>;
spi-tx-bus-width = <1>;
spi-rx-bus-width = <1>;
spi-cpol;
spi-cpha;
status = "okay";
};
};
Any pointers where we should be looking at?
Regards