[U-Boot] SteppingStone

Albert ARIBAUD albert.aribaud at free.fr
Wed Jan 26 08:23:51 CET 2011


Le 26/01/2011 04:39, Cunsuo Guo a écrit :
> 2011/1/26 Matt Johnson<mj1856 at hotmail.com>
>
>> Hello.
>>
>> I have a custom board with a Samsung s3c2410 (arm920t) processor.  I have
>> been unable to get the main branch of u-boot to work with this board.
>> However, I have been successful with the old OpenMoko fork.  (I believe it
>> is because of the "SteppingStone" microcode. See
>> http://wiki.openmoko.org/wiki/S3C2410_Steppingstone if you're unfamiliar.)
>
>
>> I'd prefer to use the main branch, because the OpenMoko fork is old and
>> unmaintained.  The OpenMoko project abandoned u-boot some time ago, in
>> favor
>> of their "Qi" bootloader.
>>
>> Has anyone looked at merging the SteppingStone code back in to the main
>> branch?  Is there some other workaround that is unclear to me?
>>
>> Are there other bootloaders that support SteppingStone that I could try?
>> I'm looking for something as full-featured as u-boot, but actively
>> maintained. The only other that I've found is Vivi - which is super
>> ancient.
>> Any advice is appreciated.
>
>
>> Thanks,
>> Matt
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot
>>
>
>
> Steppingstone is just a 4KBytes buffer which works together with some kinda
> HW mechanism to copy the first 4KBytes of NAND to it. IMH, you can just
> treat it as a feature provided by S3C2410 to support NAND boot. If you have
> NOR flash in th board, you can simply boot from NOR flash and ignore this
> feature.
> I'm not sure whether there is some patches to support this feature or not,
> if not, may be you could provide one. The following is my advice to
> implement NAND boot for S3C2410:
> 1. write your NAND device driver, simply read operation is OK;
> 2. in the relocation part in  Start.S, read code from NAND to RAM use your
> NAND device driver, and make sure the relocation part is in the very
> beginning 4KBytes range of NAND (by Loader script). In this way, the
> first 4KBytes in NAND will be read into Steppingstone buffer and executed,
> after execution of relocation code, your bootloader code will be read into
> RAM, and then the code can be executed in RAM, the full bootup procedure is
> over.

Why try to read from NAND to RAM in the relocation part of start.S, 
where you would not be able to use C or BSS variables?

I thought the whole idea of the NAND SPL was to allow writing the 
NAND-to-RAM bootloader as a standalone "kind-of-U-boot", in C, with all 
the bells and whistles (that can fit in the NAND boot sector).

Do I miss something?

If not, then my opinion is that Matt should look into the NAND SPL code 
and fit it to initialize and use the stepping stone for initial SPL 
loading if he feels this is worth it.

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list