]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
soc: zynqmp: Add the IDcode for dr_SE and eg_SE variants
authorVenkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Tue, 23 Jan 2024 04:57:15 +0000 (10:27 +0530)
committerMichal Simek <michal.simek@amd.com>
Mon, 12 Feb 2024 08:28:31 +0000 (09:28 +0100)
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@amd.com>
Link: https://lore.kernel.org/r/20240123045715.893652-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
drivers/soc/soc_xilinx_zynqmp.c

index d9a5944965ba03649471f55e7740c90e33d66648..786825d920c5763982678d844a3973997773b4cc 100644 (file)
@@ -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;