[PATCH 1/2] dt-bindings: rng: mtk-rng: add SMC-based TRNG variants

From: Daniel Golle

Date: Tue Mar 03 2026 - 19:56:10 EST


Add compatible strings for MediaTek SoCs where the hardware random number
generator is accessed via a vendor-defined Secure Monitor Call (SMC)
rather than direct MMIO register access:

- mediatek,mt7981-rng
- mediatek,mt7987-rng
- mediatek,mt7988-rng

These variants require no reg, clocks, or clock-names properties since
the RNG hardware is managed by ARM Trusted Firmware-A.

Relax the $nodename pattern to also allow 'rng' in addition to the
existing 'rng@...' pattern.

Add a second example showing the minimal SMC variant binding.

Signed-off-by: Daniel Golle <daniel@xxxxxxxxxxxxxx>
---
.../devicetree/bindings/rng/mtk-rng.yaml | 28 ++++++++++++++++---
1 file changed, 24 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/rng/mtk-rng.yaml b/Documentation/devicetree/bindings/rng/mtk-rng.yaml
index 7e8dc62e5d3a6..6074758552ac3 100644
--- a/Documentation/devicetree/bindings/rng/mtk-rng.yaml
+++ b/Documentation/devicetree/bindings/rng/mtk-rng.yaml
@@ -11,12 +11,15 @@ maintainers:

properties:
$nodename:
- pattern: "^rng@[0-9a-f]+$"
+ pattern: "^rng(@[0-9a-f]+)?$"

compatible:
oneOf:
- enum:
- mediatek,mt7623-rng
+ - mediatek,mt7981-rng
+ - mediatek,mt7987-rng
+ - mediatek,mt7988-rng
- items:
- enum:
- mediatek,mt7622-rng
@@ -38,9 +41,22 @@ properties:

required:
- compatible
- - reg
- - clocks
- - clock-names
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ not:
+ contains:
+ enum:
+ - mediatek,mt7981-rng
+ - mediatek,mt7987-rng
+ - mediatek,mt7988-rng
+ then:
+ required:
+ - reg
+ - clocks
+ - clock-names

additionalProperties: false

@@ -53,3 +69,7 @@ examples:
clocks = <&infracfg CLK_INFRA_TRNG>;
clock-names = "rng";
};
+ - |
+ rng {
+ compatible = "mediatek,mt7981-rng";
+ };
--
2.53.0