[PATCH 10/15] rng: rockchip: Use same compatible as linux

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Feb 7 08:12:47 CET 2024


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.

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