[U-Boot] Watchdog DM - ENOMEM error identified - need suggestions

Suniel Mahesh sunil.m at techveda.org
Fri Jun 28 14:24:12 UTC 2019


I converted watchdog driver(omap3_wdt) on TI AM33XX platform to Driver Model.

I am getting the following error when tested on BeagleBone Black:

U-Boot 2019.07-rc4-00179-g77f6e2d-dirty (Jun 27 2019 - 15:11:15 +0530)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  512 MiB
WDT:   Started with servicing (60s timeout)
Error binding driver 'omap_timer': -12
(repeats ....)

The error happens when the code is at initr_watchdog() (common/board_r.c) during initialization.

Sequence is:
initr_dm => initr_watchdog => board_init => set_cpu_clk_info => efi_memory_init => stdio_init_tables => initr_serial

After few tests, found out that when initr_watchdog() is moved ahead and placed after 
initr_serial(), the error disappears and the board responds.

New sequence is:
initr_dm => board_init => set_cpu_clk_info => efi_memory_init => stdio_init_tables => initr_serial => initr_watchdog 

Couldn't find an explanation for such behaviour ?

Is it ok to move initr_watchdog() ahead and after initr_serial() in board_r.c ?

pointers please.

The watchdog DM driver has successfully got binded (checked the debug log).

Suniel Mahesh
Embedded Linux, Kernel & U-Boot engineer
Hyderabad, India

More information about the U-Boot mailing list