[U-Boot] [PATCH V3 05/11] ARM: OMAP: Change set_pl310_ctrl_reg to be generic

Nishanth Menon
2015-03-03T17:12:33Z

On 03/03/2015 11:08 AM, Tom Rini wrote:
> On Wed, Feb 25, 2015 at 02:55:13PM -0600, Nishanth Menon wrote:
>
>> set_pl310_ctrl_reg does use the Secure Monitor Call (SMC) to setup
>> PL310 control register, however, that is something that is generic
>> enough to be used for OMAP5 generation of processors as well. The
>> only difference being the service being invoked for the function.
>>
>> So, convert the service to a macro and use a generic name (same as
>> that used in Linux for some consistency). While at that, also add
>> a data barrier which is necessary as per recommendation.
>>
>> Signed-off-by: Nishanth Menon <nm@ti.com>
>> ---
>> arch/arm/cpu/armv7/omap-common/lowlevel_init.S | 13 ++++++++-----
>> arch/arm/cpu/armv7/omap4/hwinit.c | 4 ++--
>> arch/arm/include/asm/arch-omap4/sys_proto.h | 5 ++++-
>> 3 files changed, 14 insertions(+), 8 deletions(-)
>>
>> diff --git a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
>> index 86c0e4217478..9b24369e4dc1 100644
>> --- a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
>> +++ b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
>> @@ -22,11 +22,14 @@ ENTRY(save_boot_params)
>> bx lr
>> ENDPROC(save_boot_params)
>>
>> -ENTRY(set_pl310_ctrl_reg)
>> - PUSH {r4-r11, lr} @ save registers - ROM code may pollute
>> +ENTRY(omap_smc1)
>> + PUSH {r4-r12, lr} @ save registers - ROM code may pollute
>> @ our registers
>> - LDR r12, =0x102 @ Set PL310 control register - value in R0
>> + MOV r12, r0 @ Service
>> + MOV r0, r1 @ Argument
>> + DSB
>> + DMB
>> .word 0xe1600070 @ SMC #0 - hand assembled because -march=armv5
>> @ call ROM Code API to set control register
>
> Lets stop hand-crafting that call, we just call smc #0 elsewhere in the
> code base these days.
>
And we dont care about: -march=armv5 any-longer?

--
Regards,
Nishanth Menon