[PATCH] arm64: versal2: Show major and minor silicon version

Michal Simek michal.simek at amd.com
Wed Feb 26 10:54:39 CET 2025



On 2/18/25 13:43, Michal Simek wrote:
> ES1 silicon is 0x10 (16) and production is 0x20 (32) but correct number to
> see are v1.0 or v2.0 instead of v16 or v32.
> 
> Signed-off-by: Michal Simek <michal.simek at amd.com>
> ---
> 
>   arch/arm/mach-versal2/include/mach/hardware.h | 3 ++-
>   drivers/soc/soc_amd_versal2.c                 | 4 +++-
>   2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-versal2/include/mach/hardware.h b/arch/arm/mach-versal2/include/mach/hardware.h
> index 42e3061a0aea..15085f941e02 100644
> --- a/arch/arm/mach-versal2/include/mach/hardware.h
> +++ b/arch/arm/mach-versal2/include/mach/hardware.h
> @@ -51,7 +51,8 @@ struct crp_regs {
>   #define PMC_TAP_VERSION		(PMC_TAP + 0x4)
>   # define PMC_VERSION_MASK	GENMASK(7, 0)
>   # define PS_VERSION_MASK	GENMASK(15, 8)
> -# define PS_VERSION_PRODUCTION	0x20
> +# define PS_VERSION_MAJOR	GENMASK(7, 4)
> +# define PS_VERSION_MINOR	GENMASK(3, 0)
>   # define RTL_VERSION_MASK	GENMASK(23, 16)
>   # define PLATFORM_MASK		GENMASK(27, 24)
>   # define PLATFORM_VERSION_MASK	GENMASK(31, 28)
> diff --git a/drivers/soc/soc_amd_versal2.c b/drivers/soc/soc_amd_versal2.c
> index 66bcb22b4fa9..8507da0bd228 100644
> --- a/drivers/soc/soc_amd_versal2.c
> +++ b/drivers/soc/soc_amd_versal2.c
> @@ -35,7 +35,9 @@ static int soc_amd_versal2_get_revision(struct udevice *dev, char *buf, int size
>   {
>   	struct soc_amd_versal2_priv *priv = dev_get_priv(dev);
>   
> -	return snprintf(buf, size, "v%d", priv->revision);
> +	return snprintf(buf, size, "v%d.%d",
> +			(u32)FIELD_GET(PS_VERSION_MAJOR, priv->revision),
> +			(u32)FIELD_GET(PS_VERSION_MINOR, priv->revision));
>   }
>   
>   static const struct soc_ops soc_amd_versal2_ops = {

Applied.
M


More information about the U-Boot mailing list