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

Nishanth Menon nm at ti.com
Fri Mar 6 18:38:20 CET 2015


On 03/06/2015 11:08 AM, Tom Rini wrote:
> On Thu, Mar 05, 2015 at 10:41:00PM -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.
>>
>> While at this, smc #0 is maintained as handcoded assembly thanks to
>> various gcc version eccentricities, discussion thread:
>> http://marc.info/?t=142542166800001&r=1&w=2
>>
>> Signed-off-by: Nishanth Menon <nm at ti.com>
> [snip]
>> diff --git a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
>> index e19c7aececdd..80619b04df5d 100644
>> --- a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
>> +++ b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
>> @@ -22,11 +22,15 @@ ENTRY(save_boot_params)
>>  	b	save_boot_params_ret
>>  ENDPROC(save_boot_params)
>>  
>> -ENTRY(set_pl310_ctrl_reg)
>> -	PUSH	{r4-r11, lr}	@ save registers - ROM code may pollute
>> +ENTRY(omap_smc1)
> [snip]
>> diff --git a/arch/arm/include/asm/arch-omap4/sys_proto.h b/arch/arm/include/asm/arch-omap4/sys_proto.h
>> index e19975efaf50..f425e3af54f5 100644
>> --- a/arch/arm/include/asm/arch-omap4/sys_proto.h
>> +++ b/arch/arm/include/asm/arch-omap4/sys_proto.h
>> @@ -37,7 +37,7 @@ void do_set_mux(u32 base, struct pad_conf_entry const *array, int size);
>>  void set_muxconf_regs_essential(void);
>>  u32 wait_on_value(u32, u32, void *, u32);
>>  void sdelay(unsigned long);
>> -void set_pl310_ctrl_reg(u32 val);
>> +void omap_smc1(u32 service, u32 val);
> 
> I kinda feel we should be putting the prototype into omap_common.h as
> that's as close as we've got today for a header that matches up to the
> code in arch/arm/cpu/armv7/omap-common/, thanks!
> 
OK. will try to get it done. Thanks for the suggestion on this.

-- 
Regards,
Nishanth Menon


More information about the U-Boot mailing list