zynqmp: Ignore the revision field of the IDCODE
authorSoren Brinkmann <soren.brinkmann@xilinx.com>
Fri, 20 May 2016 14:05:00 +0000 (07:05 -0700)
committerSoren Brinkmann <soren.brinkmann@xilinx.com>
Wed, 25 May 2016 06:07:12 +0000 (23:07 -0700)
The revision field may change between silicon revisions without changing
the mapping to a part. This avoids errors like:
  ERROR: Incorrect XILINX IDCODE 0x14738093, maskid 0x4600093
  NOTICE: ATF running on XCZUUNKN/EP108 v3/RTL5.1 at 0xfffe5000
on parts with a newer revision.

Reported-by: Love Kumar <love.kumar@xilinx.com>
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Love Kumar <love.kumar@xilinx.com>
plat/xilinx/zynqmp/aarch64/zynqmp_common.c

index 21d62570f31729cbf9595ef56cdb001062e57a22..aefc827ccaa0ee46a065cc4fcca322033cb025e5 100644 (file)
@@ -183,11 +183,9 @@ static char *zynqmp_print_silicon_idcode(void)
 
        tmp = id;
        tmp &= ZYNQMP_CSU_IDCODE_XILINX_ID_MASK |
-              ZYNQMP_CSU_IDCODE_FAMILY_MASK |
-              ZYNQMP_CSU_IDCODE_REVISION_MASK;
+              ZYNQMP_CSU_IDCODE_FAMILY_MASK;
        maskid = ZYNQMP_CSU_IDCODE_XILINX_ID << ZYNQMP_CSU_IDCODE_XILINX_ID_SHIFT |
-                ZYNQMP_CSU_IDCODE_FAMILY << ZYNQMP_CSU_IDCODE_FAMILY_SHIFT |
-                ZYNQMP_CSU_IDCODE_REVISION << ZYNQMP_CSU_IDCODE_REVISION_SHIFT;
+                ZYNQMP_CSU_IDCODE_FAMILY << ZYNQMP_CSU_IDCODE_FAMILY_SHIFT;
        if (tmp != maskid) {
                ERROR("Incorrect XILINX IDCODE 0x%x, maskid 0x%x\n", id, maskid);
                return "UNKN";