Tool/software: Code Composer Studio
Hi experts.
I have seen (another) strange behaviour during uboot's SPI startup in our custom board.
I had added some debug printout to show the problem.
In custom board ((I have saved u-boot-spi.gph at the SF's offset 0) afrer reboot from POR:
U-Boot SPL 2018.01-00558-gafce7b16cd-dirty (Dec 16 2019 - 13:46:22)
Trying to boot from SPI
initcall: 0c0b68cd
U-Boot 2018.01-00558-gafce7b16cd-dirty (Dec 16 2019 - 13:46:22 +0100)
initcall: 0c022149
U-Boot code: 0C000000 -> 0C107DE8 BSS: -> 0C169448
initcall: 0c002ddd
CPU: 66AK2Hx Rev11 (DRSP)
initcall: 0c006bb9
initcall: 0c022a31
Model: Rheinmetall DRSP board (UBoot)
initcall: 0c022181
DRAM: initcall: 0c006399
DDR3A Speed will be configured for 1600 Operation.
DDR3A memory bank [DRSP-K2H-2G1600SED]
DDR3 speed 1600
DRAM: 2 GiB (includes reported below)
initcall: 0c0222a1
Monitor len: 00169448
Ram size: 80000000
Ram top: 00000000
initcall: 0c02230d
initcall: 0c02232d
TLB table from ffff0000 to ffff4000
initcall: 0c022389
initcall: 0c022397
initcall: 0c0223a5
Reserving 1445k for U-Boot at: ffe86000
initcall: 0c0223ed
Reserving 32832k for malloc() at: fde76000
initcall: 0c02241d
Reserving 88 Bytes for Board Info at: fde75fa8
initcall: 0c022471
initcall: 0c022481
Reserving 208 Bytes for Global Data at: fde75ed8
initcall: 0c0224bd
initcall: 0c0224cb
initcall: 0c022691
initcall: 0c0224d9
initcall: 0c022231
initcall: 0c022195
RAM Configuration:
Bank #0: 80000000 Bank #1: 0 DRAM: 2 GiB
initcall: 0c0224fd
New Stack Pointer is: fde75eb0
initcall: 0c022519
initcall: 0c022527
initcall: 0c022535
***************************************************************
Relocation Offset is: f3e86000
Relocating to ffe86000, new gd at fde75ed8, sp at fde75eb0
***************************************************************
.... nothing else.
It seems the jump in third stage (U-BOOT) is not done when start from SPL.
In the previous log we can see the RAM inizialized from SPL as to as from u-boot with emulator.
In the same board I obtain after RAM download with CCS (using build/uboot/u-boot file
the same file downloaded from SPL stage):
U-Boot 2018.01-00558-gafce7b16cd-dirty (Dec 16 2019 - 13:46:22 +0100)
initcall: 0c022149
U-Boot code: 0C000000 -> 0C107DE8 BSS: -> 0C169448
initcall: 0c002ddd
CPU: 66AK2Hx Rev11 (DRSP)
initcall: 0c006bb9
initcall: 0c022a31
Model: Rheinmetall DRSP board (UBoot)
initcall: 0c022181
DRAM: initcall: 0c006399
DDR3A Speed will be configured for 1600 Operation.
DDR3A memory bank [DRSP-K2H-2G1600SED]
DDR3 speed 1600
DRAM: 2 GiB (includes reported below)
initcall: 0c0222a1
Monitor len: 00169448
Ram size: 80000000
Ram top: 00000000
initcall: 0c02230d
initcall: 0c02232d
TLB table from ffff0000 to ffff4000
initcall: 0c022389
initcall: 0c022397
initcall: 0c0223a5
Reserving 1445k for U-Boot at: ffe86000
initcall: 0c0223ed
Reserving 32832k for malloc() at: fde76000
initcall: 0c02241d
Reserving 88 Bytes for Board Info at: fde75fa8
initcall: 0c022471
initcall: 0c022481
Reserving 208 Bytes for Global Data at: fde75ed8
initcall: 0c0224bd
initcall: 0c0224cb
initcall: 0c022691
initcall: 0c0224d9
initcall: 0c022231
initcall: 0c022195
RAM Configuration:
Bank #0: 80000000 Bank #1: 0 DRAM: 2 GiB
initcall: 0c0224fd
New Stack Pointer is: fde75eb0
initcall: 0c022519
initcall: 0c022527
initcall: 0c022535
***************************************************************
Relocation Offset is: f3e86000
Relocating to ffe86000, new gd at fde75ed8, sp at fde75eb0
***************************************************************
initcall: ffea8705 ---- initr_trace
initcall: ffea8713 ---- initr_reloc
initcall: 0c022731 ---- initr_caches
initcall: 0c022741 ---- initr_reloc_global_data
initcall: 0c02278b ---- initr_barrier
initcall: 0c022799 ---- initr_malloc
Pre-reloc malloc() used 0x90 bytes (0 KB)
initcall: 0c034aa5 ---- log_init
initcall: 0c022851 ---- initr_bootstage
initcall: 0c0227ed ---- initr_console_record
initcall: 0c0226dd ---- bootstage_relocate
initcall: 0c0227fd ---- initr_dm
initr_dm@292: Called
dm_init@156: Called
dm_init@171: Called
lists_driver_lookup_name@28: Called
lists_driver_lookup_name@33: Called foud
device_bind_by_name@245: Called
device_bind_by_name@249: Called
device_bind_common@40: Called
device_bind_common@48: Called
uclass.c@246: uclass_find_device_by_seq: 0 -1
uclass.c@246: uclass_find_device_by_seq: 0 0
uclass.c@254: - -1 -1 'root_driver'
uclass.c@262: - not found
....
genphy_config_aneg: return 1 0x0
genphy_config_aneg: return 2 0x0
phy_read: devad=0xFFFFFFFF phydev->addr=0x0000 regnum=0x0000 val=0x0000
genphy_restart_aneg: Called
phy_read: devad=0xFFFFFFFF phydev->addr=0x0000 regnum=0x0000 val=0x0000
phy_write: devad=0xFFFFFFFF phydev->addr=0x0000 regnum=0x0000 val=0x1200
phy_read: devad=0xFFFFFFFF phydev->addr=0x0000 regnum=0x0000 val=0x1000
phy_write: devad=0xFFFFFFFF phydev->addr=0x0000 regnum=0x0000 val=0x9000
eth_post_probe: Called
ks2_eth_read_rom_hwaddr: Called
eth0: netcp@2000000ks2_eth_write_hwaddr: Called
Net IF Nr: 1
initcall: 0c0229e5
Hit any key to stop autoboot: 0
ubi0: attaching mtd1
....
ubifsload <addr> <filename> [bytes]
- load file 'filename' to address 'addr'
## Error: "run_kern" not defined
DRSP_UBoot>
I have already checked the SPI data contents (is correct), I suppose something in make
environment is misconfigured or some config options miss or remov.
Follows the uboot config (only the actived lines) catched from uboot console.
CONFIG_CREATE_ARCH_SYMLINK=y
CONFIG_ARM=y
CONFIG_SYS_ARCH="arm"
CONFIG_SYS_CPU="armv7"
CONFIG_SYS_SOC="keystone"
CONFIG_SYS_VENDOR="ti"
CONFIG_SYS_BOARD="ks2_evm"
CONFIG_SYS_CONFIG_NAME="k2hk_evm"
CONFIG_HAS_VBAR=y
CONFIG_HAS_THUMB2=y
CONFIG_ARM_ASM_UNIFIED=y
CONFIG_SYS_ARM_CACHE_CP15=y
CONFIG_SYS_ARM_MMU=y
CONFIG_CPU_V7A=y
CONFIG_SYS_ARM_ARCH=7
CONFIG_SYS_CACHE_SHIFT_6=y
CONFIG_SYS_CACHELINE_SIZE=64
CONFIG_SYS_THUMB_BUILD=y
CONFIG_SPL_SYS_THUMB_BUILD=y
CONFIG_USE_ARCH_MEMCPY=y
CONFIG_SPL_USE_ARCH_MEMCPY=y
CONFIG_USE_ARCH_MEMSET=y
CONFIG_SPL_USE_ARCH_MEMSET=y
CONFIG_ARCH_KEYSTONE=y
CONFIG_SPL_LDSCRIPT="arch/$(ARCH)/cpu/u-boot-spl.lds"
CONFIG_SYS_TEXT_BASE=0x0c000000
CONFIG_EEPROM_BUS_ADDRESS=0
CONFIG_EEPROM_CHIP_ADDRESS=0x50
CONFIG_TI_COMMON_CMD_OPTIONS=y
CONFIG_SPL_GPIO_SUPPORT=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_SYS_MALLOC_F_LEN=0x400
CONFIG_TARGET_K2HK_EVM=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_SPL_SPI_FLASH_SUPPORT=y
CONFIG_SPL_SPI_SUPPORT=y
CONFIG_SPL_WATCHDOG_SUPPORT=y
CONFIG_IDENT_STRING=""
CONFIG_DEFAULT_DEVICE_TREE=""
CONFIG_SMBIOS_PRODUCT_NAME="ks2_evm"
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYS_MALLOC_F=y
CONFIG_SPL_SYS_MALLOC_F_LEN=0x400
CONFIG_TPL_SYS_MALLOC_F_LEN=0x400
CONFIG_EXPERT=y
CONFIG_TOOLS_DEBUG=y
CONFIG_FIT=y
CONFIG_FIT_ENABLE_SHA256_SUPPORT=y
CONFIG_OF_BOARD_SETUP=y
CONFIG_SYS_EXTRA_OPTIONS=""
CONFIG_ARCH_FIXUP_FDT_MEMORY=y
CONFIG_API=y
CONFIG_BOOTSTAGE_RECORD_COUNT=30
CONFIG_SPL_BOOTSTAGE_RECORD_COUNT=5
CONFIG_BOOTSTAGE_STASH_ADDR=0
CONFIG_BOOTSTAGE_STASH_SIZE=0x1000
CONFIG_SPI_BOOT=y
CONFIG_BOOTDELAY=50
CONFIG_MENU=y
CONFIG_LOGLEVEL=4
CONFIG_SPL_LOGLEVEL=4
CONFIG_SYS_CONSOLE_INFO_QUIET=y
CONFIG_LOG=y
CONFIG_LOG_MAX_LEVEL=5
CONFIG_LOG_CONSOLE=y
CONFIG_DEFAULT_FDT_FILE=""
CONFIG_VERSION_VARIABLE=y
CONFIG_DISPLAY_CPUINFO=y
CONFIG_DISPLAY_BOARDINFO=y
CONFIG_BOARD_EARLY_INIT_F=y
CONFIG_HASH=y
CONFIG_SUPPORT_SPL=y
CONFIG_SPL=y
CONFIG_SPL_BOARD_INIT=y
CONFIG_SPL_LEGACY_IMAGE_SUPPORT=y
CONFIG_SPL_SEPARATE_BSS=y
CONFIG_SPL_DISPLAY_PRINT=y
CONFIG_SPL_CPU_SUPPORT=y
CONFIG_SPL_DMA_SUPPORT=y
CONFIG_SPL_MTD_SUPPORT=y
CONFIG_SPL_NOR_SUPPORT=y
CONFIG_SPL_RAM_SUPPORT=y
CONFIG_SPL_RAM_DEVICE=y
CONFIG_CMDLINE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="DRSP_UBoot> "
CONFIG_AUTOBOOT=y
CONFIG_BUILD_BIN2C=y
CONFIG_CMD_BDI=y
CONFIG_CMD_CONFIG=y
CONFIG_CMD_CONSOLE=y
CONFIG_CMD_BOOTD=y
CONFIG_CMD_BOOTM=y
CONFIG_CMD_BOOTZ=y
CONFIG_CMD_BOOTEFI=y
CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y
CONFIG_CMD_BOOTMENU=y
CONFIG_CMD_ELF=y
CONFIG_CMD_FDT=y
CONFIG_CMD_GO=y
CONFIG_CMD_RUN=y
CONFIG_CMD_IMI=y
CONFIG_CMD_XIMG=y
CONFIG_CMD_POWEROFF=y
CONFIG_CMD_ASKENV=y
CONFIG_CMD_EXPORTENV=y
CONFIG_CMD_IMPORTENV=y
CONFIG_CMD_EDITENV=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_ENV_EXISTS=y
CONFIG_CMD_CRC32=y
CONFIG_CRC32_VERIFY=y
CONFIG_CMD_EEPROM=y
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_MEMORY=y
CONFIG_CMD_MEMTEST=y
CONFIG_CMD_MX_CYCLIC=y
CONFIG_CMD_DM=y
CONFIG_CMD_FLASH=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_GPT=y
CONFIG_RANDOM_UUID=y
CONFIG_CMD_I2C=y
CONFIG_CMD_LOADB=y
CONFIG_CMD_LOADS=y
CONFIG_CMD_MMC=y
CONFIG_CMD_NAND=y
CONFIG_CMD_PART=y
CONFIG_CMD_SAVES=y
CONFIG_CMD_SDRAM=y
CONFIG_CMD_SF=y
CONFIG_CMD_SPI=y
CONFIG_CMD_USB=y
CONFIG_CMD_ECHO=y
CONFIG_CMD_ITEST=y
CONFIG_CMD_SOURCE=y
CONFIG_CMD_SETEXPR=y
CONFIG_CMD_NET=y
CONFIG_CMD_DHCP=y
CONFIG_CMD_NFS=y
CONFIG_CMD_MII=y
CONFIG_CMD_PING=y
CONFIG_CMD_BSP=y
CONFIG_CMD_TIME=y
CONFIG_CMD_MISC=y
CONFIG_CMD_DDR3=y
CONFIG_CMD_EXT2=y
CONFIG_CMD_EXT4=y
CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_CMD_MTDPARTS=y
CONFIG_MTDIDS_DEFAULT="nand0=davinci_nand.0"
CONFIG_MTDPARTS_DEFAULT="mtdparts=davinci_nand.0:1024k(bootloader)ro,512k(params)ro,-(ubifs)"
CONFIG_CMD_UBI=y
CONFIG_CMD_UBIFS=y
CONFIG_PARTITIONS=y
CONFIG_DOS_PARTITION=y
CONFIG_SPL_DOS_PARTITION=y
CONFIG_ISO_PARTITION=y
CONFIG_SPL_ISO_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128
CONFIG_EFI_PARTITION_ENTRIES_OFF=0
CONFIG_SPL_EFI_PARTITION=y
CONFIG_PARTITION_UUIDS=y
CONFIG_SPL_PARTITION_UUIDS=y
CONFIG_SUPPORT_OF_CONTROL=y
CONFIG_DTC=y
CONFIG_OF_CONTROL=y
CONFIG_OF_EMBED=y
CONFIG_OF_LIST="keystone-k2hk-drsp keystone-k2hk-evm"
CONFIG_DTB_RESELECT=y
CONFIG_MULTI_DTB_FIT=y
CONFIG_MKIMAGE_DTC_PATH="dtc"
CONFIG_ENV_IS_IN_SPI_FLASH=y
CONFIG_NET=y
CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_NETCONSOLE=y
CONFIG_NET_TFTP_VARS=y
CONFIG_BOOTP_PXE_CLIENTARCH=0x15
CONFIG_BOOTP_VCI_STRING="U-Boot.armv7"
CONFIG_DM=y
CONFIG_DM_WARN=y
CONFIG_DM_DEBUG=y
CONFIG_DM_DEVICE_REMOVE=y
CONFIG_DM_STDIO=y
CONFIG_DM_SEQ_ALIAS=y
CONFIG_REGMAP=y
CONFIG_SYSCON=y
CONFIG_DEVRES=y
CONFIG_SIMPLE_BUS=y
CONFIG_OF_TRANSLATE=y
CONFIG_DM_DEV_READ_INLINE=y
CONFIG_CLK=y
CONFIG_DM_GPIO=y
CONFIG_DM_I2C=y
CONFIG_DM_I2C_GPIO=y
CONFIG_SYS_I2C_DW=y
CONFIG_SYS_I2C_BUS_MAX=3
CONFIG_I2C_MUX=y
CONFIG_I2C_MUX_PCA954x=y
CONFIG_TI_AEMIF=y
CONFIG_MMC=y
CONFIG_MMC_WRITE=y
CONFIG_MMC_QUIRKS=y
CONFIG_MMC_HW_PARTITIONING=y
CONFIG_NAND=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_BAR=y
CONFIG_SPI_FLASH_STMICRO=y
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
CONFIG_PHYLIB=y
CONFIG_PHYLIB_10G=y
CONFIG_PHY_MARVELL=y
CONFIG_PHY_TI=y
CONFIG_DM_ETH=y
CONFIG_NETDEVICES=y
CONFIG_PHY_GIGE=y
CONFIG_PHY=y
CONFIG_RAM=y
CONFIG_REMOTEPROC=y
CONFIG_REMOTEPROC_TI_POWER=y
CONFIG_BAUDRATE=115200
CONFIG_SYS_NS16550=y
CONFIG_SOC_TI=y
CONFIG_DM_SPI=y
CONFIG_USB=y
CONFIG_USB_HOST=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_DWC3=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_HOST=y
CONFIG_USB_STORAGE=y
CONFIG_FS_FAT=y
CONFIG_FAT_WRITE=y
CONFIG_FS_FAT_MAX_CLUSTSIZE=65536
CONFIG_HAVE_PRIVATE_LIBGCC=y
CONFIG_USE_PRIVATE_LIBGCC=y
CONFIG_SYS_HZ=1000
CONFIG_REGEX=y
CONFIG_LIB_RAND=y
CONFIG_RBTREE=y
CONFIG_SHA1=y
CONFIG_SHA256=y
CONFIG_MD5=y
CONFIG_LZ4=y
CONFIG_LZMA=y
CONFIG_LZO=y
CONFIG_SPL_LZO=y
CONFIG_SPL_GZIP=y
CONFIG_SPL_ZLIB=y
CONFIG_OF_LIBFDT=y
CONFIG_OF_LIBFDT_OVERLAY=y
CONFIG_SPL_OF_LIBFDT=y
CONFIG_GENERATE_SMBIOS_TABLE=y
CONFIG_SMBIOS_MANUFACTURER="ti"
CONFIG_EFI_LOADER=y
Another strange behaviour is that if I remove the USB debugger the SPL stops before
....
initcall: 0c022181
DRAM: initcall: 0c006399
DDR3A Speed will be configured for 1600 Operation.
DDR3A memory bank [DRSP-K2H-2G1600SED]
DDR3 speed 1600
DRAM: 2 GiB (includes reported below)
here....
I have seen thats behaviour a couple of times (now), I don't know if the problem is correlated with the previous one.
MCS 5.2.0.10 with u-boot-2018.01+gitAUTOINC+313dcd69c2-g313dcd69c2 patched for handle our custom board.
I hope it's a my misconfiration.
Best regards,
Dario