[PATCH v2 07/15] i.MX7ULP: Enable Job ring driver model in U-Boot.

Ye Li ye.li at nxp.com
Fri Sep 10 11:36:56 CEST 2021


On Fri, 2021-09-03 at 12:33 +0530, Gaurav Jain wrote:
> added crypto node in device tree.
> 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>

Best regards,
Ye Li

> ---
>  arch/arm/Kconfig                 |  2 +-
>  arch/arm/dts/imx7ulp.dtsi        | 24 ++++++++++++++++++++++++
>  arch/arm/mach-imx/mx7ulp/Kconfig |  4 ++++
>  arch/arm/mach-imx/mx7ulp/soc.c   | 16 ++++++++++++++++
>  4 files changed, 45 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index addd349e54..b3d11c1a0d 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -848,7 +848,7 @@ config ARCH_MX7ULP
>  	bool "NXP MX7ULP"
>  	select CPU_V7A
>  	select GPIO_EXTRA_HEADER
> -	select SYS_FSL_HAS_SEC if IMX_HAB
> +	select SYS_FSL_HAS_SEC
>  	select SYS_FSL_SEC_COMPAT_4
>  	select SYS_FSL_SEC_LE
>  	select ROM_UNIFIED_SECTIONS
> diff --git a/arch/arm/dts/imx7ulp.dtsi b/arch/arm/dts/imx7ulp.dtsi
> index 7bcd2cc346..494b9d98b2 100644
> --- a/arch/arm/dts/imx7ulp.dtsi
> +++ b/arch/arm/dts/imx7ulp.dtsi
> @@ -1,5 +1,6 @@
>  /*
>   * Copyright 2015-2016 Freescale Semiconductor, Inc.
> + * Copyright 2021 NXP
>   *
>   * This program is free software; you can redistribute it and/or
> modify
>   * it under the terms of the GNU General Public License version 2 as
> @@ -198,6 +199,29 @@
>  			};
>  		};
>  
> +		crypto: crypto at 40240000 {
> +			compatible = "fsl,sec-v4.0";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			reg = <0x40240000 0x10000>;
> +			ranges = <0 0x40240000 0x10000>;
> +			clocks = <&clks IMX7ULP_CLK_CAAM>,
> +				 <&clks IMX7ULP_CLK_NIC1_BUS_DIV>;
> +			clock-names = "aclk", "ipg";
> +
> +			sec_jr0: jr at 1000 {
> +				compatible = "fsl,sec-v4.0-job-
> ring";
> +				reg = <0x1000 0x1000>;
> +				interrupts = <GIC_SPI 54
> IRQ_TYPE_LEVEL_HIGH>;
> +			};
> +
> +			sec_jr1: jr at 2000 {
> +				compatible = "fsl,sec-v4.0-job-
> ring";
> +				reg = <0x2000 0x1000>;
> +				interrupts = <GIC_SPI 54
> IRQ_TYPE_LEVEL_HIGH>;
> +			};
> +		};
> +
>  		tpm5: tpm at 40260000 {
>  			compatible = "fsl,imx7ulp-tpm";
>  			reg = <0x40260000 0x1000>;
> diff --git a/arch/arm/mach-imx/mx7ulp/Kconfig b/arch/arm/mach-
> imx/mx7ulp/Kconfig
> index 2ffac9cf7c..0d9f8ffed9 100644
> --- a/arch/arm/mach-imx/mx7ulp/Kconfig
> +++ b/arch/arm/mach-imx/mx7ulp/Kconfig
> @@ -25,6 +25,10 @@ config TARGET_MX7ULP_EVK
>  	bool "Support mx7ulp EVK board"
>  	select MX7ULP
>  	select SYS_ARCH_TIMER
> +	select FSL_CAAM
> +	select FSL_BLOB
> +	select MISC
> +	select ARCH_MISC_INIT
>  
>  endchoice
>  
> diff --git a/arch/arm/mach-imx/mx7ulp/soc.c b/arch/arm/mach-
> imx/mx7ulp/soc.c
> index 320f24dd29..1cfc751bdc 100644
> --- a/arch/arm/mach-imx/mx7ulp/soc.c
> +++ b/arch/arm/mach-imx/mx7ulp/soc.c
> @@ -1,6 +1,7 @@
>  // SPDX-License-Identifier: GPL-2.0+
>  /*
>   * Copyright (C) 2016 Freescale Semiconductor, Inc.
> + * Copyright 2021 NXP
>   */
>  
>  #include <common.h>
> @@ -14,6 +15,7 @@
>  #include <asm/mach-imx/boot_mode.h>
>  #include <asm/mach-imx/hab.h>
>  #include <linux/bitops.h>
> +#include <dm.h>
>  
>  #define PMC0_BASE_ADDR		0x410a1000
>  #define PMC0_CTRL		0x28
> @@ -79,6 +81,20 @@ int arch_cpu_init(void)
>  	return 0;
>  }
>  
> +#if defined(CONFIG_ARCH_MISC_INIT)
> +int arch_misc_init(void)
> +{
> +	struct udevice *dev;
> +	int ret;
> +
> +	ret = uclass_get_device_by_driver(UCLASS_MISC,
> DM_DRIVER_GET(caam_jr), &dev);
> +	if (ret)
> +		printf("Failed to initialize %s: %d\n", dev->name,
> ret);
> +
> +	return 0;
> +}
> +#endif
> +
>  #ifdef CONFIG_BOARD_POSTCLK_INIT
>  int board_postclk_init(void)
>  {


More information about the U-Boot mailing list