This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BEAGLEBK: WDT support in SPL

Part Number: BEAGLEBK

Hello,

For Beagle Bone Black, when I try to include the the watch dog timer feature in SPL through u-boot menuconfig

"Device Driver>Watch Dog Timer Support>Enable Driver Model for Watchdog timer driver in SPL"

The below build error is generated.

-----------------------------------

arch/arm/mach-omap2/built-in.o: In function `spl_board_init':
/home/workpc/uboot/code/u-boot-2020.04-rc2/build-am335x_evm/../arch/arm/mach-omap2/boot-common.c:211: undefined reference to `hw_watchdog_init'
make[2]: *** [spl/u-boot-spl] Error 1
make[1]: *** [spl/u-boot-spl] Error 2
make: *** [sub-make] Error 2

-----------------------------------

Does u-boot SPL for Beaglebone Black support Watch Dog Timer or not??

Regards,

Adarsh

Below is the complete build log:

  • The Complete Build Log is attached

    make[1]: Entering directory '/home/workpc/uboot/code/u-boot-2020.04-rc2/build-am335x_evm'
      CHK     include/config/uboot.release
      Using .. as source for U-Boot
      GEN     ./Makefile
      CHK     include/config.h
      CFG     u-boot.cfg
      CHK     include/generated/version_autogenerated.h
      CHK     include/generated/timestamp_autogenerated.h
      UPD     include/generated/timestamp_autogenerated.h
      HOSTCC  scripts/basic/fixdep
      CC      lib/asm-offsets.s
      CHK     include/generated/generic-asm-offsets.h
      CC      arch/arm/lib/asm-offsets.s
      CHK     include/generated/asm-offsets.h
      HOSTCC  scripts/dtc/dtc.o
      HOSTCC  scripts/dtc/flattree.o
      HOSTCC  scripts/dtc/fstree.o
      HOSTCC  scripts/dtc/data.o
      HOSTCC  scripts/dtc/livetree.o
      HOSTCC  scripts/dtc/treesource.o
      HOSTCC  scripts/dtc/srcpos.o
      HOSTCC  scripts/dtc/checks.o
      HOSTCC  scripts/dtc/util.o
      LEX     scripts/dtc/dtc-lexer.lex.c
      YACC    scripts/dtc/dtc-parser.tab.h
      HOSTCC  scripts/dtc/dtc-lexer.lex.o
      YACC    scripts/dtc/dtc-parser.tab.c
      HOSTCC  scripts/dtc/dtc-parser.tab.o
      HOSTLD  scripts/dtc/dtc
      HOSTCC  tools/gen_eth_addr
      HOSTCC  tools/gen_ethaddr_crc.o
      WRAP    tools/lib/crc8.c
      HOSTCC  tools/lib/crc8.o
      HOSTLD  tools/gen_ethaddr_crc
      HOSTCC  tools/img2srec
      HOSTCC  tools/mkenvimage.o
      HOSTCC  tools/os_support.o
      WRAP    tools/lib/crc32.c
      HOSTCC  tools/lib/crc32.o
      HOSTLD  tools/mkenvimage
      HOSTCC  tools/aisimage.o
      HOSTCC  tools/atmelimage.o
      HOSTCC  tools/fit_common.o
      HOSTCC  tools/fit_image.o
      HOSTCC  tools/image-host.o
      WRAP    tools/common/image-fit.c
      HOSTCC  tools/common/image-fit.o
      WRAP    tools/common/bootm.c
      HOSTCC  tools/common/bootm.o
      HOSTCC  tools/default_image.o
      WRAP    tools/lib/fdtdec_common.c
      HOSTCC  tools/lib/fdtdec_common.o
      WRAP    tools/lib/fdtdec.c
      HOSTCC  tools/lib/fdtdec.o
      WRAP    tools/common/image.c
      HOSTCC  tools/common/image.o
      HOSTCC  tools/imagetool.o
      HOSTCC  tools/imximage.o
      HOSTCC  tools/imx8image.o
      HOSTCC  tools/imx8mimage.o
      HOSTCC  tools/kwbimage.o
      WRAP    tools/lib/md5.c
      HOSTCC  tools/lib/md5.o
      HOSTCC  tools/lpc32xximage.o
      HOSTCC  tools/mxsimage.o
      HOSTCC  tools/omapimage.o
      HOSTCC  tools/pblimage.o
      HOSTCC  tools/pbl_crc32.o
      HOSTCC  tools/vybridimage.o
      HOSTCC  tools/stm32image.o
      WRAP    tools/lib/rc4.c
      HOSTCC  tools/lib/rc4.o
      HOSTCC  tools/rkcommon.o
      HOSTCC  tools/rkimage.o
      HOSTCC  tools/rksd.o
      HOSTCC  tools/rkspi.o
      HOSTCC  tools/socfpgaimage.o
      WRAP    tools/lib/crc16.c
      HOSTCC  tools/lib/crc16.o
      WRAP    tools/lib/sha1.c
      HOSTCC  tools/lib/sha1.o
      WRAP    tools/lib/sha256.c
      HOSTCC  tools/lib/sha256.o
      WRAP    tools/common/hash.c
      HOSTCC  tools/common/hash.o
      HOSTCC  tools/ublimage.o
      HOSTCC  tools/zynqimage.o
      HOSTCC  tools/zynqmpimage.o
      HOSTCC  tools/zynqmpbif.o
      HOSTCC  tools/libfdt/fdt.o
      HOSTCC  tools/libfdt/fdt_wip.o
      HOSTCC  tools/libfdt/fdt_sw.o
      HOSTCC  tools/libfdt/fdt_rw.o
      HOSTCC  tools/libfdt/fdt_strerror.o
      HOSTCC  tools/libfdt/fdt_empty_tree.o
      HOSTCC  tools/libfdt/fdt_addresses.o
      HOSTCC  tools/libfdt/fdt_overlay.o
      WRAP    tools/lib/libfdt/fdt_ro.c
      HOSTCC  tools/lib/libfdt/fdt_ro.o
      WRAP    tools/lib/libfdt/fdt_region.c
      HOSTCC  tools/lib/libfdt/fdt_region.o
      HOSTCC  tools/gpimage.o
      HOSTCC  tools/gpimage-common.o
      HOSTCC  tools/mtk_image.o
      HOSTCC  tools/dumpimage.o
      HOSTLD  tools/dumpimage
      HOSTCC  tools/mkimage.o
      HOSTLD  tools/mkimage
      HOSTCC  tools/proftool
      HOSTCC  tools/fdtgrep.o
      HOSTLD  tools/fdtgrep
      HOSTCC  tools/spl_size_limit
      LD      arch/arm/cpu/built-in.o
      CC      arch/arm/cpu/armv7/cache_v7.o
      AS      arch/arm/cpu/armv7/cache_v7_asm.o
      CC      arch/arm/cpu/armv7/cpu.o
      CC      arch/arm/cpu/armv7/cp15.o
      CC      arch/arm/cpu/armv7/syslib.o
      AS      arch/arm/cpu/armv7/sctlr.o
      LD      arch/arm/cpu/armv7/built-in.o
      AS      arch/arm/cpu/armv7/start.o
      AS      arch/arm/lib/vectors.o
      AS      arch/arm/lib/crt0.o
      AS      arch/arm/lib/setjmp.o
      AS      arch/arm/lib/relocate.o
      CC      arch/arm/lib/bootm-fdt.o
      CC      arch/arm/lib/bootm.o
      CC      arch/arm/lib/zimage.o
      AS      arch/arm/lib/memset.o
      AS      arch/arm/lib/memcpy.o
      CC      arch/arm/lib/sections.o
      CC      arch/arm/lib/stack.o
      CC      arch/arm/lib/interrupts.o
      CC      arch/arm/lib/reset.o
      CC      arch/arm/lib/cache.o
      CC      arch/arm/lib/cache-cp15.o
      CC      arch/arm/lib/psci-dt.o
      LD      arch/arm/lib/built-in.o
      AS      arch/arm/lib/ashldi3.o
      AS      arch/arm/lib/ashrdi3.o
      CC      arch/arm/lib/div0.o
      AS      arch/arm/lib/div64.o
      AS      arch/arm/lib/lib1funcs.o
      AS      arch/arm/lib/lshrdi3.o
      AS      arch/arm/lib/muldi3.o
      AS      arch/arm/lib/uldivmod.o
      AR      arch/arm/lib/lib.a
      CC      arch/arm/lib/eabi_compat.o
      AS      arch/arm/lib/crt0_arm_efi.o
      CC      arch/arm/lib/reloc_arm_efi.o
      CC      arch/arm/mach-omap2/am33xx/clock_am33xx.o
      CC      arch/arm/mach-omap2/am33xx/clock.o
      CC      arch/arm/mach-omap2/am33xx/sys_info.o
      CC      arch/arm/mach-omap2/am33xx/ddr.o
      CC      arch/arm/mach-omap2/am33xx/board.o
      CC      arch/arm/mach-omap2/am33xx/mux.o
      CC      arch/arm/mach-omap2/am33xx/prcm-regs.o
      CC      arch/arm/mach-omap2/am33xx/hw_data.o
      CC      arch/arm/mach-omap2/am33xx/fdt.o
      CC      arch/arm/mach-omap2/am33xx/clk_synthesizer.o
      LD      arch/arm/mach-omap2/am33xx/built-in.o
      CC      arch/arm/mach-omap2/reset.o
      CC      arch/arm/mach-omap2/utils.o
      CC      arch/arm/mach-omap2/sysinfo-common.o
      CC      arch/arm/mach-omap2/omap-cache.o
      CC      arch/arm/mach-omap2/boot-common.o
      AS      arch/arm/mach-omap2/lowlevel_init.o
      CC      arch/arm/mach-omap2/mem-common.o
      CC      arch/arm/mach-omap2/fdt-common.o
      LD      arch/arm/mach-omap2/built-in.o
      CC      board/ti/am335x/board.o
      LD      board/ti/am335x/built-in.o
      CC      board/ti/common/board_detect.o
      LD      board/ti/common/built-in.o
      LD      cmd/arm/built-in.o
      LD      cmd/ti/built-in.o
      CC      cmd/boot.o
      CC      cmd/bootm.o
      CC      cmd/help.o
      CC      cmd/version.o
      CC      cmd/blk_common.o
      CC      cmd/source.o
      CC      cmd/bdinfo.o
      CC      cmd/blkcache.o
      CC      cmd/bootefi.o
      CC      cmd/bootz.o
      CC      cmd/console.o
      CC      cmd/dm.o
      CC      cmd/echo.o
      CC      cmd/eeprom.o
      CC      cmd/elf.o
      CC      cmd/exit.o
      CC      cmd/ext4.o
      CC      cmd/ext2.o
      CC      cmd/fat.o
      CC      cmd/fdt.o
      CC      cmd/fs.o
      CC      cmd/gpio.o
      CC      cmd/i2c.o
      CC      cmd/itest.o
      CC      cmd/load.o
      CC      cmd/mem.o
      CC      cmd/mii.o
      CC      cmd/mdio.o
      CC      cmd/misc.o
      CC      cmd/mmc.o
      CC      cmd/mtdparts.o
      CC      cmd/legacy-mtd-utils.o
      CC      cmd/nand.o
      CC      cmd/net.o
      CC      cmd/part.o
      CC      cmd/pxe.o
      CC      cmd/pxe_utils.o
      CC      cmd/sf.o
      CC      cmd/spi.o
      CC      cmd/sysboot.o
      CC      cmd/time.o
      CC      cmd/test.o
      CC      cmd/usb.o
      CC      cmd/disk.o
      CC      cmd/fastboot.o
      CC      cmd/ximg.o
      CC      cmd/spl.o
      CC      cmd/dfu.o
      CC      cmd/gpt.o
      CC      cmd/nvedit.o
      LD      cmd/built-in.o
      CC      common/init/board_init.o
      LD      common/init/built-in.o
      CC      common/main.o
      CC      common/exports.o
      CC      common/hash.o
      CC      common/cli_hush.o
      CC      common/autoboot.o
      CC      common/board_f.o
      CC      common/board_r.o
      CC      common/board_info.o
      CC      common/bootm.o
      CC      common/bootm_os.o
      CC      common/fdt_support.o
      CC      common/miiphyutil.o
      CC      common/usb.o
      CC      common/usb_hub.o
      CC      common/usb_storage.o
      CC      common/splash.o
      CC      common/menu.o
      CC      common/cli_readline.o
      CC      common/cli_simple.o
      CC      common/console.o
      CC      common/dlmalloc.o
      CC      common/malloc_simple.o
      CC      common/image.o
      CC      common/image-android.o
      CC      common/image-android-dt.o
      CC      common/image-fdt.o
      CC      common/image-fit.o
      CC      common/memsize.o
      CC      common/stdio.o
      CC      common/cli.o
      CC      common/dfu.o
      CC      common/command.o
      CC      common/s_record.o
      CC      common/xyzModem.o
      LD      common/built-in.o
      CC      disk/part.o
      CC      disk/part_dos.o
      CC      disk/part_iso.o
      CC      disk/part_efi.o
      LD      disk/built-in.o
      LD      drivers/adc/built-in.o
      LD      drivers/ata/built-in.o
      LD      drivers/axi/built-in.o
      CC      drivers/block/blk-uclass.o
      CC      drivers/block/blkcache.o
      LD      drivers/block/built-in.o
      CC      drivers/bootcount/bootcount_davinci.o
      LD      drivers/bootcount/built-in.o
      LD      drivers/cache/built-in.o
      LD      drivers/clk/analogbits/built-in.o
      LD      drivers/clk/imx/built-in.o
      LD      drivers/clk/tegra/built-in.o
      CC      drivers/clk/clk-uclass.o
      CC      drivers/clk/clk_fixed_rate.o
      CC      drivers/clk/clk_fixed_factor.o
      CC      drivers/clk/clk-cdce9xx.o
      LD      drivers/clk/built-in.o
      CC      drivers/core/device.o
      CC      drivers/core/fdtaddr.o
      CC      drivers/core/lists.o
      CC      drivers/core/root.o
      CC      drivers/core/uclass.o
      CC      drivers/core/util.o
      CC      drivers/core/device-remove.o
      CC      drivers/core/simple-bus.o
      CC      drivers/core/dump.o
      CC      drivers/core/of_extra.o
      CC      drivers/core/ofnode.o
      CC      drivers/core/read_extra.o
      LD      drivers/core/built-in.o
      CC      drivers/crypto/fsl/sec.o
      LD      drivers/crypto/fsl/built-in.o
      CC      drivers/crypto/rsa_mod_exp/mod_exp_uclass.o
      CC      drivers/crypto/rsa_mod_exp/mod_exp_sw.o
      LD      drivers/crypto/rsa_mod_exp/built-in.o
      LD      drivers/crypto/built-in.o
      CC      drivers/dfu/dfu.o
      CC      drivers/dfu/dfu_mmc.o
      CC      drivers/dfu/dfu_nand.o
      CC      drivers/dfu/dfu_ram.o
      LD      drivers/dfu/built-in.o
      CC      drivers/fastboot/fb_common.o
      CC      drivers/fastboot/fb_getvar.o
      CC      drivers/fastboot/fb_command.o
      LD      drivers/fastboot/built-in.o
      CC      drivers/input/key_matrix.o
      LD      drivers/input/built-in.o
      LD      drivers/mailbox/built-in.o
      LD      drivers/memory/built-in.o
      CC      drivers/misc/misc-uclass.o
      LD      drivers/misc/built-in.o
      CC      drivers/mmc/mmc.o
      CC      drivers/mmc/mmc-uclass.o
      CC      drivers/mmc/mmc_write.o
      CC      drivers/mmc/omap_hsmmc.o
      LD      drivers/mmc/built-in.o
      CC      drivers/mtd/nand/raw/nand.o
      CC      drivers/mtd/nand/raw/nand_bbt.o
      CC      drivers/mtd/nand/raw/nand_ids.o
      CC      drivers/mtd/nand/raw/nand_util.o
      CC      drivers/mtd/nand/raw/nand_ecc.o
      CC      drivers/mtd/nand/raw/nand_base.o
      CC      drivers/mtd/nand/raw/nand_timings.o
      CC      drivers/mtd/nand/raw/omap_gpmc.o
      CC      drivers/mtd/nand/raw/omap_elm.o
      LD      drivers/mtd/nand/raw/built-in.o
      LD      drivers/mtd/nand/built-in.o
      LD      drivers/mtd/onenand/built-in.o
      CC      drivers/mtd/spi/sf-uclass.o
      CC      drivers/mtd/spi/sf_probe.o
      CC      drivers/mtd/spi/spi-nor-ids.o
      CC      drivers/mtd/spi/spi-nor-core.o
      LD      drivers/mtd/spi/spi-nor.o
      LD      drivers/mtd/spi/built-in.o
      CC      drivers/mtd/mtdcore.o
      CC      drivers/mtd/mtd_uboot.o
      LD      drivers/mtd/mtd.o
      LD      drivers/mtd/built-in.o
      LD      drivers/phy/allwinner/built-in.o
      LD      drivers/phy/marvell/built-in.o
      LD      drivers/pwm/built-in.o
      LD      drivers/reset/built-in.o
      CC      drivers/rtc/rtc-lib.o
      LD      drivers/rtc/built-in.o
      LD      drivers/scsi/built-in.o
      LD      drivers/smem/built-in.o
      LD      drivers/soc/built-in.o
      LD      drivers/sound/built-in.o
      LD      drivers/spmi/built-in.o
      LD      drivers/thermal/built-in.o
      CC      drivers/timer/timer-uclass.o
      CC      drivers/timer/omap-timer.o
      LD      drivers/timer/built-in.o
      LD      drivers/ufs/built-in.o
      LD      drivers/video/bridge/built-in.o
      LD      drivers/video/sunxi/built-in.o
      LD      drivers/video/built-in.o
      CC      drivers/watchdog/wdt-uclass.o
      CC      drivers/watchdog/omap_wdt.o
      LD      drivers/watchdog/built-in.o
      LD      drivers/built-in.o
      LD      drivers/dma/ti/built-in.o
      LD      drivers/dma/built-in.o
      CC      drivers/gpio/gpio-uclass.o
      CC      drivers/gpio/omap_gpio.o
      LD      drivers/gpio/built-in.o
      CC      drivers/i2c/i2c-uclass.o
      CC      drivers/i2c/omap24xx_i2c.o
      LD      drivers/i2c/built-in.o
      LD      drivers/net/mscc_eswitch/built-in.o
      CC      drivers/net/ti/cpsw.o
      CC      drivers/net/ti/cpsw-common.o
      CC      drivers/net/ti/cpsw_mdio.o
      LD      drivers/net/ti/built-in.o
      LD      drivers/net/built-in.o
      CC      drivers/net/phy/phy.o
      CC      drivers/net/phy/atheros.o
      CC      drivers/net/phy/smsc.o
      LD      drivers/net/phy/built-in.o
      LD      drivers/power/built-in.o
      LD      drivers/power/battery/built-in.o
      LD      drivers/power/domain/built-in.o
      LD      drivers/power/fuel_gauge/built-in.o
      LD      drivers/power/mfd/built-in.o
      CC      drivers/power/pmic/pmic_tps65217.o
      CC      drivers/power/pmic/pmic_tps65910.o
      LD      drivers/power/pmic/built-in.o
      LD      drivers/power/regulator/built-in.o
      CC      drivers/serial/serial-uclass.o
      CC      drivers/serial/ns16550.o
      CC      drivers/serial/serial_omap.o
      LD      drivers/serial/built-in.o
      CC      drivers/spi/spi-uclass.o
      CC      drivers/spi/spi-mem.o
      CC      drivers/spi/omap3_spi.o
      LD      drivers/spi/built-in.o
      LD      drivers/usb/cdns3/built-in.o
      CC      drivers/usb/common/common.o
      LD      drivers/usb/common/built-in.o
      LD      drivers/usb/dwc3/built-in.o
      LD      drivers/usb/emul/built-in.o
      LD      drivers/usb/eth/built-in.o
      CC      drivers/usb/gadget/epautoconf.o
      CC      drivers/usb/gadget/config.o
      CC      drivers/usb/gadget/usbstring.o
      CC      drivers/usb/gadget/g_dnl.o
      CC      drivers/usb/gadget/f_dfu.o
      CC      drivers/usb/gadget/f_fastboot.o
      CC      drivers/usb/gadget/ether.o
      CC      drivers/usb/gadget/rndis.o
      LD      drivers/usb/gadget/built-in.o
      CC      drivers/usb/gadget/udc/udc-core.o
      CC      drivers/usb/gadget/udc/udc-uclass.o
      LD      drivers/usb/gadget/udc/built-in.o
      CC      drivers/usb/host/usb-uclass.o
      LD      drivers/usb/host/built-in.o
      CC      drivers/usb/musb-new/musb_gadget.o
      CC      drivers/usb/musb-new/musb_gadget_ep0.o
      CC      drivers/usb/musb-new/musb_core.o
      CC      drivers/usb/musb-new/musb_uboot.o
      CC      drivers/usb/musb-new/musb_host.o
      CC      drivers/usb/musb-new/musb_dsps.o
      CC      drivers/usb/musb-new/ti-musb.o
      LD      drivers/usb/musb-new/built-in.o
      LD      drivers/usb/musb/built-in.o
      LD      drivers/usb/phy/built-in.o
      LD      drivers/usb/ulpi/built-in.o
      CC      env/common.o
      CC      env/env.o
      CC      env/attr.o
      CC      env/flags.o
      CC      env/callback.o
      CC      env/fat.o
      LD      env/built-in.o
      CC      fs/ext4/ext4fs.o
      CC      fs/ext4/ext4_common.o
      CC      fs/ext4/dev.o
      CC      fs/ext4/ext4_write.o
      CC      fs/ext4/ext4_journal.o
      CC      fs/ext4/crc16.o
      LD      fs/ext4/built-in.o
      CC      fs/fat/fat_write.o
      LD      fs/fat/built-in.o
      CC      fs/fs.o
      CC      fs/fs_internal.o
      LD      fs/built-in.o
      LD      lib/crypto/built-in.o
      CC      lib/efi_driver/efi_uclass.o
      CC      lib/efi_driver/efi_block_device.o
      LD      lib/efi_driver/built-in.o
      CC      lib/efi_loader/efi_bootmgr.o
      CC      lib/efi_loader/efi_boottime.o
      CC      lib/efi_loader/efi_console.o
      CC      lib/efi_loader/efi_device_path.o
      CC      lib/efi_loader/efi_device_path_to_text.o
      CC      lib/efi_loader/efi_device_path_utilities.o
      CC      lib/efi_loader/efi_file.o
      CC      lib/efi_loader/efi_hii.o
      CC      lib/efi_loader/efi_hii_config.o
      CC      lib/efi_loader/efi_image_loader.o
      CC      lib/efi_loader/efi_memory.o
      CC      lib/efi_loader/efi_root_node.o
      CC      lib/efi_loader/efi_runtime.o
      CC      lib/efi_loader/efi_setup.o
      CC      lib/efi_loader/efi_unicode_collation.o
      CC      lib/efi_loader/efi_variable.o
      CC      lib/efi_loader/efi_watchdog.o
      CC      lib/efi_loader/efi_disk.o
      CC      lib/efi_loader/efi_net.o
      CC      lib/efi_loader/efi_smbios.o
      LD      lib/efi_loader/built-in.o
      CC      lib/efi_loader/helloworld.o
      AS      lib/efi_loader/efi_crt0.o
      CC      lib/efi_loader/efi_reloc.o
      CC      lib/efi_loader/efi_freestanding.o
      LD      lib/efi_loader/helloworld_efi.so
      OBJCOPY lib/efi_loader/helloworld.efi
      CC      lib/libfdt/fdt.o
      CC      lib/libfdt/fdt_wip.o
      CC      lib/libfdt/fdt_strerror.o
      CC      lib/libfdt/fdt_sw.o
      CC      lib/libfdt/fdt_rw.o
      CC      lib/libfdt/fdt_empty_tree.o
      CC      lib/libfdt/fdt_addresses.o
      CC      lib/libfdt/fdt_ro.o
      CC      lib/libfdt/fdt_region.o
      LD      lib/libfdt/built-in.o
      CC      lib/lzo/lzo1x_decompress.o
      LD      lib/lzo/built-in.o
      CC      lib/rsa/rsa-mod-exp.o
      LD      lib/rsa/built-in.o
      CC      lib/zlib/zlib.o
      LD      lib/zlib/built-in.o
      CC      lib/charset.o
      CC      lib/crc7.o
      CC      lib/crc8.o
      CC      lib/crc16.o
      CC      lib/fdtdec_common.o
      CC      lib/smbios.o
      CC      lib/ldiv.o
      CC      lib/md5.o
      CC      lib/net_utils.o
      CC      lib/rc4.o
      CC      lib/list_sort.o
      CC      lib/sha1.o
      CC      lib/sha256.o
      CC      lib/gunzip.o
      CC      lib/fdtdec.o
      CC      lib/qsort.o
      CC      lib/hashtable.o
      CC      lib/errno.o
      CC      lib/display_options.o
      CC      lib/crc32.o
      CC      lib/ctype.o
      CC      lib/div64.o
      CC      lib/hang.o
      CC      lib/linux_compat.o
      CC      lib/linux_string.o
      CC      lib/lmb.o
      CC      lib/membuff.o
      CC      lib/slre.o
      CC      lib/string.o
      CC      lib/tables_csum.o
      CC      lib/time.o
      CC      lib/hexdump.o
      CC      lib/uuid.o
      CC      lib/rand.o
      CC      lib/panic.o
      CC      lib/vsprintf.o
      CC      lib/strto.o
      CC      lib/date.o
      LD      lib/built-in.o
      CC      net/arp.o
      CC      net/bootp.o
      CC      net/eth-uclass.o
      CC      net/eth_common.o
      CC      net/net.o
      CC      net/nfs.o
      CC      net/ping.o
      CC      net/tftp.o
      LD      net/built-in.o
      CC      examples/standalone/hello_world.o
      CC      examples/standalone/stubs.o
      LD      examples/standalone/libstubs.o
      LD      examples/standalone/hello_world
      OBJCOPY examples/standalone/hello_world.srec
      OBJCOPY examples/standalone/hello_world.bin
      LDS     u-boot.lds
      LD      u-boot
      OBJCOPY u-boot-nodtb.bin
      DTC     arch/arm/dts/am335x-baltos.dtb
      DTC     arch/arm/dts/am335x-bone.dtb
      DTC     arch/arm/dts/am335x-boneblack.dtb
      DTC     arch/arm/dts/am335x-brppt1-mmc.dtb
      DTC     arch/arm/dts/am335x-brppt1-nand.dtb
      DTC     arch/arm/dts/am335x-brppt1-spi.dtb
      DTC     arch/arm/dts/am335x-brxre1.dtb
      DTC     arch/arm/dts/am335x-brsmarc1.dtb
      DTC     arch/arm/dts/am335x-draco.dtb
      DTC     arch/arm/dts/am335x-evm.dtb
      DTC     arch/arm/dts/am335x-evmsk.dtb
      DTC     arch/arm/dts/am335x-bonegreen.dtb
      DTC     arch/arm/dts/am335x-icev2.dtb
      DTC     arch/arm/dts/am335x-pocketbeagle.dtb
      DTC     arch/arm/dts/am335x-pxm50.dtb
      DTC     arch/arm/dts/am335x-rut.dtb
      DTC     arch/arm/dts/am335x-shc.dtb
      DTC     arch/arm/dts/am335x-pdu001.dtb
      DTC     arch/arm/dts/am335x-chiliboard.dtb
      DTC     arch/arm/dts/am335x-sl50.dtb
      DTC     arch/arm/dts/am335x-base0033.dtb
      DTC     arch/arm/dts/am335x-guardian.dtb
      DTC     arch/arm/dts/am335x-wega-rdk.dtb
      SHIPPED dts/dt.dtb
      FDTGREP dts/dt-spl.dtb
      MKIMAGE u-boot.img
      OBJCOPY u-boot.srec
      CAT     u-boot-dtb.bin
      COPY    u-boot.bin
      SYM     u-boot.sym
      CC      spl/arch/arm/mach-omap2/am33xx/clock_am33xx.o
      CC      spl/arch/arm/mach-omap2/am33xx/clock.o
      CC      spl/arch/arm/mach-omap2/am33xx/sys_info.o
      CC      spl/arch/arm/mach-omap2/am33xx/ddr.o
      CC      spl/arch/arm/mach-omap2/am33xx/emif4.o
      CC      spl/arch/arm/mach-omap2/am33xx/board.o
      CC      spl/arch/arm/mach-omap2/am33xx/mux.o
      CC      spl/arch/arm/mach-omap2/am33xx/prcm-regs.o
      CC      spl/arch/arm/mach-omap2/am33xx/hw_data.o
      CC      spl/arch/arm/mach-omap2/am33xx/fdt.o
      CC      spl/arch/arm/mach-omap2/am33xx/clk_synthesizer.o
      LD      spl/arch/arm/mach-omap2/am33xx/built-in.o
      CC      spl/arch/arm/mach-omap2/reset.o
      CC      spl/arch/arm/mach-omap2/timer.o
      CC      spl/arch/arm/mach-omap2/utils.o
      CC      spl/arch/arm/mach-omap2/sysinfo-common.o
      CC      spl/arch/arm/mach-omap2/omap-cache.o
      CC      spl/arch/arm/mach-omap2/boot-common.o
      AS      spl/arch/arm/mach-omap2/lowlevel_init.o
      CC      spl/arch/arm/mach-omap2/mem-common.o
      CC      spl/arch/arm/mach-omap2/fdt-common.o
      LD      spl/arch/arm/mach-omap2/built-in.o
      CC      spl/arch/arm/cpu/armv7/cache_v7.o
      AS      spl/arch/arm/cpu/armv7/cache_v7_asm.o
      CC      spl/arch/arm/cpu/armv7/cpu.o
      CC      spl/arch/arm/cpu/armv7/cp15.o
      CC      spl/arch/arm/cpu/armv7/syslib.o
      AS      spl/arch/arm/cpu/armv7/lowlevel_init.o
      LD      spl/arch/arm/cpu/armv7/built-in.o
      AS      spl/arch/arm/cpu/armv7/start.o
      LD      spl/arch/arm/cpu/built-in.o
      AS      spl/arch/arm/lib/vectors.o
      AS      spl/arch/arm/lib/crt0.o
      AS      spl/arch/arm/lib/setjmp.o
      CC      spl/arch/arm/lib/spl.o
      CC      spl/arch/arm/lib/zimage.o
      CC      spl/arch/arm/lib/bootm-fdt.o
      AS      spl/arch/arm/lib/memset.o
      AS      spl/arch/arm/lib/memcpy.o
      CC      spl/arch/arm/lib/sections.o
      CC      spl/arch/arm/lib/stack.o
      CC      spl/arch/arm/lib/interrupts.o
      CC      spl/arch/arm/lib/reset.o
      CC      spl/arch/arm/lib/cache.o
      CC      spl/arch/arm/lib/cache-cp15.o
      CC      spl/arch/arm/lib/psci-dt.o
      LD      spl/arch/arm/lib/built-in.o
      AS      spl/arch/arm/lib/ashldi3.o
      AS      spl/arch/arm/lib/ashrdi3.o
      CC      spl/arch/arm/lib/div0.o
      AS      spl/arch/arm/lib/div64.o
      AS      spl/arch/arm/lib/lib1funcs.o
      AS      spl/arch/arm/lib/lshrdi3.o
      AS      spl/arch/arm/lib/muldi3.o
      AS      spl/arch/arm/lib/uldivmod.o
      AR      spl/arch/arm/lib/lib.a
      CC      spl/arch/arm/lib/eabi_compat.o
      AS      spl/arch/arm/lib/crt0_arm_efi.o
      CC      spl/arch/arm/lib/reloc_arm_efi.o
      CC      spl/board/ti/am335x/mux.o
      CC      spl/board/ti/am335x/board.o
      LD      spl/board/ti/am335x/built-in.o
      CC      spl/board/ti/common/board_detect.o
      LD      spl/board/ti/common/built-in.o
      CC      spl/common/spl/spl.o
      CC      spl/common/spl/spl_fit.o
      CC      spl/common/spl/spl_ymodem.o
      CC      spl/common/spl/spl_nand.o
      CC      spl/common/spl/spl_net.o
      CC      spl/common/spl/spl_mmc.o
      CC      spl/common/spl/spl_fat.o
      LD      spl/common/spl/built-in.o
      CC      spl/common/init/board_init.o
      LD      spl/common/init/built-in.o
      CC      spl/common/xyzModem.o
      CC      spl/common/common_fit.o
      CC      spl/common/miiphyutil.o
      CC      spl/common/fdt_support.o
      CC      spl/common/usb.o
      CC      spl/common/console.o
      CC      spl/common/dlmalloc.o
      CC      spl/common/malloc_simple.o
      CC      spl/common/image.o
      CC      spl/common/image-android.o
      CC      spl/common/image-android-dt.o
      CC      spl/common/image-fdt.o
      CC      spl/common/image-fit.o
      CC      spl/common/memsize.o
      CC      spl/common/stdio.o
      CC      spl/common/cli.o
      CC      spl/common/dfu.o
      CC      spl/common/command.o
      CC      spl/common/s_record.o
      LD      spl/common/built-in.o
      LD      spl/cmd/ti/built-in.o
      CC      spl/cmd/nvedit.o
      LD      spl/cmd/built-in.o
      CC      spl/env/common.o
      CC      spl/env/env.o
      CC      spl/env/attr.o
      CC      spl/env/flags.o
      CC      spl/env/callback.o
      CC      spl/env/nowhere.o
      LD      spl/env/built-in.o
      CC      spl/lib/libfdt/fdt.o
      CC      spl/lib/libfdt/fdt_wip.o
      CC      spl/lib/libfdt/fdt_strerror.o
      CC      spl/lib/libfdt/fdt_sw.o
      CC      spl/lib/libfdt/fdt_rw.o
      CC      spl/lib/libfdt/fdt_empty_tree.o
      CC      spl/lib/libfdt/fdt_addresses.o
      CC      spl/lib/libfdt/fdt_ro.o
      CC      spl/lib/libfdt/fdt_region.o
      LD      spl/lib/libfdt/built-in.o
      CC      spl/lib/sha1.o
      CC      spl/lib/sha256.o
      CC      spl/lib/crc16.o
      CC      spl/lib/net_utils.o
      CC      spl/lib/qsort.o
      CC      spl/lib/hashtable.o
      CC      spl/lib/errno.o
      CC      spl/lib/display_options.o
      CC      spl/lib/crc32.o
      CC      spl/lib/ctype.o
      CC      spl/lib/div64.o
      CC      spl/lib/fdtdec.o
      CC      spl/lib/fdtdec_common.o
      CC      spl/lib/hang.o
      CC      spl/lib/linux_compat.o
      CC      spl/lib/linux_string.o
      CC      spl/lib/lmb.o
      CC      spl/lib/membuff.o
      CC      spl/lib/slre.o
      CC      spl/lib/string.o
      CC      spl/lib/tables_csum.o
      CC      spl/lib/time.o
      CC      spl/lib/hexdump.o
      CC      spl/lib/uuid.o
      CC      spl/lib/rand.o
      CC      spl/lib/panic.o
      CC      spl/lib/tiny-printf.o
      CC      spl/lib/strto.o
      CC      spl/lib/date.o
      LD      spl/lib/built-in.o
      CC      spl/disk/part.o
      CC      spl/disk/part_dos.o
      LD      spl/disk/built-in.o
      CC      spl/drivers/block/blk-uclass.o
      LD      spl/drivers/block/built-in.o
      CC      spl/drivers/core/device.o
      CC      spl/drivers/core/fdtaddr.o
      CC      spl/drivers/core/lists.o
      CC      spl/drivers/core/root.o
      CC      spl/drivers/core/uclass.o
      CC      spl/drivers/core/util.o
      CC      spl/drivers/core/dump.o
      CC      spl/drivers/core/of_extra.o
      CC      spl/drivers/core/ofnode.o
      CC      spl/drivers/core/read_extra.o
      LD      spl/drivers/core/built-in.o
      CC      spl/drivers/gpio/gpio-uclass.o
      CC      spl/drivers/gpio/omap_gpio.o
      LD      spl/drivers/gpio/built-in.o
      CC      spl/drivers/i2c/i2c-uclass.o
      CC      spl/drivers/i2c/omap24xx_i2c.o
      LD      spl/drivers/i2c/built-in.o
      CC      spl/drivers/mmc/mmc.o
      CC      spl/drivers/mmc/mmc-uclass.o
      CC      spl/drivers/mmc/omap_hsmmc.o
      LD      spl/drivers/mmc/built-in.o
      CC      spl/drivers/mtd/nand/raw/am335x_spl_bch.o
      CC      spl/drivers/mtd/nand/raw/nand_ecc.o
      CC      spl/drivers/mtd/nand/raw/nand_base.o
      CC      spl/drivers/mtd/nand/raw/omap_gpmc.o
      CC      spl/drivers/mtd/nand/raw/omap_elm.o
      LD      spl/drivers/mtd/nand/raw/built-in.o
      LD      spl/drivers/mtd/nand/built-in.o
      CC      spl/drivers/mtd/mtdcore.o
      CC      spl/drivers/mtd/mtd_uboot.o
      LD      spl/drivers/mtd/mtd.o
      LD      spl/drivers/mtd/built-in.o
      LD      spl/drivers/net/mscc_eswitch/built-in.o
      CC      spl/drivers/net/ti/cpsw.o
      CC      spl/drivers/net/ti/cpsw-common.o
      CC      spl/drivers/net/ti/cpsw_mdio.o
      LD      spl/drivers/net/ti/built-in.o
      LD      spl/drivers/net/built-in.o
      CC      spl/drivers/net/phy/phy.o
      CC      spl/drivers/net/phy/atheros.o
      CC      spl/drivers/net/phy/smsc.o
      LD      spl/drivers/net/phy/built-in.o
      LD      spl/drivers/power/built-in.o
      CC      spl/drivers/power/pmic/pmic_tps65217.o
      CC      spl/drivers/power/pmic/pmic_tps65910.o
      LD      spl/drivers/power/pmic/built-in.o
      LD      spl/drivers/power/regulator/built-in.o
      CC      spl/drivers/serial/serial-uclass.o
      CC      spl/drivers/serial/ns16550.o
      CC      spl/drivers/serial/serial_omap.o
      LD      spl/drivers/serial/built-in.o
      CC      spl/drivers/usb/common/common.o
      LD      spl/drivers/usb/common/built-in.o
      CC      spl/drivers/usb/gadget/epautoconf.o
      CC      spl/drivers/usb/gadget/config.o
      CC      spl/drivers/usb/gadget/usbstring.o
      CC      spl/drivers/usb/gadget/g_dnl.o
      CC      spl/drivers/usb/gadget/ether.o
      CC      spl/drivers/usb/gadget/rndis.o
      LD      spl/drivers/usb/gadget/built-in.o
      CC      spl/drivers/usb/gadget/udc/udc-core.o
      CC      spl/drivers/usb/gadget/udc/udc-uclass.o
      LD      spl/drivers/usb/gadget/udc/built-in.o
      CC      spl/drivers/usb/musb-new/musb_gadget.o
      CC      spl/drivers/usb/musb-new/musb_gadget_ep0.o
      CC      spl/drivers/usb/musb-new/musb_core.o
      CC      spl/drivers/usb/musb-new/musb_uboot.o
      CC      spl/drivers/usb/musb-new/musb_host.o
      CC      spl/drivers/usb/musb-new/musb_dsps.o
      CC      spl/drivers/usb/musb-new/ti-musb.o
      LD      spl/drivers/usb/musb-new/built-in.o
      CC      spl/drivers/watchdog/wdt-uclass.o
      CC      spl/drivers/watchdog/omap_wdt.o
      LD      spl/drivers/watchdog/built-in.o
      LD      spl/drivers/built-in.o
      LD      spl/drivers/usb/dwc3/built-in.o
      LD      spl/drivers/usb/cdns3/built-in.o
      LD      spl/dts/built-in.o
      CC      spl/fs/fat/fat.o
      LD      spl/fs/fat/built-in.o
      CC      spl/fs/fs_internal.o
      LD      spl/fs/built-in.o
      CC      spl/net/arp.o
      CC      spl/net/bootp.o
      CC      spl/net/eth-uclass.o
      CC      spl/net/eth_common.o
      CC      spl/net/net.o
      CC      spl/net/nfs.o
      CC      spl/net/ping.o
      CC      spl/net/tftp.o
      LD      spl/net/built-in.o
      LDS     spl/u-boot-spl.lds
      LD      spl/u-boot-spl
    arch/arm/mach-omap2/built-in.o: In function `spl_board_init':
    /home/workpc/uboot/code/u-boot-2020.04-rc2/build-am335x_evm/../arch/arm/mach-omap2/boot-common.c:211: undefined reference to `hw_watchdog_init'
    ../scripts/Makefile.spl:419: recipe for target 'spl/u-boot-spl' failed
    make[2]: *** [spl/u-boot-spl] Error 1
    /home/workpc/uboot/code/u-boot-2020.04-rc2/Makefile:1861: recipe for target 'spl/u-boot-spl' failed
    make[1]: *** [spl/u-boot-spl] Error 2
    make[1]: Leaving directory '/home/workpc/uboot/code/u-boot-2020.04-rc2/build-am335x_evm'
    Makefile:167: recipe for target 'sub-make' failed
    make: *** [sub-make] Error 2
    

  • Part Number: BEAGLEBK

    Hello,

    U-Boot Version:2020.04-rc2

    Target Board:Beaglebone Black RevC

    In the u-boot code for Beaglebone Black ,could you please elaborate on the menu-config option "Disable reset Watchdog" at

    ---------------------------------------------------------

    Device Drivers> Watchdog Timer Support

    ----------------------------------------------------------

    From the help given with this option,

    " Disable reset watchdog, which can let WATCHDOG_RESET invalid, so that the watchdog will not be fed in u-boot."

    I could not understand its purpose.

    Was also trying to see if the other option "Enable U-boot Watchdog reset"  along the same menuconfig path ,has anything to do with this?

    Regards,

    Adarsh

  • Adarsh,

    I just tried the current upstream U-Boot and can confirm watchdog functionality already works in SPL with no further doing required on your end. When I update the code as follows...

    diff --git a/common/spl/spl.c b/common/spl/spl.c
    index 932e6ab98a..b82de9c14c 100644
    --- a/common/spl/spl.c
    +++ b/common/spl/spl.c
    @@ -675,6 +675,11 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
     
            bootcount_inc();
     
    +       printf("%s: Entering forever loop to allow WDT to trigger in SPL...\n",
    +              __func__);
    +       volatile int halt_flag = 1;
    +       while (halt_flag);
    +
            memset(&spl_image, '\0', sizeof(spl_image));
     #ifdef CONFIG_SYS_SPL_ARGS_ADDR
            spl_image.arg = (void *)CONFIG_SYS_SPL_ARGS_ADDR;
    

    ...and build using the am335x_evm_defconfig and then boot/run U-Boot on a BeagleBone Black without any further changes I get this result of the device resetting itself every minute...

    U-Boot SPL 2020.04-rc3-00173-g8f8c4de09c (Mar 26 2020 - 12:12:49 -0500)
    board_init_r: Entering forever loop to allow WDT to trigger in SPL...
    
    U-Boot SPL 2020.04-rc3-00173-g8f8c4de09c (Mar 26 2020 - 12:12:49 -0500)
    board_init_r: Entering forever loop to allow WDT to trigger in SPL...
    
    U-Boot SPL 2020.04-rc3-00173-g8f8c4de09c (Mar 26 2020 - 12:12:49 -0500)
    board_init_r: Entering forever loop to allow WDT to trigger in SPL...
    
    U-Boot SPL 2020.04-rc3-00173-g8f8c4de09c (Mar 26 2020 - 12:12:49 -0500)
    board_init_r: Entering forever loop to allow WDT to trigger in SPL...
    
    U-Boot SPL 2020.04-rc3-00173-g8f8c4de09c (Mar 26 2020 - 12:12:49 -0500)
    board_init_r: Entering forever loop to allow WDT to trigger in SPL...
    
    U-Boot SPL 2020.04-rc3-00173-g8f8c4de09c (Mar 26 2020 - 12:12:49 -0500)
    board_init_r: Entering forever loop to allow WDT to trigger in SPL...

    There are some particularities about the current state of upstream U-Boot that you should be aware of however:

    • In general various U-Boot drivers are being migrated to "Driver Model" (DM), which usually implies that device tree (DTS) is used for configuration/setup purposes
    • The SPL build based on the am335x_evm_defconfig currently does not use DTS for space reasons (to keep SPL small and to be able to support many board variants/features), however there are some non-TI AM335x defconfigs that do
    • Hence CONFIG_SPL_WDT (DM-based Watchog support in SPL) is currently not applicable to am335x_evm_defconfig-based builds
    • am335x_evm_defconfig-based builds instead use non-DM watchdog code for SPL, and use DM/DT based watchdog code only for U-Boot (proper)
    • If you look at the driver code located at drivers/watchdog/omap_wdt.c you see that there is essentially two sets of functions in there, whether CONFIG_WDT/CONFIG_SPL_WDT is enabled or not

    See if you can re-create what I demonstrated and let me know in case there are any further concerns with this functionality.

    Regards, Andreas