[PATCH 10/15] rng: rockchip: Use same compatible as linux
Jonas Karlman
jonas at kwiboo.se
Wed Feb 7 09:26:36 CET 2024
On 2024-02-07 08:12, Heinrich Schuchardt wrote:
> On 2/7/24 01:02, Jonas Karlman wrote:
>> Replace the rockchip,cryptov1-rng compatible with compatibles used in
>> the linux device tree for RK3288, RK3328 and RK3399 to ease sync of SoC
>> device tree from linux.
>>
>> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
>
> It is strange that U-Boot only uses the random number generation while
> Linux only seems to use the crypto algorithm acceleration.
>
> U-Boot has some crypto accelerator drivers in drivers/crypto/. But here
> we only make use of modular exponentiation (see struct mod_exp_ops). We
> could improve on crypto acceleration.
I believe kaslrseed was the main intended use case of this driver in
U-Boot, and the TRNG feature of crypto hw block can serve that purpose.
Regards,
Jonas
>
> The current change looks good to me.
>
> Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
>
>> ---
>> arch/arm/dts/rk3328-u-boot.dtsi | 2 +-
>> arch/arm/dts/rk3399-u-boot.dtsi | 2 +-
>> drivers/rng/rockchip_rng.c | 10 +++++++++-
>> 3 files changed, 11 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/arm/dts/rk3328-u-boot.dtsi b/arch/arm/dts/rk3328-u-boot.dtsi
>> index e087b02893c1..d805c2f394f8 100644
>> --- a/arch/arm/dts/rk3328-u-boot.dtsi
>> +++ b/arch/arm/dts/rk3328-u-boot.dtsi
>> @@ -28,7 +28,7 @@
>> };
>>
>> rng: rng at ff060000 {
>> - compatible = "rockchip,cryptov1-rng";
>> + compatible = "rockchip,rk3328-crypto";
>> reg = <0x0 0xff060000 0x0 0x4000>;
>> status = "okay";
>> };
>> diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi
>> index 3423b882c437..87b173e59579 100644
>> --- a/arch/arm/dts/rk3399-u-boot.dtsi
>> +++ b/arch/arm/dts/rk3399-u-boot.dtsi
>> @@ -30,7 +30,7 @@
>> };
>>
>> rng: rng at ff8b8000 {
>> - compatible = "rockchip,cryptov1-rng";
>> + compatible = "rockchip,rk3399-crypto";
>> reg = <0x0 0xff8b8000 0x0 0x1000>;
>> status = "okay";
>> };
>> diff --git a/drivers/rng/rockchip_rng.c b/drivers/rng/rockchip_rng.c
>> index 705b424cf3dd..e82b5572fec5 100644
>> --- a/drivers/rng/rockchip_rng.c
>> +++ b/drivers/rng/rockchip_rng.c
>> @@ -302,7 +302,15 @@ static const struct dm_rng_ops rockchip_rng_ops = {
>>
>> static const struct udevice_id rockchip_rng_match[] = {
>> {
>> - .compatible = "rockchip,cryptov1-rng",
>> + .compatible = "rockchip,rk3288-crypto",
>> + .data = (ulong)&rk_cryptov1_soc_data,
>> + },
>> + {
>> + .compatible = "rockchip,rk3328-crypto",
>> + .data = (ulong)&rk_cryptov1_soc_data,
>> + },
>> + {
>> + .compatible = "rockchip,rk3399-crypto",
>> .data = (ulong)&rk_cryptov1_soc_data,
>> },
>> {
>
More information about the U-Boot
mailing list