Message ID | 20220608150348.1463500-1-festevam@denx.de |
---|---|
State | Superseded |
Delegated to: | Stefano Babic |
Headers | show |
Series | kontron-sl-mx8mm: Add CAAM support | expand |
Hello Fabio, > -----Original Message----- > From: U-Boot <u-boot-bounces@lists.denx.de> On Behalf Of Fabio Estevam > Sent: Wednesday, June 8, 2022 5:04 PM > To: sbabic@denx.de > Cc: frieder.schrempf@kontron.de; u-boot@lists.denx.de; Fabio Estevam > <festevam@denx.de> > Subject: [PATCH] kontron-sl-mx8mm: Add CAAM support > > 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@denx.de> > --- > arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi | 17 +++++++++++++++++ > arch/arm/mach-imx/imx8m/Kconfig | 3 +++ > board/kontron/sl-mx8mm/spl.c | 9 +++++++++ > configs/kontron-sl-mx8mm_defconfig | 1 + > 4 files changed, 30 insertions(+) > > diff --git a/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi b/arch/arm/dts/imx8mm- > kontron-n801x-u-boot.dtsi > index 22d18e6f1cf8..11d915310f74 100644 > --- a/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi > +++ b/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi > @@ -25,6 +25,23 @@ > }; > }; > > +&crypto { > + u-boot,dm-spl; > +}; > + > +&sec_jr0 { > + u-boot,dm-spl; > + status = "disabled"; If this board is supported by upstream Kernel, then perhaps this reservation shall be included there before, and then sync'd back into U-Boot? This is similar to what EVKs from NXP are undergoing now, with your help of up-steaming Kernel DTB changes in front of U-Boot DTB ones. > +}; > + > +&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 61397bf88d13..5c59422ecb79 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 4ef03c8c172f..5a513722c5d5 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 2e9d52522b21..eae9ac0dbebf 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 > -- > 2.25.1 Regards, Andrey
Hi Andrey, On Wed, Jun 8, 2022 at 6:43 PM ZHIZHIKIN Andrey <andrey.zhizhikin@leica-geosystems.com> wrote: > > +&sec_jr0 { > > + u-boot,dm-spl; > > + status = "disabled"; > > If this board is supported by upstream Kernel, then perhaps this > reservation shall be included there before, and then sync'd back > into U-Boot? Yes, this board is supported by the upstream kernel. I can remove the status = "disabled" line from this patch and send a v2. BTW, if you have a chance please send your Tested-by or Reviewed-by patch to my imx8m kernel patch that disables sec_jr0. Thanks > This is similar to what EVKs from NXP are undergoing now, with your > help of up-steaming Kernel DTB changes in front of U-Boot DTB ones. > > > +}; > > + > > +&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 61397bf88d13..5c59422ecb79 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 4ef03c8c172f..5a513722c5d5 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 2e9d52522b21..eae9ac0dbebf 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 > > -- > > 2.25.1 > > Regards, > Andrey >
diff --git a/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi b/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi index 22d18e6f1cf8..11d915310f74 100644 --- a/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi @@ -25,6 +25,23 @@ }; }; +&crypto { + u-boot,dm-spl; +}; + +&sec_jr0 { + u-boot,dm-spl; + status = "disabled"; +}; + +&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 61397bf88d13..5c59422ecb79 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 4ef03c8c172f..5a513722c5d5 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 2e9d52522b21..eae9ac0dbebf 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
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@denx.de> --- arch/arm/dts/imx8mm-kontron-n801x-u-boot.dtsi | 17 +++++++++++++++++ arch/arm/mach-imx/imx8m/Kconfig | 3 +++ board/kontron/sl-mx8mm/spl.c | 9 +++++++++ configs/kontron-sl-mx8mm_defconfig | 1 + 4 files changed, 30 insertions(+)