+#if CONFIG_TX6_REV >= 0x3
+static char tx6_mem_table[] = {
+ '4', /* 256MiB SDRAM; 128MiB NAND */
+ '1', /* 512MiB SDRAM; 128MiB NAND */
+ '0', /* 1GiB SDRAM; 128MiB NAND */
+ '?', /* 256MiB SDRAM; 256MiB NAND */
+ '?', /* 512MiB SDRAM; 256MiB NAND */
+ '2', /* 1GiB SDRAM; 256MiB NAND */
+ '?', /* 256MiB SDRAM; 4GiB eMMC */
+ '5', /* 512MiB SDRAM; 4GiB eMMC */
+ '3', /* 1GiB SDRAM; 4GiB eMMC */
+ '?', /* 256MiB SDRAM; 8GiB eMMC */
+ '?', /* 512MiB SDRAM; 8GiB eMMC */
+ '?', /* 1GiB SDRAM; 8GiB eMMC */
+};
+
+static inline char tx6_mem_suffix(void)
+{
+ size_t mem_idx = (TX6_FLASH_SZ * 3) + TX6_DDR_SZ;
+
+ debug("TX6_DDR_SZ=%d TX6_FLASH_SZ=%d idx=%d\n",
+ TX6_DDR_SZ, TX6_FLASH_SZ, mem_idx);
+
+ if (mem_idx >= ARRAY_SIZE(tx6_mem_table))
+ return '?';
+
+ return tx6_mem_table[mem_idx];
+};
+#else /* CONFIG_TX6_REV >= 0x3 */
+static inline char tx6_mem_suffix(void)
+{
+#ifdef CONFIG_SYS_SDRAM_BUS_WIDTH
+ if (CONFIG_SYS_SDRAM_BUS_WIDTH == 32)
+ return '1';
+#endif
+#ifdef CONFIG_SYS_NAND_BLOCKS
+ if (CONFIG_SYS_NAND_BLOCKS == 2048)
+ return '2';
+#endif
+ return '0';
+}
+#endif /* CONFIG_TX6_REV >= 0x3 */
+