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>
pull/1188/head
Nicolas Frattaroli 2025-02-04 16:35:47 +01:00 committed by Herbert Xu
parent 849d9db170
commit e00fc3d6e7
2 changed files with 61 additions and 0 deletions

View File

@ -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";
};
};
...

View File

@ -20440,6 +20440,7 @@ M: Daniel Golle <daniel@makrotopia.org>
M: Aurelien Jarno <aurelien@aurel32.net>
S: Maintained
F: Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml
F: Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml
F: drivers/char/hw_random/rockchip-rng.c
ROCKCHIP RASTER 2D GRAPHIC ACCELERATION UNIT DRIVER