Re: [PATCH] arm64: dts: ti: k3-am62p-j722s: add rng node

From: Kumar, Udit
Date: Mon Mar 31 2025 - 13:13:26 EST


Thanks Michael,

On 3/31/2025 4:28 PM, Michael Walle wrote:
Hi Udit,

Add the node for the random number generator inside the crypto module.

Signed-off-by: Michael Walle <mwalle@xxxxxxxxxx>
---
This was tested on a J722S/AM67A. Also, according to the TRM this is the
Could you re-confirm please , after adding this node.  you selected trng
offered by Linux
# cat /sys/devices/virtual/misc/hw_random/rng_current
40910000.rng
# cat /sys/devices/virtual/misc/hw_random/rng_available
40910000.rng
# dd if=/dev/hwrng bs=16 count=1 | hexdump -C
1+0 records in
1+0 records out
00000000 92 f5 44 09 fd 86 6b a2 39 d6 ad f3 e6 ec 03 4a |..D...k.9......J|
00000010
# dd if=/dev/hwrng bs=16 count=1 | hexdump -C
1+0 records in
1+0 records out
00000000 a3 73 da d2 5b 94 83 2a 75 11 ca b3 99 d3 87 88 |.s..[..*u.......|
00000010

Thanks for checking this



MCU instance of the SA3UL. But it's defined in -main.dtsi. Is this
correct?
Yes this is correct,

please refer

https://www.ti.com/lit/zip/sprujb3 ; SPRUJB3A.pdf

table 2.1 Main Memory map, this node falls under main domain
Ok. Not sure, how I came to the conclusion that this is an MCU
instance.

---
arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi
index 6e3beb5c2e01..e868e006318e 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi
[..]
For completeness , this is ok to add this node but should be kept disabled
Shouldn't it be "reserved" then, see [1].

yes, should be reserved.

With marking status as reserved.

Please use Reviewed-by: Udit Kumar <u-kumar1@xxxxxx>



similar to

https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi#L662
j784s4, j721e and j721s2 have them enabled. What is the rule here?

J784s4, j721e and j721s2 SOCs has two TRNG blocks,

example for j721e, one is used by kernel [0] and another by optee [1].



You also disable the hwrng in optee in your evm according to [2]:
CFG_WITH_SOFTWARE_PRNG=y

We are planning to use this hardware block by secure firmware.

Therefore request not to use by optee as well



-michael

[0] https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi#L531

[1] https://github.com/OP-TEE/optee_os/blob/master/core/arch/arm/plat-k3/platform_config.h#L67


[1] https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html?highlight=reservered#status
[2] https://docs.u-boot.org/en/latest/board/ti/j722s_evm.html