bcm27xx: enable bcm2711 HW RNG
authorÁlvaro Fernández Rojas <noltari@gmail.com>
Sat, 20 Feb 2021 18:53:50 +0000 (19:53 +0100)
committerÁlvaro Fernández Rojas <noltari@gmail.com>
Sat, 20 Feb 2021 18:53:50 +0000 (19:53 +0100)
Also add a patch setting its quality, which should make it usable by khwrngd.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
target/linux/bcm27xx/bcm2709/config-5.4
target/linux/bcm27xx/bcm2711/config-5.4
target/linux/bcm27xx/patches-5.4/960-hwrng-iproc-set-quality-to-1000.patch [new file with mode: 0644]

index 98ac43375230c29bd4782ad53f7f68f31b6e5fed..a4f6b3c0b4294bb67bc6371e77be8949697c656a 100644 (file)
@@ -246,6 +246,7 @@ CONFIG_HOTPLUG_CPU=y
 CONFIG_HW_CONSOLE=y
 CONFIG_HW_RANDOM=y
 CONFIG_HW_RANDOM_BCM2835=y
+CONFIG_HW_RANDOM_IPROC_RNG200=y
 CONFIG_HZ=100
 CONFIG_HZ_100=y
 CONFIG_HZ_FIXED=0
index 2ba8bfba3d3e5238612b74f95a42d289a5fc2caa..df6237f51e15294b8dadf3369d3708b8fcda0bba 100644 (file)
@@ -258,6 +258,7 @@ CONFIG_HOTPLUG_CPU=y
 CONFIG_HW_CONSOLE=y
 CONFIG_HW_RANDOM=y
 CONFIG_HW_RANDOM_BCM2835=y
+CONFIG_HW_RANDOM_IPROC_RNG200=y
 CONFIG_HZ=250
 CONFIG_HZ_250=y
 CONFIG_I2C=y
diff --git a/target/linux/bcm27xx/patches-5.4/960-hwrng-iproc-set-quality-to-1000.patch b/target/linux/bcm27xx/patches-5.4/960-hwrng-iproc-set-quality-to-1000.patch
new file mode 100644 (file)
index 0000000..0ceec49
--- /dev/null
@@ -0,0 +1,25 @@
+From d3e5e7f3a4e6f61e8c380b9a610212267ee72dbd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
+Date: Sat, 20 Feb 2021 19:24:50 +0100
+Subject: [PATCH] hwrng: iproc: set quality to 1000
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This allows khwrngd to make use of iproc-rng200.
+
+Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
+---
+ drivers/char/hw_random/iproc-rng200.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/char/hw_random/iproc-rng200.c
++++ b/drivers/char/hw_random/iproc-rng200.c
+@@ -270,6 +270,7 @@ static int iproc_rng200_probe(struct pla
+       priv->rng.name = pdev->name;
+       priv->rng.cleanup = iproc_rng200_cleanup;
++      priv->rng.quality = 1000;
+       if (of_device_is_compatible(dev->of_node, "brcm,bcm2711-rng200")) {
+               priv->rng.init = bcm2711_rng200_init;