From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nishanth Menon Date: Tue, 3 Mar 2015 11:12:33 -0600 Subject: [U-Boot] [PATCH V3 05/11] ARM: OMAP: Change set_pl310_ctrl_reg to be generic In-Reply-To: <20150303170850.GI25373@bill-the-cat> References: <1424897719-12666-1-git-send-email-nm@ti.com> <1424897719-12666-6-git-send-email-nm@ti.com> <20150303170850.GI25373@bill-the-cat> Message-ID: <54F5EB81.3070001@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 >> --- >> 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