diff options
author | Tom Rini <trini@konsulko.com> | 2024-05-05 16:15:02 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-05-05 16:15:02 -0600 |
commit | 6114b860f5cd77fd5ac299a8d768c056b78a4f1a (patch) | |
tree | 47f46562d94a1d5adf5ca204d91344b725c7fd1f | |
parent | 2f1e76bcfee75b9f99ade63002c05ffaaec86afb (diff) | |
parent | cecb5fbb42c8b3de3d5a7df40bc01d1fdf4731d3 (diff) | |
download | u-boot-6114b860f5cd77fd5ac299a8d768c056b78a4f1a.zip u-boot-6114b860f5cd77fd5ac299a8d768c056b78a4f1a.tar.gz u-boot-6114b860f5cd77fd5ac299a8d768c056b78a4f1a.tar.bz2 |
Merge tag 'u-boot-imx-master-20240505' of https://gitlab.denx.de/u-boot/custodians/u-boot-imxWIP/05May2024
CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/20614
- Add SPL variant of DM_RNG so that the DM_RNG can be disabled in SPL if
necessary. This may be necessary due to e.g. size constraints of the SPL.
- dd SPL variant of SPL_FSL_CAAM_RNG so that the SPL_FSL_CAAM_RNG can be
disabled in SPL if necessary. This may be necessary due to e.g. size
constraints of the SPL.
- Differentiate between CAAM and DCP in Kconfig entry.
-rw-r--r-- | boot/pxe_utils.c | 4 | ||||
-rw-r--r-- | boot/vbe_request.c | 2 | ||||
-rw-r--r-- | drivers/Makefile | 2 | ||||
-rw-r--r-- | drivers/crypto/fsl/Kconfig | 11 | ||||
-rw-r--r-- | drivers/crypto/fsl/Makefile | 2 | ||||
-rw-r--r-- | drivers/crypto/fsl/jr.c | 4 | ||||
-rw-r--r-- | drivers/rng/Kconfig | 7 | ||||
-rw-r--r-- | drivers/rng/Makefile | 2 | ||||
-rw-r--r-- | lib/uuid.c | 2 | ||||
-rw-r--r-- | net/net_rand.h | 2 | ||||
-rw-r--r-- | test/dm/Makefile | 2 |
11 files changed, 26 insertions, 14 deletions
diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c index 9620562..5c1c962 100644 --- a/boot/pxe_utils.c +++ b/boot/pxe_utils.c @@ -21,9 +21,7 @@ #include <errno.h> #include <linux/list.h> -#ifdef CONFIG_DM_RNG #include <rng.h> -#endif #include <splash.h> #include <asm/io.h> @@ -323,7 +321,7 @@ static int label_localboot(struct pxe_label *label) static void label_boot_kaslrseed(void) { -#ifdef CONFIG_DM_RNG +#if CONFIG_IS_ENABLED(DM_RNG) ulong fdt_addr; struct fdt_header *working_fdt; size_t n = 0x8; diff --git a/boot/vbe_request.c b/boot/vbe_request.c index 917251a..0293ac6 100644 --- a/boot/vbe_request.c +++ b/boot/vbe_request.c @@ -36,7 +36,7 @@ static int handle_random_req(ofnode node, int default_size, u32 size; int ret; - if (!IS_ENABLED(CONFIG_DM_RNG)) + if (!CONFIG_IS_ENABLED(DM_RNG)) return -ENOTSUPP; if (ofnode_read_u32(node, "vbe,size", &size)) { diff --git a/drivers/Makefile b/drivers/Makefile index bf73b77..9195daf 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -126,7 +126,7 @@ obj-$(CONFIG_W1_EEPROM) += w1-eeprom/ obj-$(CONFIG_MACH_PIC32) += ddr/microchip/ obj-$(CONFIG_FUZZ) += fuzz/ obj-$(CONFIG_DM_HWSPINLOCK) += hwspinlock/ -obj-$(CONFIG_DM_RNG) += rng/ +obj-$(CONFIG_$(SPL_TPL_)DM_RNG) += rng/ endif obj-y += soc/ diff --git a/drivers/crypto/fsl/Kconfig b/drivers/crypto/fsl/Kconfig index 294e1c8..9ed5663 100644 --- a/drivers/crypto/fsl/Kconfig +++ b/drivers/crypto/fsl/Kconfig @@ -69,7 +69,7 @@ config FSL_CAAM_JR_NTZ_ACCESS driver is used. config FSL_CAAM_RNG - bool "Enable Random Number Generator support" + bool "Enable CAAM Random Number Generator support" depends on DM_RNG default y help @@ -78,10 +78,17 @@ config FSL_CAAM_RNG using the prediction resistance flag which means the DRGB is reseeded from the TRNG every time random data is generated. +config SPL_FSL_CAAM_RNG + bool "Enable CAAM Random Number Generator support in SPL" + depends on SPL_DM_RNG + help + This option is an SPL-variant of the FSL_CAAM_RNG option. + See the help of FSL_CAAM_RNG for details. + endif config FSL_DCP_RNG - bool "Enable Random Number Generator support" + bool "Enable DCP Random Number Generator support" depends on DM_RNG help Enable support for the hardware based random number generator diff --git a/drivers/crypto/fsl/Makefile b/drivers/crypto/fsl/Makefile index 7a2543e..4fbce51 100644 --- a/drivers/crypto/fsl/Makefile +++ b/drivers/crypto/fsl/Makefile @@ -6,6 +6,6 @@ obj-y += sec.o obj-$(CONFIG_FSL_CAAM) += jr.o fsl_hash.o jobdesc.o error.o obj-$(CONFIG_CMD_BLOB)$(CONFIG_IMX_CAAM_DEK_ENCAP) += fsl_blob.o obj-$(CONFIG_RSA_FREESCALE_EXP) += fsl_rsa.o -obj-$(CONFIG_FSL_CAAM_RNG) += rng.o +obj-$(CONFIG_$(SPL_TPL_)FSL_CAAM_RNG) += rng.o obj-$(CONFIG_FSL_DCP_RNG) += dcp_rng.o obj-$(CONFIG_FSL_MFGPROT) += fsl_mfgprot.o diff --git a/drivers/crypto/fsl/jr.c b/drivers/crypto/fsl/jr.c index 203f162..8ae5c43 100644 --- a/drivers/crypto/fsl/jr.c +++ b/drivers/crypto/fsl/jr.c @@ -787,7 +787,7 @@ init: } #if CONFIG_IS_ENABLED(OF_CONTROL) if (ofnode_valid(scu_node)) { - if (IS_ENABLED(CONFIG_DM_RNG)) { + if (CONFIG_IS_ENABLED(DM_RNG)) { ret = device_bind_driver(NULL, "caam-rng", "caam-rng", NULL); if (ret) printf("Couldn't bind rng driver (%d)\n", ret); @@ -810,7 +810,7 @@ init: return -1; } - if (IS_ENABLED(CONFIG_DM_RNG)) { + if (CONFIG_IS_ENABLED(DM_RNG)) { ret = device_bind_driver(NULL, "caam-rng", "caam-rng", NULL); if (ret) diff --git a/drivers/rng/Kconfig b/drivers/rng/Kconfig index cd72852..5758ae1 100644 --- a/drivers/rng/Kconfig +++ b/drivers/rng/Kconfig @@ -6,6 +6,13 @@ config DM_RNG This interface is used to initialise the rng device and to read the random seed from the device. +config SPL_DM_RNG + bool "Driver support for Random Number Generator devices in SPL" + depends on SPL_DM + help + This option is an SPL-variant of the DM_RNG option. + See the help of DM_RNG for details. + if DM_RNG config RNG_MESON diff --git a/drivers/rng/Makefile b/drivers/rng/Makefile index ecae1a3..c1f1c61 100644 --- a/drivers/rng/Makefile +++ b/drivers/rng/Makefile @@ -3,7 +3,7 @@ # Copyright (c) 2019, Linaro Limited # -obj-$(CONFIG_DM_RNG) += rng-uclass.o +obj-$(CONFIG_$(SPL_TPL_)DM_RNG) += rng-uclass.o obj-$(CONFIG_RNG_MESON) += meson-rng.o obj-$(CONFIG_RNG_SANDBOX) += sandbox_rng.o obj-$(CONFIG_RNG_MSM) += msm_rng.o @@ -378,7 +378,7 @@ void gen_rand_uuid(unsigned char *uuid_bin) struct udevice *devp; u32 randv = 0; - if (IS_ENABLED(CONFIG_DM_RNG)) { + if (CONFIG_IS_ENABLED(DM_RNG)) { ret = uclass_get_device(UCLASS_RNG, 0, &devp); if (!ret) { ret = dm_rng_read(devp, &randv, sizeof(randv)); diff --git a/net/net_rand.h b/net/net_rand.h index d3c5559..686e85f 100644 --- a/net/net_rand.h +++ b/net/net_rand.h @@ -42,7 +42,7 @@ static inline void srand_mac(void) struct udevice *devp; u32 randv = 0; - if (IS_ENABLED(CONFIG_DM_RNG)) { + if (CONFIG_IS_ENABLED(DM_RNG)) { ret = uclass_get_device(UCLASS_RNG, 0, &devp); if (ret) { ret = dm_rng_read(devp, &randv, sizeof(randv)); diff --git a/test/dm/Makefile b/test/dm/Makefile index a3ce7b3..c12589d 100644 --- a/test/dm/Makefile +++ b/test/dm/Makefile @@ -102,7 +102,7 @@ obj-$(CONFIG_DM_RESET) += reset.o obj-$(CONFIG_SYSRESET) += sysreset.o obj-$(CONFIG_DM_REGULATOR) += regulator.o obj-$(CONFIG_CMD_RKMTD) += rkmtd.o -obj-$(CONFIG_DM_RNG) += rng.o +obj-$(CONFIG_$(SPL_TPL_)DM_RNG) += rng.o obj-$(CONFIG_DM_RTC) += rtc.o obj-$(CONFIG_SCMI_FIRMWARE) += scmi.o obj-$(CONFIG_SCSI) += scsi.o |