[U-Boot] at91: smartweb board fails with current HEAD

Heiko Schocher
2017-06-21T04:26:09Z

Hello Wenyou,

Am 21.06.2017 um 02:52 schrieb Wenyou.Yang at microchip.com:
>
>
>> -----Original Message-----
>> From: Heiko Schocher [mailto:hs at denx.de]
>> Sent: 2017年6月20日 22:05
>> To: Wenyou Yang - A41535 <Wenyou.Yang@microchip.com>
>> Cc: u-boot at lists.denx.de; Andreas Bießmann <biessmann@corscience.de>
>> Subject: at91: smartweb board fails with current HEAD
>>
>> Hello Wenyou,
>>
>> since your patch:
>>
>> commit f8b7fff1d5c5297d290acab1e398bd410b0c2e68
>> Author: Wenyou Yang <wenyou.yang@atmel.com>
>> Date: Fri Apr 14 15:01:28 2017 +0800
>>
>> serial: atmel_usart: Add clk support
>>
>> smartweb board fails booting (and I fear at last all other at91 based siemens
>> boards also). Reverting your patch and U-Boot boots fine again.
>>
>> First problem is, that I need now a bigger MALLOC_F_LEN space, but the value is
>> for SPL and U-Boot ... but in SPL I cannot increase this value, as I have only 4k
>> init ram.
>>
>> So I need to configure a lower value in SPL as in U-Boot ... this is not possible at
>> the moment... or?
>
> After supporting the driver model and device tree, the size of SPL is beyond 4K.
> SPL is not suitable in 4K internal SRAM

Hmm... no?

I have running a SPL (without DM/DTS support of course) from current mainline
source on the board.
Only problem is, that we need different MALLOC_F_LEN space in SPL and U-Boot
now!

added Simon Glass and Tom Rini, may I oversee some obvious config and/or
they have an idea?

>> Second problem: init of the uart seems to go now wrong, I have to add this patch:
>>
>> pollux:u-boot-at91sam9g45 hs [master] $ git diff diff --git
>> a/arch/arm/dts/at91sam9260-smartweb.dts b/arch/arm/dts/at91sam9260-
>> smartweb.dts
>> index faed763..e59781b 100644
>> --- a/arch/arm/dts/at91sam9260-smartweb.dts
>> +++ b/arch/arm/dts/at91sam9260-smartweb.dts
>> @@ -18,6 +18,7 @@
>> compatible = "atmel,at91sam9260", "atmel,at91sam9";
>>
>> chosen {
>> + u-boot,dm-pre-reloc;
>> stdout-path = &dbgu;
>> };
>>
>> @@ -48,6 +49,7 @@
>> };
>>
>> dbgu: serial at fffff200 {
>> + u-boot,dm-pre-reloc;
>> status = "okay";
>> };
>>
>> diff --git a/configs/smartweb_defconfig b/configs/smartweb_defconfig index
>> 48c8781..a769fc5 100644
>> --- a/configs/smartweb_defconfig
>> +++ b/configs/smartweb_defconfig
>> @@ -7,6 +7,7 @@ CONFIG_TARGET_SMARTWEB=y
>> CONFIG_SPL_GPIO_SUPPORT=y
>> CONFIG_SPL_LIBCOMMON_SUPPORT=y
>> CONFIG_SPL_LIBGENERIC_SUPPORT=y
>> +CONFIG_SYS_MALLOC_F_LEN=0x2000
>> CONFIG_SPL_NAND_SUPPORT=y
>> CONFIG_DEFAULT_DEVICE_TREE="at91sam9260-smartweb"
>> CONFIG_FIT=y
>> @@ -33,6 +34,8 @@ CONFIG_CMD_FAT=y
>> # CONFIG_DOS_PARTITION is not set
>> CONFIG_OF_CONTROL=y
>> CONFIG_OF_EMBED=y
>> +CONFIG_CLK=y
>> +CONFIG_CLK_AT91=y
>> CONFIG_DFU_NAND=y
>> # CONFIG_MMC is not set
>> CONFIG_USB=y
>>
>> May the other (none atmel) at91 based boards needs similiar fixes?
>
> Yes, needs similar fixes.

:-(

So your patch broke all none atmel at91 boards?

Just trying on the at91 based corvus board, same problem, but the
same fixes did not yet help ... need more debug time here ...
The taurus board is currently down, after fixing the smartweb and corvus
boards, I hope to get it running again, but I think, same problem.

BTW: This is again a good example how important it is to use automated
tests, may with tbot [1] I only detected this, because I have running
automated weekly U-Boot mainline tests. I think we have a lot of (not
only at91) dead/untested boards in code ...

bye,
Heiko
[1] https://github.com/hsdenx/tbot