#include <linux/regmap.h>
 #include "tsens.h"
 
+/* SROT */
+#define TSENS_EN               BIT(0)
+
+/* TM */
 #define STATUS_OFFSET          0x30
 #define SN_ADDR_OFFSET         0x4
 #define SN_ST_TEMP_MASK                0x3ff
 {
        void __iomem *tm_base, *srot_base;
        struct resource *res;
+       u32 code;
+       int ret;
        struct platform_device *op = of_find_device_by_node(tmdev->dev->of_node);
+       u16 ctrl_offset = tmdev->reg_offsets[SROT_CTRL_OFFSET];
 
        if (!op)
                return -EINVAL;
        if (IS_ERR(tmdev->tm_map))
                return PTR_ERR(tmdev->tm_map);
 
+       if (tmdev->srot_map) {
+               ret = regmap_read(tmdev->srot_map, ctrl_offset, &code);
+               if (ret)
+                       return ret;
+               if (!(code & TSENS_EN)) {
+                       dev_err(tmdev->dev, "tsens device is not enabled\n");
+                       return -ENODEV;
+               }
+       }
+
        return 0;
 }