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 <jo...@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.g...@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@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@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,
>>      },
>>      {
> 

Reply via email to