[PATCH v7 05/15] i.MX6: Enable Job ring driver model in U-Boot.

Simon Glass sjg at chromium.org
Tue Dec 28 09:32:50 CET 2021


Hi,

On Tue, 7 Dec 2021 at 00:42, Gaurav Jain <gaurav.jain at nxp.com> wrote:
>
> i.MX6,i.MX6SX,i.MX6UL - added support for JR driver model.
>
> removed sec_init() call, sec is initialized based on
> job ring information processed from device tree.
>
> Signed-off-by: Gaurav Jain <gaurav.jain at nxp.com>
> Reviewed-by: Ye Li <ye.li at nxp.com>
> ---
>  arch/arm/mach-imx/mx6/Kconfig | 15 +++++++++++++++
>  arch/arm/mach-imx/mx6/soc.c   | 12 ++++++++----
>  2 files changed, 23 insertions(+), 4 deletions(-)
>

Tiny nit...we know this is U-Boot so you don't really need
> diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig
> index 62de942a32..8ccb3b6e35 100644
> --- a/arch/arm/mach-imx/mx6/Kconfig
> +++ b/arch/arm/mach-imx/mx6/Kconfig
> @@ -354,6 +354,9 @@ config TARGET_MX6SABREAUTO
>         select DM_THERMAL
>         select SUPPORT_SPL
>         imply CMD_DM
> +       select FSL_CAAM
> +       select MISC
> +       select ARCH_MISC_INIT
>
>  config TARGET_MX6SABRESD
>         bool "mx6sabresd"
> @@ -364,6 +367,9 @@ config TARGET_MX6SABRESD
>         select DM_THERMAL
>         select SUPPORT_SPL
>         imply CMD_DM
> +       select FSL_CAAM
> +       select MISC
> +       select ARCH_MISC_INIT
>
>  config TARGET_MX6SLEVK
>         bool "mx6slevk"
> @@ -386,6 +392,9 @@ config TARGET_MX6SXSABRESD
>         select DM
>         select DM_THERMAL
>         select SUPPORT_SPL
> +       select FSL_CAAM
> +       select MISC
> +       select ARCH_MISC_INIT
>
>  config TARGET_MX6SXSABREAUTO
>         bool "mx6sxsabreauto"
> @@ -404,6 +413,9 @@ config TARGET_MX6UL_9X9_EVK
>         select DM_THERMAL
>         select SUPPORT_SPL
>         imply CMD_DM
> +       select FSL_CAAM
> +       select MISC
> +       select ARCH_MISC_INIT
>
>  config TARGET_MX6UL_14X14_EVK
>         bool "mx6ul_14x14_evk"
> @@ -413,6 +425,9 @@ config TARGET_MX6UL_14X14_EVK
>         select DM_THERMAL
>         select SUPPORT_SPL
>         imply CMD_DM
> +       select FSL_CAAM
> +       select MISC
> +       select ARCH_MISC_INIT
>
>  config TARGET_MX6UL_ENGICAM
>         bool "Support Engicam GEAM6UL/Is.IoT"
> diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c
> index aacfc854a2..fa6c3778bb 100644
> --- a/arch/arm/mach-imx/mx6/soc.c
> +++ b/arch/arm/mach-imx/mx6/soc.c
> @@ -4,6 +4,7 @@
>   * Sascha Hauer, Pengutronix
>   *
>   * (C) Copyright 2009 Freescale Semiconductor, Inc.
> + * Copyright 2021 NXP
>   */
>
>  #include <common.h>
> @@ -23,7 +24,6 @@
>  #include <asm/arch/mxc_hdmi.h>
>  #include <asm/arch/crm_regs.h>
>  #include <dm.h>
> -#include <fsl_sec.h>
>  #include <imx_thermal.h>
>  #include <mmc.h>
>
> @@ -734,9 +734,13 @@ static void setup_serial_number(void)
>
>  int arch_misc_init(void)
>  {
> -#ifdef CONFIG_FSL_CAAM
> -       sec_init();
> -#endif
> +       struct udevice *dev;
> +       int ret;
> +
> +       ret = uclass_get_device_by_driver(UCLASS_MISC, DM_DRIVER_GET(caam_jr), &dev);

You could use a board driver perhaps, to specify the phandle of the
device you want to access. Or, if you used a separate uclass, you
could just get the first device.

> +       if (ret)
> +               printf("Failed to initialize %s: %d\n", dev->name, ret);

Shouldn't you return the error here?

> +
>         setup_serial_number();
>         return 0;
>  }
> --
> 2.17.1
>

Regards,
Simon


More information about the U-Boot mailing list