[U-Boot] Watchdog DM conversion, sram overflow(SPL)

Suniel Mahesh sunil.m at techveda.org
Wed Jun 26 09:53:06 UTC 2019


Hi,

I am trying to convert watchdog driver(omap3_wdt) on TI AM33XX platform to Driver Model.
Since DM is also enabled in SPL, size of SPL image generated(with watchdog DM enabled) is 
bigger compared to the SRAM size(.u_boot_list section doesn't fit in the region alloted)
and build is failing with the following error:

  LD      spl/drivers/usb/gadget/built-in.o
  LD      spl/drivers/usb/musb-new/built-in.o
  LD      spl/drivers/built-in.o
  LD      spl/u-boot-spl
arm-linux-ld.bfd: u-boot-spl section `.u_boot_list' will not fit in region `.sram'
arm-linux-ld.bfd: region `.sram' overflowed by 48 bytes
make[1]: *** [spl/u-boot-spl] Error 1
make: *** [spl/u-boot-spl] Error 2

The SRAM size in the device is 130047 bytes, of which 110592 bytes are allocated for SPL
Image, 6144 bytes for stack and the rest 12799 bytes for RAM Exec vectors, tracing data 
and static variables.

Maximum SPL image size is fixed at 110592 bytes

SPL size without Watchdog driver model is 110880 bytes.

So, the reason for such error is straight forward.

I can think of two possible approaches (might be wrong):

1. either disable DM in SPL for watchdog ?
(dm: mmc: Allow disabling driver model in SPL - by Simon Glass)
 
2. The stack allocated for SPL in SRAM is 6KB and 12799 bytes for  RAM Exec vectors, 
tracing data and static variables. can we do something here, by borrowing some bytes ?

Or any possible solutions ?

Regards
-- 
Suniel Mahesh


More information about the U-Boot mailing list