
On 6/26/19 2:51 PM, Suniel Mahesh wrote:
On 26/06/19 16:49, Marek Vasut wrote:
On 6/26/19 12:54 PM, Jagan Teki wrote:
On Wed, Jun 26, 2019 at 4:07 PM Stefan Roese sr@denx.de wrote:
On 26.06.19 11:53, Suniel Mahesh wrote:
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):
- either disable DM in SPL for watchdog ?
(dm: mmc: Allow disabling driver model in SPL - by Simon Glass)
- 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 ?
You could also disable the watchdog in SPL and only enable it later in U-Boot proper.
May be his requirement is to reset the watchdog if SPL hang or something.
Non-DM WDT support can do that just fine.
My question was that can we do a Non-DM WDT in SPL, which was my first item above.
I will try for a Non-DM WDT in SPL.
Yes, non-DM in SPL is OK.