All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Kocialkowski <contact@paulk.fr>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V2 3/9] ARM: OMAP3: Get rid of omap3_gp_romcode_call and replace with omap_smc1
Date: Wed, 25 Feb 2015 12:06:41 +0100	[thread overview]
Message-ID: <1424862401.2460.9.camel@collins> (raw)
In-Reply-To: <1424818672-29501-4-git-send-email-nm@ti.com>

Le mardi 24 f?vrier 2015 ? 16:57 -0600, Nishanth Menon a ?crit :
> omap_smc1 is now generic enough to remove duplicate
> omap3_gp_romcode_call logic that omap3 introduced.

As far as I could see, this did not introduce any regression on my
omap3630 device (omap_smc1 is used from omap3_invalidate_l2_cache_secure
in my case). Looks good to me.

> As part of this change, move to using the generic lowlevel_init.S for
> omap3 as well.
>
> Signed-off-by: Nishanth Menon <nm@ti.com>
> ---
>  arch/arm/cpu/armv7/omap-common/Makefile        |    2 +-
>  arch/arm/cpu/armv7/omap-common/lowlevel_init.S |    2 ++
>  arch/arm/cpu/armv7/omap3/board.c               |    6 ++----
>  arch/arm/cpu/armv7/omap3/lowlevel_init.S       |   11 -----------
>  arch/arm/include/asm/arch-omap3/sys_proto.h    |    2 +-
>  5 files changed, 6 insertions(+), 17 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv7/omap-common/Makefile b/arch/arm/cpu/armv7/omap-common/Makefile
> index 7695e16d36f5..f3725b267c99 100644
> --- a/arch/arm/cpu/armv7/omap-common/Makefile
> +++ b/arch/arm/cpu/armv7/omap-common/Makefile
> @@ -28,7 +28,7 @@ endif
>  
>  ifeq ($(CONFIG_OMAP34XX),)
>  obj-y	+= boot-common.o
> -obj-y	+= lowlevel_init.o
>  endif
> +obj-y	+= lowlevel_init.o
>  
>  obj-y	+= mem-common.o
> diff --git a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
> index 9b24369e4dc1..7d0f09496d85 100644
> --- a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
> +++ b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
> @@ -16,11 +16,13 @@
>  #include <asm/arch/spl.h>
>  #include <linux/linkage.h>
>  
> +#ifndef CONFIG_OMAP34XX
>  ENTRY(save_boot_params)
>  	ldr	r1, =OMAP_SRAM_SCRATCH_BOOT_PARAMS
>  	str	r0, [r1]
>  	bx	lr
>  ENDPROC(save_boot_params)
> +#endif
>  
>  ENTRY(omap_smc1)
>  	PUSH	{r4-r12, lr}	@ save registers - ROM code may pollute
> diff --git a/arch/arm/cpu/armv7/omap3/board.c b/arch/arm/cpu/armv7/omap3/board.c
> index 90d6ae7bb5f5..51abc4b09e36 100644
> --- a/arch/arm/cpu/armv7/omap3/board.c
> +++ b/arch/arm/cpu/armv7/omap3/board.c
> @@ -418,8 +418,7 @@ static void omap3_update_aux_cr_secure(u32 set_bits, u32 clear_bits)
>  	acr |= set_bits;
>  
>  	if (get_device_type() == GP_DEVICE) {
> -		omap3_gp_romcode_call(OMAP3_GP_ROMCODE_API_WRITE_ACR,
> -				       acr);
> +		omap_smc1(OMAP3_GP_ROMCODE_API_WRITE_ACR, acr);
>  	} else {
>  		struct emu_hal_params emu_romcode_params;
>  		emu_romcode_params.num_params = 1;
> @@ -459,8 +458,7 @@ static void omap3_update_aux_cr(u32 set_bits, u32 clear_bits)
>  static void omap3_invalidate_l2_cache_secure(void)
>  {
>  	if (get_device_type() == GP_DEVICE) {
> -		omap3_gp_romcode_call(OMAP3_GP_ROMCODE_API_L2_INVAL,
> -				      0);
> +		omap_smc1(OMAP3_GP_ROMCODE_API_L2_INVAL, 0);
>  	} else {
>  		struct emu_hal_params emu_romcode_params;
>  		emu_romcode_params.num_params = 1;
> diff --git a/arch/arm/cpu/armv7/omap3/lowlevel_init.S b/arch/arm/cpu/armv7/omap3/lowlevel_init.S
> index 78577b1d1c75..84591b8b5bab 100644
> --- a/arch/arm/cpu/armv7/omap3/lowlevel_init.S
> +++ b/arch/arm/cpu/armv7/omap3/lowlevel_init.S
> @@ -27,17 +27,6 @@ ENTRY(save_boot_params)
>  ENDPROC(save_boot_params)
>  #endif
>  
> -ENTRY(omap3_gp_romcode_call)
> -	PUSH {r4-r12, lr} @ Save all registers from ROM code!
> -	MOV r12, r0	@ Copy the Service ID in R12
> -	MOV r0, r1	@ Copy parameter to R0
> -	mcr     p15, 0, r0, c7, c10, 4	@ DSB
> -	mcr     p15, 0, r0, c7, c10, 5	@ DMB
> -	.word	0xe1600070	@ SMC #0 to enter monitor - hand assembled
> -				@ because we use -march=armv5
> -	POP {r4-r12, pc}
> -ENDPROC(omap3_gp_romcode_call)
> -
>  /*
>   * Funtion for making PPA HAL API calls in secure devices
>   * Input:
> diff --git a/arch/arm/include/asm/arch-omap3/sys_proto.h b/arch/arm/include/asm/arch-omap3/sys_proto.h
> index bcf92fbe658b..c06605d533d3 100644
> --- a/arch/arm/include/asm/arch-omap3/sys_proto.h
> +++ b/arch/arm/include/asm/arch-omap3/sys_proto.h
> @@ -73,6 +73,6 @@ void power_init_r(void);
>  void dieid_num_r(void);
>  void get_dieid(u32 *id);
>  void do_omap3_emu_romcode_call(u32 service_id, u32 parameters);
> -void omap3_gp_romcode_call(u32 service_id, u32 parameter);
> +void omap_smc1(u32 service, u32 val);
>  u32 warm_reset(void);
>  #endif

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150225/55198173/attachment.sig>

  reply	other threads:[~2015-02-25 11:06 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-24 22:57 [U-Boot] [PATCH V2 0/9] ARM: OMAP3-DRA7: CP15 erratum workarounds and improvements Nishanth Menon
2015-02-24 22:57 ` [U-Boot] [PATCH V2 1/9] ARM: OMAP: Change set_pl310_ctrl_reg to be generic Nishanth Menon
2015-02-24 22:57 ` [U-Boot] [PATCH V2 2/9] ARM: OMAP3: Rename omap3.h to omap.h to be generic as all SoCs Nishanth Menon
2015-02-25 11:02   ` Paul Kocialkowski
2015-02-25 17:53     ` Nishanth Menon
2015-02-24 22:57 ` [U-Boot] [PATCH V2 3/9] ARM: OMAP3: Get rid of omap3_gp_romcode_call and replace with omap_smc1 Nishanth Menon
2015-02-25 11:06   ` Paul Kocialkowski [this message]
2015-02-24 22:57 ` [U-Boot] [PATCH V2 4/9] ARM: Provide a mechanism to invoke SoC specific errata WA for CP15 Nishanth Menon
2015-02-24 22:57 ` [U-Boot] [PATCH V2 5/9] ARM: DRA7 / OMAP5: Add workaround for ARM errata 798870 Nishanth Menon
2015-02-24 22:57 ` [U-Boot] [PATCH V2 6/9] configs: ti_omap5_common: Enable " Nishanth Menon
2015-02-24 22:57 ` [U-Boot] [PATCH V2 7/9] ARM: OMAP3: Introduce OMAP3 Cortex-A8 revision specific errata Nishanth Menon
2015-02-25 11:15   ` Paul Kocialkowski
2015-02-25 19:49     ` Nishanth Menon
2015-03-03  7:30       ` Siarhei Siamashka
2015-02-24 22:57 ` [U-Boot] [PATCH V2 8/9] configs: ti_omap3_common: Enable workaround for ARM errata 454179, 430973, 621766 Nishanth Menon
2015-02-25 11:19   ` Paul Kocialkowski
2015-02-25 11:31     ` Igor Grinberg
2015-02-25 12:27       ` Paul Kocialkowski
2015-02-25 14:32         ` menon.nishanth at gmail.com
2015-02-25 21:23           ` Paul Kocialkowski
2015-02-26  5:11             ` Nishanth Menon
2015-02-27 19:27               ` Paul Kocialkowski
2015-02-24 22:57 ` [U-Boot] [PATCH V2 9/9] ARM: OMAP5 / DRA7: Setup L2 Aux Control Register with recommended configuration Nishanth Menon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1424862401.2460.9.camel@collins \
    --to=contact@paulk.fr \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.