[PATCH v2] kontron-sl-mx8mm: Add CAAM support

Frieder Schrempf frieder.schrempf at kontron.de
Tue Jun 14 12:29:56 CEST 2022


Am 09.06.22 um 22:13 schrieb Fabio Estevam:
> Add CAAM support, which is required when enabling HAB secure boot.
> 
> Select CONFIG_SPL_DRIVERS_MISC so that CONFIG_IMX_HAB could
> build successfully, if selected.
> 
> Signed-off-by: Fabio Estevam <festevam at denx.de>

Build-tested on next and partly runtime-tested by verifying that "SEC0:
 RNG instantiated" is printed to the console in SPL and U-Boot proper.

Acked-by: Frieder Schrempf <frieder.schrempf at kontron.de>
Tested-by: Frieder Schrempf <frieder.schrempf at kontron.de>

> ---
> Changes since v1:
> - Do not disable sec_jr0 node in -u-boot.dtsi. This will get disabled
> by the imx8mm.dtsi. Sent a patch upstream doing this. (Andrey)
> 
>  arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi | 16 ++++++++++++++++
>  arch/arm/mach-imx/imx8m/Kconfig               |  3 +++
>  board/kontron/sl-mx8mm/spl.c                  |  9 +++++++++
>  configs/kontron-sl-mx8mm_defconfig            |  1 +
>  4 files changed, 29 insertions(+)
> 
> diff --git a/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi b/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi
> index 22d18e6f1c..65ff3988d9 100644
> --- a/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi
> +++ b/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi
> @@ -25,6 +25,22 @@
>  	};
>  };
>  
> +&crypto {
> +	u-boot,dm-spl;
> +};
> +
> +&sec_jr0 {
> +	u-boot,dm-spl;
> +};
> +
> +&sec_jr1 {
> +	u-boot,dm-spl;
> +};
> +
> +&sec_jr2 {
> +	u-boot,dm-spl;
> +};
> +
>  &fec1 {
>  	phy-mode = "rgmii-rxid";
>  };
> diff --git a/arch/arm/mach-imx/imx8m/Kconfig b/arch/arm/mach-imx/imx8m/Kconfig
> index 61397bf88d..5c59422ecb 100644
> --- a/arch/arm/mach-imx/imx8m/Kconfig
> +++ b/arch/arm/mach-imx/imx8m/Kconfig
> @@ -106,6 +106,9 @@ config TARGET_KONTRON_MX8MM
>  	select IMX8MM
>  	select SUPPORT_SPL
>  	select IMX8M_LPDDR4
> +	select FSL_CAAM
> +	select ARCH_MISC_INIT
> +	select SPL_CRYPTO if SPL
>  
>  config TARGET_IMX8MN_BSH_SMM_S2
>  	bool "imx8mn-bsh-smm-s2"
> diff --git a/board/kontron/sl-mx8mm/spl.c b/board/kontron/sl-mx8mm/spl.c
> index 4ef03c8c17..5a513722c5 100644
> --- a/board/kontron/sl-mx8mm/spl.c
> +++ b/board/kontron/sl-mx8mm/spl.c
> @@ -13,6 +13,9 @@
>  #include <asm/mach-imx/boot_mode.h>
>  #include <asm/mach-imx/iomux-v3.h>
>  #include <dm/uclass.h>
> +#include <dm/device.h>
> +#include <dm/uclass-internal.h>
> +#include <dm/device-internal.h>
>  #include <hang.h>
>  #include <i2c.h>
>  #include <init.h>
> @@ -213,6 +216,12 @@ void spl_board_init(void)
>  	struct udevice *dev;
>  	int ret;
>  
> +	if (IS_ENABLED(CONFIG_FSL_CAAM)) {
> +		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);
> +	}
> +
>  	puts("Normal Boot\n");
>  
>  	ret = uclass_get_device_by_name(UCLASS_CLK,
> diff --git a/configs/kontron-sl-mx8mm_defconfig b/configs/kontron-sl-mx8mm_defconfig
> index 2e9d52522b..eae9ac0dbe 100644
> --- a/configs/kontron-sl-mx8mm_defconfig
> +++ b/configs/kontron-sl-mx8mm_defconfig
> @@ -16,6 +16,7 @@ CONFIG_SPL_TEXT_BASE=0x7E1000
>  CONFIG_TARGET_KONTRON_MX8MM=y
>  CONFIG_SPL_MMC=y
>  CONFIG_SPL_SERIAL=y
> +CONFIG_SPL_DRIVERS_MISC=y
>  CONFIG_BOOTCOUNT_BOOTLIMIT=3
>  CONFIG_SPL=y
>  CONFIG_SYS_LOAD_ADDR=0x42000000


More information about the U-Boot mailing list