devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] RK3576 Hardware RNG
@ 2025-04-30 16:16 Nicolas Frattaroli
  2025-04-30 16:16 ` [PATCH 1/3] dt-bindings: rng: rockchip,rk3588-rng: add rk3576-rng compatible Nicolas Frattaroli
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Nicolas Frattaroli @ 2025-04-30 16:16 UTC (permalink / raw)
  To: Daniel Golle, Aurelien Jarno, Olivia Mackall, Herbert Xu,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
	Jonas Karlman
  Cc: Sebastian Reichel, kernel, linux-crypto, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel,
	Nicolas Frattaroli

Gee Nicolas, how come your mom lets you write two Rockchip HWRNG drivers
in a year?

In short, RK3576 (and RK3562 and RK3528) introduce another HWRNG IP. It
actually has quite a few cool features, but I ignored the cool bits and
went straight for the true entropy. Some of the cool bits someone else
may wish to add in the future: AES-CTR PRNG that's regularly reseeded
from the entropy, adjustments for oscillator and oscillator ring lengths
to maximise entropy generation, automatic continuous quality checking of
the produced entropy by the hardware itself, etc.

In testing, it seems to produce about 2 mbit/s of high quality entropy
on the RK3576 with its default settings when we read the TRNG entropy
output directly. That's less than we'd get if we had the hardware use
the PRNG to stretch it, but I've decided to leave that up to Linux's
entropy pool implementation for now.

RK3562 and RK3528 probably just need a compatible and a DTS node to
enable it as well, but I don't have any RK3562/RK3528 boards to test
this with, so it's not done in this series.

Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
---
Nicolas Frattaroli (3):
      dt-bindings: rng: rockchip,rk3588-rng: add rk3576-rng compatible
      hwrng: rockchip - add support for RK3576's RNG
      arm64: dts: rockchip: add RK3576 RNG node

 .../bindings/rng/rockchip,rk3588-rng.yaml          |  5 +-
 arch/arm64/boot/dts/rockchip/rk3576.dtsi           |  8 +++
 drivers/char/hw_random/rockchip-rng.c              | 73 ++++++++++++++++++++++
 3 files changed, 84 insertions(+), 2 deletions(-)
---
base-commit: 4e0a9c660788594b5b49ac07f0fbdccd2218431e
change-id: 20250429-rk3576-hwrng-8c308b5711ae

Best regards,
-- 
Nicolas Frattaroli <nicolas.frattaroli@collabora.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/3] dt-bindings: rng: rockchip,rk3588-rng: add rk3576-rng compatible
  2025-04-30 16:16 [PATCH 0/3] RK3576 Hardware RNG Nicolas Frattaroli
@ 2025-04-30 16:16 ` Nicolas Frattaroli
  2025-04-30 18:49   ` Krzysztof Kozlowski
  2025-04-30 16:16 ` [PATCH 2/3] hwrng: rockchip - add support for RK3576's RNG Nicolas Frattaroli
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 7+ messages in thread
From: Nicolas Frattaroli @ 2025-04-30 16:16 UTC (permalink / raw)
  To: Daniel Golle, Aurelien Jarno, Olivia Mackall, Herbert Xu,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
	Jonas Karlman
  Cc: Sebastian Reichel, kernel, linux-crypto, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel,
	Nicolas Frattaroli

The RK3576 SoC contains another standalone TRNG implementation. While
the register map and hardware is different, it has the same
clocks/interrupts/resets as the RK3588's TRNG, so can go in the same
binding.

Add the compatible and generalise the title/description of the binding
some more.

Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
---
 Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml b/Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml
index ca71b400bcaee4ad9d9c96102fd5940233c2c70f..fcc5be80142dfae1952652907a5fafe8504e36c0 100644
--- a/Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml
+++ b/Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml
@@ -4,9 +4,9 @@
 $id: http://devicetree.org/schemas/rng/rockchip,rk3588-rng.yaml#
 $schema: http://devicetree.org/meta-schemas/core.yaml#
 
-title: Rockchip RK3588 TRNG
+title: Rockchip RK3576/RK3588 TRNG
 
-description: True Random Number Generator on Rockchip RK3588 SoC
+description: True Random Number Generator on Rockchip RK3576/RK3588 SoCs
 
 maintainers:
   - Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
@@ -14,6 +14,7 @@ maintainers:
 properties:
   compatible:
     enum:
+      - rockchip,rk3576-rng
       - rockchip,rk3588-rng
 
   reg:

-- 
2.49.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] hwrng: rockchip - add support for RK3576's RNG
  2025-04-30 16:16 [PATCH 0/3] RK3576 Hardware RNG Nicolas Frattaroli
  2025-04-30 16:16 ` [PATCH 1/3] dt-bindings: rng: rockchip,rk3588-rng: add rk3576-rng compatible Nicolas Frattaroli
@ 2025-04-30 16:16 ` Nicolas Frattaroli
  2025-04-30 16:16 ` [PATCH 3/3] arm64: dts: rockchip: add RK3576 RNG node Nicolas Frattaroli
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Nicolas Frattaroli @ 2025-04-30 16:16 UTC (permalink / raw)
  To: Daniel Golle, Aurelien Jarno, Olivia Mackall, Herbert Xu,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
	Jonas Karlman
  Cc: Sebastian Reichel, kernel, linux-crypto, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel,
	Nicolas Frattaroli

The Rockchip RK3576 SoC uses a new hardware random number generator IP.
It's also used on the Rockchip RK3562 and the Rockchip RK3528.

It has several modes of operation and self-checking features that are
not implemented here. For starters, it has a DRNG output, which is an
AES-CTR pseudo-random number generator that can be reseeded from the
true entropy regularly.

However, it also allows for access of the true entropy generator
directly. This entropy is generated from an oscillator.

There are several configuration registers which we don't touch here. The
oscillator can be switched between a "CRO" and "STR" oscillator, and the
length of the oscillator can be configured.

The hardware also supports some automatic continuous entropy quality
checking, which is also not implemented in this driver for the time
being.

The output as-is has been deemed sufficient to be useful:

  rngtest: starting FIPS tests...
  rngtest: bits received from input: 20000032
  rngtest: FIPS 140-2 successes: 997
  rngtest: FIPS 140-2 failures: 3
  rngtest: FIPS 140-2(2001-10-10) Monobit: 0
  rngtest: FIPS 140-2(2001-10-10) Poker: 1
  rngtest: FIPS 140-2(2001-10-10) Runs: 1
  rngtest: FIPS 140-2(2001-10-10) Long run: 1
  rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
  rngtest: input channel speed: (min=17.050; avg=1897.272;
           max=19531250.000)Kibits/s
  rngtest: FIPS tests speed: (min=44.773; avg=71.179; max=96.820)Mibits/s
  rngtest: Program run time: 11760715 microseconds
  rngtest: bits received from input: 40000032
  rngtest: FIPS 140-2 successes: 1997
  rngtest: FIPS 140-2 failures: 3
  rngtest: FIPS 140-2(2001-10-10) Monobit: 0
  rngtest: FIPS 140-2(2001-10-10) Poker: 1
  rngtest: FIPS 140-2(2001-10-10) Runs: 1
  rngtest: FIPS 140-2(2001-10-10) Long run: 1
  rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
  rngtest: input channel speed: (min=17.050; avg=1798.618;
           max=19531250.000)Kibits/s
  rngtest: FIPS tests speed: (min=44.773; avg=64.561; max=96.820)Mibits/s
  rngtest: Program run time: 23507723 microseconds

Stretching the entropy can then be left up to Linux's actual entropy
pool.

Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
---
 drivers/char/hw_random/rockchip-rng.c | 73 +++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/drivers/char/hw_random/rockchip-rng.c b/drivers/char/hw_random/rockchip-rng.c
index 161050591663d9ed61ca013631c86f40db7d348f..fb4a30b955075889191d960cf03364af7f5b7069 100644
--- a/drivers/char/hw_random/rockchip-rng.c
+++ b/drivers/char/hw_random/rockchip-rng.c
@@ -93,6 +93,30 @@
 #define TRNG_v1_VERSION_CODE			0x46bc
 /* end of TRNG_V1 register definitions */
 
+/*
+ * RKRNG register definitions
+ * The RKRNG IP is a stand-alone TRNG implementation (not part of a crypto IP)
+ * and can be found in the Rockchip RK3576, Rockchip RK3562 and Rockchip RK3528
+ * SoCs. It can either output true randomness (TRNG) or "deterministic"
+ * randomness derived from hashing the true entropy (DRNG). This driver
+ * implementation uses just the true entropy, and leaves stretching the entropy
+ * up to Linux.
+ */
+#define RKRNG_CFG				0x0000
+#define RKRNG_CTRL				0x0010
+#define RKRNG_CTRL_REQ_TRNG			BIT(4)
+#define RKRNG_STATE				0x0014
+#define RKRNG_STATE_TRNG_RDY			BIT(4)
+#define RKRNG_TRNG_DATA0			0x0050
+#define RKRNG_TRNG_DATA1			0x0054
+#define RKRNG_TRNG_DATA2			0x0058
+#define RKRNG_TRNG_DATA3			0x005C
+#define RKRNG_TRNG_DATA4			0x0060
+#define RKRNG_TRNG_DATA5			0x0064
+#define RKRNG_TRNG_DATA6			0x0068
+#define RKRNG_TRNG_DATA7			0x006C
+#define RKRNG_READ_LEN				32
+
 /* Before removing this assert, give rk3588_rng_read an upper bound of 32 */
 static_assert(RK_RNG_MAX_BYTE <= (TRNG_V1_RAND7 + 4 - TRNG_V1_RAND0),
 	      "You raised RK_RNG_MAX_BYTE and broke rk3588-rng, congrats.");
@@ -205,6 +229,46 @@ static int rk3568_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait)
 	return (ret < 0) ? ret : to_read;
 }
 
+static int rk3576_rng_init(struct hwrng *rng)
+{
+	struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
+
+	return rk_rng_enable_clks(rk_rng);
+}
+
+static int rk3576_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait)
+{
+	struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
+	size_t to_read = min_t(size_t, max, RKRNG_READ_LEN);
+	int ret = 0;
+	u32 val;
+
+	ret = pm_runtime_resume_and_get(rk_rng->dev);
+	if (ret < 0)
+		return ret;
+
+	rk_rng_writel(rk_rng, RKRNG_CTRL_REQ_TRNG | (RKRNG_CTRL_REQ_TRNG << 16),
+		      RKRNG_CTRL);
+
+	if (readl_poll_timeout(rk_rng->base + RKRNG_STATE, val,
+			       (val & RKRNG_STATE_TRNG_RDY), RK_RNG_POLL_PERIOD_US,
+			       RK_RNG_POLL_TIMEOUT_US)) {
+		dev_err(rk_rng->dev, "timed out waiting for data\n");
+		ret = -ETIMEDOUT;
+		goto out;
+	}
+
+	rk_rng_writel(rk_rng, RKRNG_STATE_TRNG_RDY, RKRNG_STATE);
+
+	memcpy_fromio(buf, rk_rng->base + RKRNG_TRNG_DATA0, to_read);
+
+out:
+	pm_runtime_mark_last_busy(rk_rng->dev);
+	pm_runtime_put_sync_autosuspend(rk_rng->dev);
+
+	return (ret < 0) ? ret : to_read;
+}
+
 static int rk3588_rng_init(struct hwrng *rng)
 {
 	struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
@@ -305,6 +369,14 @@ static const struct rk_rng_soc_data rk3568_soc_data = {
 	.reset_optional = false,
 };
 
+static const struct rk_rng_soc_data rk3576_soc_data = {
+	.rk_rng_init = rk3576_rng_init,
+	.rk_rng_read = rk3576_rng_read,
+	.rk_rng_cleanup = rk3588_rng_cleanup,
+	.quality = 999,		/* as determined by actual testing */
+	.reset_optional = true,
+};
+
 static const struct rk_rng_soc_data rk3588_soc_data = {
 	.rk_rng_init = rk3588_rng_init,
 	.rk_rng_read = rk3588_rng_read,
@@ -397,6 +469,7 @@ static const struct dev_pm_ops rk_rng_pm_ops = {
 
 static const struct of_device_id rk_rng_dt_match[] = {
 	{ .compatible = "rockchip,rk3568-rng", .data = (void *)&rk3568_soc_data },
+	{ .compatible = "rockchip,rk3576-rng", .data = (void *)&rk3576_soc_data },
 	{ .compatible = "rockchip,rk3588-rng", .data = (void *)&rk3588_soc_data },
 	{ /* sentinel */ },
 };

-- 
2.49.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] arm64: dts: rockchip: add RK3576 RNG node
  2025-04-30 16:16 [PATCH 0/3] RK3576 Hardware RNG Nicolas Frattaroli
  2025-04-30 16:16 ` [PATCH 1/3] dt-bindings: rng: rockchip,rk3588-rng: add rk3576-rng compatible Nicolas Frattaroli
  2025-04-30 16:16 ` [PATCH 2/3] hwrng: rockchip - add support for RK3576's RNG Nicolas Frattaroli
@ 2025-04-30 16:16 ` Nicolas Frattaroli
  2025-05-05 12:27 ` [PATCH 0/3] RK3576 Hardware RNG Herbert Xu
  2025-05-05 13:01 ` (subset) " Heiko Stuebner
  4 siblings, 0 replies; 7+ messages in thread
From: Nicolas Frattaroli @ 2025-04-30 16:16 UTC (permalink / raw)
  To: Daniel Golle, Aurelien Jarno, Olivia Mackall, Herbert Xu,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
	Jonas Karlman
  Cc: Sebastian Reichel, kernel, linux-crypto, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel,
	Nicolas Frattaroli

The RK3576 has a hardware random number generator IP built into the SoC.

Add it to the SoC's .dtsi, now that there's a binding and driver for it.

Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
---
 arch/arm64/boot/dts/rockchip/rk3576.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts/rockchip/rk3576.dtsi
index a6bfef82d50bc9b0203a04324d61e0f232b61a65..ce8bcab215c0e6b7786ab3baae6977072497ed2f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi
@@ -1527,6 +1527,14 @@ sfc0: spi@2a340000 {
 			status = "disabled";
 		};
 
+		rng: rng@2a410000 {
+			compatible = "rockchip,rk3576-rng";
+			reg = <0x0 0x2a410000 0x0 0x200>;
+			clocks = <&cru HCLK_TRNG_NS>;
+			interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&cru SRST_H_TRNG_NS>;
+		};
+
 		otp: otp@2a580000 {
 			compatible = "rockchip,rk3576-otp";
 			reg = <0x0 0x2a580000 0x0 0x400>;

-- 
2.49.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] dt-bindings: rng: rockchip,rk3588-rng: add rk3576-rng compatible
  2025-04-30 16:16 ` [PATCH 1/3] dt-bindings: rng: rockchip,rk3588-rng: add rk3576-rng compatible Nicolas Frattaroli
@ 2025-04-30 18:49   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2025-04-30 18:49 UTC (permalink / raw)
  To: Nicolas Frattaroli, Daniel Golle, Aurelien Jarno, Olivia Mackall,
	Herbert Xu, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Heiko Stuebner, Jonas Karlman
  Cc: Sebastian Reichel, kernel, linux-crypto, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel

On 30/04/2025 18:16, Nicolas Frattaroli wrote:
> The RK3576 SoC contains another standalone TRNG implementation. While
> the register map and hardware is different, it has the same
> clocks/interrupts/resets as the RK3588's TRNG, so can go in the same
> binding.
> 
> Add the compatible and generalise the title/description of the binding
> some more.
> 
> Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
> ---

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/3] RK3576 Hardware RNG
  2025-04-30 16:16 [PATCH 0/3] RK3576 Hardware RNG Nicolas Frattaroli
                   ` (2 preceding siblings ...)
  2025-04-30 16:16 ` [PATCH 3/3] arm64: dts: rockchip: add RK3576 RNG node Nicolas Frattaroli
@ 2025-05-05 12:27 ` Herbert Xu
  2025-05-05 13:01 ` (subset) " Heiko Stuebner
  4 siblings, 0 replies; 7+ messages in thread
From: Herbert Xu @ 2025-05-05 12:27 UTC (permalink / raw)
  To: Nicolas Frattaroli
  Cc: Daniel Golle, Aurelien Jarno, Olivia Mackall, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Jonas Karlman,
	Sebastian Reichel, kernel, linux-crypto, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel

On Wed, Apr 30, 2025 at 06:16:33PM +0200, Nicolas Frattaroli wrote:
> Gee Nicolas, how come your mom lets you write two Rockchip HWRNG drivers
> in a year?
> 
> In short, RK3576 (and RK3562 and RK3528) introduce another HWRNG IP. It
> actually has quite a few cool features, but I ignored the cool bits and
> went straight for the true entropy. Some of the cool bits someone else
> may wish to add in the future: AES-CTR PRNG that's regularly reseeded
> from the entropy, adjustments for oscillator and oscillator ring lengths
> to maximise entropy generation, automatic continuous quality checking of
> the produced entropy by the hardware itself, etc.
> 
> In testing, it seems to produce about 2 mbit/s of high quality entropy
> on the RK3576 with its default settings when we read the TRNG entropy
> output directly. That's less than we'd get if we had the hardware use
> the PRNG to stretch it, but I've decided to leave that up to Linux's
> entropy pool implementation for now.
> 
> RK3562 and RK3528 probably just need a compatible and a DTS node to
> enable it as well, but I don't have any RK3562/RK3528 boards to test
> this with, so it's not done in this series.
> 
> Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
> ---
> Nicolas Frattaroli (3):
>       dt-bindings: rng: rockchip,rk3588-rng: add rk3576-rng compatible
>       hwrng: rockchip - add support for RK3576's RNG
>       arm64: dts: rockchip: add RK3576 RNG node
> 
>  .../bindings/rng/rockchip,rk3588-rng.yaml          |  5 +-
>  arch/arm64/boot/dts/rockchip/rk3576.dtsi           |  8 +++
>  drivers/char/hw_random/rockchip-rng.c              | 73 ++++++++++++++++++++++
>  3 files changed, 84 insertions(+), 2 deletions(-)
> ---
> base-commit: 4e0a9c660788594b5b49ac07f0fbdccd2218431e
> change-id: 20250429-rk3576-hwrng-8c308b5711ae
> 
> Best regards,
> -- 
> Nicolas Frattaroli <nicolas.frattaroli@collabora.com>

Patches 1-2 applied.  Thanks.
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: (subset) [PATCH 0/3] RK3576 Hardware RNG
  2025-04-30 16:16 [PATCH 0/3] RK3576 Hardware RNG Nicolas Frattaroli
                   ` (3 preceding siblings ...)
  2025-05-05 12:27 ` [PATCH 0/3] RK3576 Hardware RNG Herbert Xu
@ 2025-05-05 13:01 ` Heiko Stuebner
  4 siblings, 0 replies; 7+ messages in thread
From: Heiko Stuebner @ 2025-05-05 13:01 UTC (permalink / raw)
  To: Daniel Golle, Aurelien Jarno, Olivia Mackall, Herbert Xu,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jonas Karlman,
	Nicolas Frattaroli
  Cc: Heiko Stuebner, Sebastian Reichel, kernel, linux-crypto,
	devicetree, linux-arm-kernel, linux-rockchip, linux-kernel


On Wed, 30 Apr 2025 18:16:33 +0200, Nicolas Frattaroli wrote:
> Gee Nicolas, how come your mom lets you write two Rockchip HWRNG drivers
> in a year?
> 
> In short, RK3576 (and RK3562 and RK3528) introduce another HWRNG IP. It
> actually has quite a few cool features, but I ignored the cool bits and
> went straight for the true entropy. Some of the cool bits someone else
> may wish to add in the future: AES-CTR PRNG that's regularly reseeded
> from the entropy, adjustments for oscillator and oscillator ring lengths
> to maximise entropy generation, automatic continuous quality checking of
> the produced entropy by the hardware itself, etc.
> 
> [...]

Applied, thanks!

[3/3] arm64: dts: rockchip: add RK3576 RNG node
      commit: 5268f3b5d29887480011b44567bcbf0d422cda94

Best regards,
-- 
Heiko Stuebner <heiko@sntech.de>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-05-05 13:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-30 16:16 [PATCH 0/3] RK3576 Hardware RNG Nicolas Frattaroli
2025-04-30 16:16 ` [PATCH 1/3] dt-bindings: rng: rockchip,rk3588-rng: add rk3576-rng compatible Nicolas Frattaroli
2025-04-30 18:49   ` Krzysztof Kozlowski
2025-04-30 16:16 ` [PATCH 2/3] hwrng: rockchip - add support for RK3576's RNG Nicolas Frattaroli
2025-04-30 16:16 ` [PATCH 3/3] arm64: dts: rockchip: add RK3576 RNG node Nicolas Frattaroli
2025-05-05 12:27 ` [PATCH 0/3] RK3576 Hardware RNG Herbert Xu
2025-05-05 13:01 ` (subset) " Heiko Stuebner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).