[U-Boot] [PATCH] arm: imx: Rework i.MX specific commands to be excluded from SPL

Stefano Babic sbabic at denx.de
Fri Jan 12 13:33:51 UTC 2018


On 03/01/2018 14:52, Tom Rini wrote:
> The "clocks" and "bootaux" commands are only usable in full U-Boot, not
> SPL, so do not link them inside of SPL.  Rework a little of the bootaux
> related code to make use of __weak and declare parts of it static as
> it's local to the file.
> 
> Cc: Stefano Babic <sbabic at denx.de>
> Cc: Fabio Estevam <fabio.estevam at nxp.com>
> Signed-off-by: Tom Rini <trini at konsulko.com>
> ---
>  arch/arm/mach-imx/Makefile       |  2 ++
>  arch/arm/mach-imx/imx_bootaux.c  | 13 ++++---------
>  arch/arm/mach-imx/mx5/clock.c    |  4 +++-
>  arch/arm/mach-imx/mx7/clock.c    |  2 ++
>  arch/arm/mach-imx/mx7ulp/clock.c |  2 ++
>  5 files changed, 13 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> index d77c10e17684..783b2c8602ba 100644
> --- a/arch/arm/mach-imx/Makefile
> +++ b/arch/arm/mach-imx/Makefile
> @@ -28,7 +28,9 @@ obj-y 	+= cache.o init.o
>  obj-$(CONFIG_SATA) += sata.o
>  obj-$(CONFIG_IMX_VIDEO_SKIP) += video.o
>  obj-$(CONFIG_IMX_RDC) += rdc-sema.o
> +ifneq ($(CONFIG_SPL_BUILD),y)
>  obj-$(CONFIG_IMX_BOOTAUX) += imx_bootaux.o
> +endif
>  obj-$(CONFIG_SECURE_BOOT)    += hab.o
>  endif
>  ifeq ($(SOC),$(filter $(SOC),mx7ulp))
> diff --git a/arch/arm/mach-imx/imx_bootaux.c b/arch/arm/mach-imx/imx_bootaux.c
> index 69026df7630f..b62dfbf6bf6c 100644
> --- a/arch/arm/mach-imx/imx_bootaux.c
> +++ b/arch/arm/mach-imx/imx_bootaux.c
> @@ -6,27 +6,22 @@
>  
>  #include <common.h>
>  #include <command.h>
> +#include <linux/compiler.h>
>  
>  /* Allow for arch specific config before we boot */
> -static int __arch_auxiliary_core_up(u32 core_id, u32 boot_private_data)
> +int __weak arch_auxiliary_core_up(u32 core_id, u32 boot_private_data)
>  {
>  	/* please define platform specific arch_auxiliary_core_up() */
>  	return CMD_RET_FAILURE;
>  }
>  
> -int arch_auxiliary_core_up(u32 core_id, u32 boot_private_data)
> -	__attribute__((weak, alias("__arch_auxiliary_core_up")));
> -
>  /* Allow for arch specific config before we boot */
> -static int __arch_auxiliary_core_check_up(u32 core_id)
> +int __weak arch_auxiliary_core_check_up(u32 core_id)
>  {
>  	/* please define platform specific arch_auxiliary_core_check_up() */
>  	return 0;
>  }
>  
> -int arch_auxiliary_core_check_up(u32 core_id)
> -	__attribute__((weak, alias("__arch_auxiliary_core_check_up")));
> -
>  /*
>   * To i.MX6SX and i.MX7D, the image supported by bootaux needs
>   * the reset vector at the head for the image, with SP and PC
> @@ -40,7 +35,7 @@ int arch_auxiliary_core_check_up(u32 core_id)
>   * The TCMUL is mapped to (M4_BOOTROM_BASE_ADDR) at A core side for
>   * accessing the M4 TCMUL.
>   */
> -int do_bootaux(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
> +static int do_bootaux(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  {
>  	ulong addr;
>  	int ret, up;
> diff --git a/arch/arm/mach-imx/mx5/clock.c b/arch/arm/mach-imx/mx5/clock.c
> index 610098c175e9..284f6d4cde3d 100644
> --- a/arch/arm/mach-imx/mx5/clock.c
> +++ b/arch/arm/mach-imx/mx5/clock.c
> @@ -911,10 +911,11 @@ void mxc_set_sata_internal_clock(void)
>  }
>  #endif
>  
> +#ifndef CONFIG_SPL_BUILD
>  /*
>   * Dump some core clockes.
>   */
> -int do_mx5_showclocks(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
> +static int do_mx5_showclocks(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  {
>  	u32 freq;
>  
> @@ -947,3 +948,4 @@ U_BOOT_CMD(
>  	"display clocks",
>  	""
>  );
> +#endif
> diff --git a/arch/arm/mach-imx/mx7/clock.c b/arch/arm/mach-imx/mx7/clock.c
> index 8150faa1a313..c11042d6f5ed 100644
> --- a/arch/arm/mach-imx/mx7/clock.c
> +++ b/arch/arm/mach-imx/mx7/clock.c
> @@ -1096,6 +1096,7 @@ void epdc_clock_disable(void)
>  }
>  #endif
>  
> +#ifndef CONFIG_SPL_BUILD
>  /*
>   * Dump some core clockes.
>   */
> @@ -1131,3 +1132,4 @@ U_BOOT_CMD(
>  	"display clocks",
>  	""
>  );
> +#endif
> diff --git a/arch/arm/mach-imx/mx7ulp/clock.c b/arch/arm/mach-imx/mx7ulp/clock.c
> index 77b282addd6e..553d62149de6 100644
> --- a/arch/arm/mach-imx/mx7ulp/clock.c
> +++ b/arch/arm/mach-imx/mx7ulp/clock.c
> @@ -323,6 +323,7 @@ void hab_caam_clock_enable(unsigned char enable)
>  }
>  #endif
>  
> +#ifndef CONFIG_SPL_BUILD
>  /*
>   * Dump some core clockes.
>   */
> @@ -363,3 +364,4 @@ U_BOOT_CMD(
>  	"display clocks",
>  	""
>  );
> +#endif
> 

Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list