Backport support for RK3588 hardware RNG driver. Signed-off-by: Marty Jones <mj8263788@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19366 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
91 lines
2.6 KiB
Diff
91 lines
2.6 KiB
Diff
From e00fc3d6e7c2d0b2ab5cf03a576df39cd94479aa Mon Sep 17 00:00:00 2001
|
|
From: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
|
|
Date: Tue, 4 Feb 2025 16:35:47 +0100
|
|
Subject: [PATCH] dt-bindings: rng: add binding for Rockchip RK3588 RNG
|
|
|
|
The Rockchip RK3588 SoC has two hardware RNGs accessible to the
|
|
non-secure world: an RNG in the Crypto IP, and a standalone RNG that is
|
|
new to this SoC.
|
|
|
|
Add a binding for this new standalone RNG. It is distinct hardware from
|
|
the existing rockchip,rk3568-rng, and therefore gets its own binding as
|
|
the two hardware IPs are unrelated other than both being made by the
|
|
same vendor.
|
|
|
|
The RNG is capable of firing an interrupt when entropy is ready.
|
|
|
|
The reset is optional, as the hardware does a power-on reset, and
|
|
functions without the software manually resetting it.
|
|
|
|
Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
|
|
Acked-by: Conor Dooley <conor.dooley@microchip.com>
|
|
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
---
|
|
.../bindings/rng/rockchip,rk3588-rng.yaml | 60 +++++++++++++++++++
|
|
MAINTAINERS | 1 +
|
|
2 files changed, 61 insertions(+)
|
|
create mode 100644 Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml
|
|
|
|
--- /dev/null
|
|
+++ b/Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml
|
|
@@ -0,0 +1,60 @@
|
|
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
+%YAML 1.2
|
|
+---
|
|
+$id: http://devicetree.org/schemas/rng/rockchip,rk3588-rng.yaml#
|
|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
+
|
|
+title: Rockchip RK3588 TRNG
|
|
+
|
|
+description: True Random Number Generator on Rockchip RK3588 SoC
|
|
+
|
|
+maintainers:
|
|
+ - Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
|
|
+
|
|
+properties:
|
|
+ compatible:
|
|
+ enum:
|
|
+ - rockchip,rk3588-rng
|
|
+
|
|
+ reg:
|
|
+ maxItems: 1
|
|
+
|
|
+ clocks:
|
|
+ items:
|
|
+ - description: TRNG AHB clock
|
|
+
|
|
+ interrupts:
|
|
+ maxItems: 1
|
|
+
|
|
+ resets:
|
|
+ maxItems: 1
|
|
+
|
|
+required:
|
|
+ - compatible
|
|
+ - reg
|
|
+ - clocks
|
|
+ - interrupts
|
|
+
|
|
+additionalProperties: false
|
|
+
|
|
+examples:
|
|
+ - |
|
|
+ #include <dt-bindings/clock/rockchip,rk3588-cru.h>
|
|
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
+ #include <dt-bindings/interrupt-controller/irq.h>
|
|
+ #include <dt-bindings/reset/rockchip,rk3588-cru.h>
|
|
+ bus {
|
|
+ #address-cells = <2>;
|
|
+ #size-cells = <2>;
|
|
+
|
|
+ rng@fe378000 {
|
|
+ compatible = "rockchip,rk3588-rng";
|
|
+ reg = <0x0 0xfe378000 0x0 0x200>;
|
|
+ interrupts = <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH 0>;
|
|
+ clocks = <&scmi_clk SCMI_HCLK_SECURE_NS>;
|
|
+ resets = <&scmi_reset SCMI_SRST_H_TRNG_NS>;
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+
|
|
+...
|