[U-Boot] [linux-sunxi] Re: A23 u-boot with SPL / dram init available in my personal git repo

Ricky Xian szricky at gmail.com
Mon Dec 15 15:59:53 CET 2014


Thanks Siarhei ~! 

I think it's what Hans's working on, I want to know the debugging 
instructions of this branch so that I can try with my board.

the uart is combined with sd card, so I can't boot from  sd card.



On Monday, December 15, 2014 5:28:46 PM UTC+8, Siarhei Siamashka wrote:
>
> On Sun, 14 Dec 2014 22:01:29 -0800 (PST) 
> Ricky Xian <szr... at gmail.com <javascript:>> wrote: 
>
> > Hi, 
> > 
> > I'm trying to boot from usb fel mode on A23. I have rebuilt your 
> sunxi-wip 
> > branch, and try to run on my A23 (q88?) board, but it's failed in fel 
> mode 
> > in executing. 
> > 
> > I think the u-boot-spl.bin can be used as A20, this's the website I 
> refer 
> > to: 
> > 
> http://docs.cubieboard.org/tutorials/cb2/development/booting_from_usb_in_fel_mode 
> > 
> > my testing instructions are: 
> > 
> > fel write address  u-boot-spl.bin 
> > fel exec address 
> > 
> > the address for A20 is 0x2000, so that the DRAM will be initialized. but 
> > it's incorrect for A23 if the size reach 0x4000. 
> > 
> > can you please let me know how to use fel and your u-boot-spl.bin? 
>
> The size 0x4000 is just too large for the SPL binary. You can have a 
> look at the SRAM memory map that is used in the FEL mode here: 
>     
> https://github.com/hno/Allwinner-Info/blob/master/FEL-usb/USB-protocol.txt 
>
> Basically, there are two areas. One starts at 0x2000 and ends somewhere 
> around 0x5D00 (may be slightly different for different SoC variants). 
> The stack pointer is set right at the end of this area by the BROM 
> code before passing control to SPL. So in practice it means that SPL 
> code, data and stack must all fit there in just ~15K. 
>
> Another free area is around 0x8000-0xbfff, at least on A10/A13/A20. 
>
> The rest of SRAM is used by the BROM code for implementing FEL USB 
> protocol and we should not touch it. 
>
> In order to provide more room for SPL in the FEL mode, the following 
> things can be done: 
> 1) Compile the FEL SPL in Thumb2 mode instead of ARM mode, that's going 
> to save around 30% of code size (depending on the compiler version). 
> 2) Take the extra 0x8000-0xbfff area into use. 
>
> I had a patch for this earlier (it is currently self-NAKED): 
>     http://lists.denx.de/pipermail/u-boot/2014-July/183985.html 
>
> Switching to Thumb2 should be perfectly safe. But before using the 
> 0x8000-0xbfff area, we need to confirm that it is really free to 
> use on every Allwinner SoC variant and does not clash with the 
> data structures used by the FEL BROM code. The FEL SRAM memory map 
> details can be probably clarified by the Allwinner representatives. 
>
> I was kind of reluctant to settle with the Thumb2 part alone until 
> the sunxi custodians acknowledge that the SPL code size is actually 
> a real practical problem. For example, this is important for making 
> other decisions and having some progress with 
>     http://lists.denx.de/pipermail/u-boot/2014-August/185722.html     
>
> To sum it up. Just try to reduce the SPL size. Maybe try a different 
> gcc version to compile it. Maybe try to apply the Thumb2 tweak. 
>
> -- 
> Best regards, 
> Siarhei Siamashka 
>


More information about the U-Boot mailing list