[U-Boot] [PATCH V2 3/4] ARM: AM33xx: Move s_init to a common place

Mark Jackson
2013-08-23T10:55:15Z

On 23/08/13 11:25, Lokesh Vutla wrote:
> Hi Mark,
>
> On Friday 23 August 2013 02:58 PM, Mark Jackson wrote:
>> On 30/07/13 06:18, Lokesh Vutla wrote:
>>> From: Heiko Schocher <hs@denx.de>
>>>
>>> s_init has the same outline for all the AM33xx based
>>> board. So making it generic.
>>> This also helps in addition of new Soc with minimal changes.
>>>
>>> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
>>> Signed-off-by: Heiko Schocher <hs@denx.de>
>>> Signed-off-by: Tom Rini <trini@ti.com>
>>

<snip>

>> But this fails to boot. However, if I use the old ASM code:-
>>
>> void enable_norboot_pin_mux(void)
>> {
>> asm("stmfd sp!, {r2 - r4}");
>> asm("movw r4, #0x8A4");
>> asm("movw r3, #0x44E1");
>> asm("orr r4, r4, r3, lsl #16");
>> asm("mov r2, #9");
>> asm("mov r3, #8");
>> asm("gpmc_mux: str r2, [r4], #4");
>> asm("subs r3, r3, #1");
>> asm("bne gpmc_mux");
>> asm("ldmfd sp!, {r2 - r4}");
>> }
> This code writes 0x9 into 8 continuous registers starting from
> 0x44e108a4, this is what done in module_pin_mux norboot_pin_mux
> except that it has 9 registers(i guess 9th register was added by mistake..:( )
> Correct me if I am wrong.

Not sure about the code, but it was introduced here:-

http://git.denx.de/?p=u-boot/u-boot-ti.git;a=commit;h=c5c7a7c32d552592ac49749e5c184c89bd50c098

> So you are telling this is wrong but boots properly ?

Basically ... yes !!