u32     fpga_rev;
 };
 
-#if defined(CONFIG_IMX6_THERMAL)
+#if defined(CONFIG_IMX_THERMAL)
 static const struct imx_thermal_plat imx6_thermal_plat = {
        .regs = (void *)ANATOP_BASE_ADDR,
        .fuse_bank = 1,
 
        u32 cpurev;
        __maybe_unused u32 max_freq;
 
-#if defined(CONFIG_MX6) && defined(CONFIG_IMX6_THERMAL)
+       cpurev = get_cpu_rev();
+
+#if defined(CONFIG_IMX_THERMAL)
        struct udevice *thermal_dev;
        int cpu_tmp, minc, maxc, ret;
-#endif
 
-       cpurev = get_cpu_rev();
-
-#if defined(CONFIG_MX6)
        printf("CPU:   Freescale i.MX%s rev%d.%d",
               get_imx_type((cpurev & 0xFF000) >> 12),
               (cpurev & 0x000F0) >> 4,
                mxc_get_clock(MXC_ARM_CLK) / 1000000);
 #endif
 
-#if defined(CONFIG_MX6) && defined(CONFIG_IMX6_THERMAL)
+#if defined(CONFIG_IMX_THERMAL)
        puts("CPU:   ");
        switch (get_cpu_temp_grade(&minc, &maxc)) {
        case TEMP_AUTOMOTIVE:
 
 #
 
 obj-$(CONFIG_DM_THERMAL) += thermal-uclass.o
-obj-$(CONFIG_IMX6_THERMAL) += imx_thermal.o
+obj-$(CONFIG_IMX_THERMAL) += imx_thermal.o
 
        int maxc;
 };
 
-static int read_cpu_temperature(struct udevice *dev)
+static int read_cpu_temperature_mx6(struct udevice *dev)
 {
        int temperature;
        unsigned int reg, n_meas;
        struct thermal_data *priv = dev_get_priv(dev);
        int cpu_tmp = 0;
 
-       cpu_tmp = read_cpu_temperature(dev);
+       if (is_soc_type(MXC_SOC_MX6))
+               cpu_tmp = read_cpu_temperature_mx6(dev);
        while (cpu_tmp >= priv->critical) {
                printf("CPU Temperature (%dC) too close to max (%dC)",
                       cpu_tmp, priv->maxc);
                puts(" waiting...\n");
                udelay(5000000);
-               cpu_tmp = read_cpu_temperature(dev);
+               if (is_soc_type(MXC_SOC_MX6))
+                       cpu_tmp = read_cpu_temperature_mx6(dev);
        }
 
        *temp = cpu_tmp;
        /* Read Temperature calibration data fuse */
        fuse_read(pdata->fuse_bank, pdata->fuse_word, &fuse);
 
-       /* Check for valid fuse */
-       if (fuse == 0 || fuse == ~0) {
-               printf("CPU:   Thermal invalid data, fuse: 0x%x\n", fuse);
-               return -EPERM;
+       if (is_soc_type(MXC_SOC_MX6)) {
+               /* Check for valid fuse */
+               if (fuse == 0 || fuse == ~0) {
+                       printf("CPU:   Thermal invalid data, fuse: 0x%x\n", fuse);
+                       return -EPERM;
+               }
        }
 
        /* set critical cooling temp */
 
 #define CONFIG_CMD_BMODE
 
 /* Thermal support */
-#define CONFIG_IMX6_THERMAL
+#define CONFIG_IMX_THERMAL
 
 #define CONFIG_CMD_FUSE
-#if defined(CONFIG_CMD_FUSE) || defined(CONFIG_IMX6_THERMAL)
+#if defined(CONFIG_CMD_FUSE) || defined(CONFIG_IMX_THERMAL)
 #define CONFIG_MXC_OCOTP
 #endif
 
 
 
 #define PHYS_SDRAM_SIZE                (1u * 1024 * 1024 * 1024)
 
-#define CONFIG_IMX6_THERMAL
+#define CONFIG_IMX_THERMAL
 
 /* Size of malloc() pool */
 #define CONFIG_SYS_MALLOC_LEN          (10 * SZ_1M)
 
 #define CONFIG_CMD_GPIO
 
 /* Thermal */
-#define CONFIG_IMX6_THERMAL
+#define CONFIG_IMX_THERMAL
 
 /* Serial */
 #define CONFIG_MXC_UART
 
 #define CONFIG_SPL_MMC_SUPPORT
 #include "imx6_spl.h"
 
-#define CONFIG_IMX6_THERMAL
+#define CONFIG_IMX_THERMAL
 
 #define CONFIG_SYS_MALLOC_LEN          (10 * SZ_1M)
 #define CONFIG_BOARD_EARLY_INIT_F
 
 
 #include "mx6_common.h"
 
-#define CONFIG_IMX6_THERMAL
+#define CONFIG_IMX_THERMAL
 
 /* Size of malloc() pool */
 #define CONFIG_SYS_MALLOC_LEN          (10 * SZ_1M)
 
 #define CONFIG_SYS_MMC_ENV_DEV         1       /* SDHC2*/
 #endif
 
-#define CONFIG_IMX6_THERMAL
+#define CONFIG_IMX_THERMAL
 
 #endif                         /* __CONFIG_H */
 
 #define CONFIG_PCIE_IMX_POWER_GPIO     IMX_GPIO_NR(2, 1)
 #endif
 
-#define CONFIG_IMX6_THERMAL
+#define CONFIG_IMX_THERMAL
 
 #define CONFIG_CMD_TIME
 
 
 #define CONFIG_FEC_DMA_MINALIGN                64
 #endif
 
-#define CONFIG_IMX6_THERMAL
+#define CONFIG_IMX_THERMAL
 
 #endif
 
 
 #define CONFIG_SYS_HZ                  1000
 
-#define CONFIG_IMX6_THERMAL
+#define CONFIG_IMX_THERMAL
 
 /* Physical Memory Map */
 #define CONFIG_NR_DRAM_BANKS           1