[PATCH] soc: zynqmp: Add the IDcode for dr_SE and eg_SE variants

Michal Simek michal.simek at amd.com
Tue Feb 6 12:27:40 CET 2024



On 1/23/24 05:57, Venkatesh Yadav Abbarapu wrote:
> ID code is added for zu67dr_SE, zu11eg_SE, zu19eg_SE and zu47dr_SE
> variants. SE is the select edition of restricted devices with the
> capabilities.
> 
> Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu at amd.com>
> ---
>   drivers/soc/soc_xilinx_zynqmp.c | 28 +++++++++++++++++++++++++++-
>   1 file changed, 27 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/soc/soc_xilinx_zynqmp.c b/drivers/soc/soc_xilinx_zynqmp.c
> index d9a5944965..786825d920 100644
> --- a/drivers/soc/soc_xilinx_zynqmp.c
> +++ b/drivers/soc/soc_xilinx_zynqmp.c
> @@ -35,13 +35,15 @@ static const char zynqmp_family[] = "ZynqMP";
>   #define IDCODE2_PL_INIT_SHIFT	9
>   #define IDCODE2_PL_INIT_MASK	BIT(IDCODE2_PL_INIT_SHIFT)
>   
> -#define ZYNQMP_VERSION_SIZE	7
> +#define ZYNQMP_VERSION_SIZE	10
>   
>   enum {
>   	ZYNQMP_VARIANT_EG = BIT(0),
>   	ZYNQMP_VARIANT_EV = BIT(1),
>   	ZYNQMP_VARIANT_CG = BIT(2),
>   	ZYNQMP_VARIANT_DR = BIT(3),
> +	ZYNQMP_VARIANT_DR_SE = BIT(4),
> +	ZYNQMP_VARIANT_EG_SE = BIT(5),
>   };
>   
>   struct zynqmp_device {
> @@ -105,6 +107,11 @@ static const struct zynqmp_device zynqmp_devices[] = {
>   		.device = 11,
>   		.variants = ZYNQMP_VARIANT_EG,
>   	},
> +	{
> +		.id = 0x04741093,
> +		.device = 11,
> +		.variants = ZYNQMP_VARIANT_EG_SE,
> +	},
>   	{
>   		.id = 0x04750093,
>   		.device = 15,
> @@ -120,6 +127,11 @@ static const struct zynqmp_device zynqmp_devices[] = {
>   		.device = 19,
>   		.variants = ZYNQMP_VARIANT_EG,
>   	},
> +	{
> +		.id = 0x0475C093,
> +		.device = 19,
> +		.variants = ZYNQMP_VARIANT_EG_SE,
> +	},
>   	{
>   		.id = 0x047E1093,
>   		.device = 21,
> @@ -170,6 +182,11 @@ static const struct zynqmp_device zynqmp_devices[] = {
>   		.device = 47,
>   		.variants = ZYNQMP_VARIANT_DR,
>   	},
> +	{
> +		.id = 0x047FA093,
> +		.device = 47,
> +		.variants = ZYNQMP_VARIANT_DR_SE,
> +	},
>   	{
>   		.id = 0x047FB093,
>   		.device = 48,
> @@ -185,6 +202,11 @@ static const struct zynqmp_device zynqmp_devices[] = {
>   		.device = 67,
>   		.variants = ZYNQMP_VARIANT_DR,
>   	},
> +	{
> +		.id = 0x046d7093,
> +		.device = 67,
> +		.variants = ZYNQMP_VARIANT_DR_SE,
> +	},
>   	{
>   		.id = 0x04712093,
>   		.device = 24,
> @@ -271,8 +293,12 @@ static int soc_xilinx_zynqmp_detect_machine(struct udevice *dev, u32 idcode,
>   			"cg" : "eg", sizeof(priv->machine));
>   	} else if (device->variants & ZYNQMP_VARIANT_EG) {
>   		strlcat(priv->machine, "eg", sizeof(priv->machine));
> +	} else if (device->variants & ZYNQMP_VARIANT_EG_SE) {
> +		strlcat(priv->machine, "eg_SE", sizeof(priv->machine));
>   	} else if (device->variants & ZYNQMP_VARIANT_DR) {
>   		strlcat(priv->machine, "dr", sizeof(priv->machine));
> +	} else if (device->variants & ZYNQMP_VARIANT_DR_SE) {
> +		strlcat(priv->machine, "dr_SE", sizeof(priv->machine));
>   	}
>   
>   	return 0;

Applied.
M


More information about the U-Boot mailing list