[PATCH 1/2] hwrng: add driver for MediaTek TRNG SMC

Matthias Brugger matthias.bgg at gmail.com
Thu Feb 16 03:32:10 PST 2023



On 16/02/2023 11:03, AngeloGioacchino Del Regno wrote:
> Il 15/02/23 14:27, Daniel Golle ha scritto:
>> Add driver providing kernel-side support for the Random Number
>> Generator hardware found on Mediatek SoCs which have a driver in ARM
>> TrustedFirmware-A allowing Linux to read random numbers using a
>> non-standard vendor-defined Secure Monitor Call.
>>
>> Signed-off-by: Daniel Golle <daniel at makrotopia.org>
> 
> Hello Daniel,
> 
> incidentally, I've also done some research on this one some months ago, when
> I was deep in adding support for the Helio X10 SoC (MT6795) on Xperia M5.
> 
> The rng-v2 is simply the same rng but hypervised by the TF-A... and the only
> difference is, well, as you're also pointing out, that we're using secure
> monitor calls instead of direct MMIO handling.
> 
> There's also not much more than what you've implemented here and the only kind
> of addition that we will ever see on this one will be about changing the SIP
> command (as some older SoCs use a different one)... so...
> 
> ...I don't think that adding an entirely new driver is worth the noise, hence
> I propose to simply add handling for the Secure RNG to mtk-rng.c instead: it's
> shorter and we would only need to address one if branch on that probe function
> to set a different callback.
> 
> The clock should then be optional for *some* of those "v2 handling" devices,
> as if I recall correctly, some do need the clock to be handled from Linux
> anyway... otherwise this v2 driver will be "soon" looking bloody similar to
> the "v1", adding a bit of code duplication around.
> 
> What do you think?
> 

That was exactly what I was thinking as well when I had a look at the driver. I 
propose to add it to mtk-rng.c. I don't see any value having a second driver for 
this.

Regards,
Matthias

> Regards,
> Angelo
> 
>> ---
>>   MAINTAINERS                         |  1 +
>>   drivers/char/hw_random/Kconfig      | 16 +++++++
>>   drivers/char/hw_random/Makefile     |  1 +
>>   drivers/char/hw_random/mtk-rng-v2.c | 74 +++++++++++++++++++++++++++++
>>   4 files changed, 92 insertions(+)
>>   create mode 100644 drivers/char/hw_random/mtk-rng-v2.c
>>
> 



More information about the linux-arm-kernel mailing list