diff --git a/README b/README
index b58911da49..3d45b29bd5 100644
--- a/README
+++ b/README
@@ -830,7 +830,6 @@ The following options need to be configured:
 		CONFIG_CMD_CRC32	* crc32
 		CONFIG_CMD_DHCP		* DHCP support
 		CONFIG_CMD_DIAG		* Diagnostics
-		CONFIG_CMD_DTT		* Digital Therm and Thermostat
 		CONFIG_CMD_ECHO		  echo arguments
 		CONFIG_CMD_EDITENV	  edit env variable
 		CONFIG_CMD_EEPROM	* EEPROM read/write support
@@ -2324,11 +2323,6 @@ The following options need to be configured:
 		If defined, then this indicates the I2C bus number for the RTC.
 		If not defined, then U-Boot assumes that RTC is on I2C bus 0.
 
-		CONFIG_SYS_DTT_BUS_NUM
-
-		If defined, then this indicates the I2C bus number for the DTT.
-		If not defined, then U-Boot assumes that DTT is on I2C bus 0.
-
 		CONFIG_SOFT_I2C_READ_REPEATED_START
 
 		defining this will force the i2c_read() function in
diff --git a/board/gdsys/405ep/dlvision-10g.c b/board/gdsys/405ep/dlvision-10g.c
index e400d1945a..b531786653 100644
--- a/board/gdsys/405ep/dlvision-10g.c
+++ b/board/gdsys/405ep/dlvision-10g.c
@@ -10,7 +10,6 @@
 #include <asm/processor.h>
 #include <asm/io.h>
 #include <asm/ppc4xx-gpio.h>
-#include <dtt.h>
 
 #include "405ep.h"
 #include <gdsys_fpga.h>
@@ -61,8 +60,13 @@ struct ihs_fpga *fpga_ptr[] = CONFIG_SYS_FPGA_PTR;
 
 int misc_init_r(void)
 {
-	/* startup fans */
-	dtt_init();
+	/*
+	 * Note: DTT has been removed. Please use UCLASS_THERMAL.
+	 *
+	 * startup fans
+	 *
+	 * dtt_init();
+	 */
 
 	return 0;
 }
diff --git a/board/gdsys/405ep/io.c b/board/gdsys/405ep/io.c
index 81b49659ff..1484469bb0 100644
--- a/board/gdsys/405ep/io.c
+++ b/board/gdsys/405ep/io.c
@@ -11,7 +11,6 @@
 #include <asm/io.h>
 #include <asm/ppc4xx-gpio.h>
 
-#include <dtt.h>
 #include <miiphy.h>
 
 #include "405ep.h"
@@ -41,8 +40,13 @@ struct ihs_fpga *fpga_ptr[] = CONFIG_SYS_FPGA_PTR;
 
 int misc_init_r(void)
 {
-	/* startup fans */
-	dtt_init();
+	/*
+	 * Note: DTT has been removed. Please use UCLASS_THERMAL.
+	 *
+	 * startup fans
+	 *
+	 * dtt_init();
+	 */
 
 	return 0;
 }
diff --git a/board/gdsys/405ep/neo.c b/board/gdsys/405ep/neo.c
index ff0edb2547..ad88af2d46 100644
--- a/board/gdsys/405ep/neo.c
+++ b/board/gdsys/405ep/neo.c
@@ -10,7 +10,6 @@
 #include <asm/processor.h>
 #include <asm/io.h>
 #include <asm/ppc4xx-gpio.h>
-#include <dtt.h>
 
 #include "405ep.h"
 #include <gdsys_fpga.h>
@@ -32,8 +31,13 @@ struct ihs_fpga *fpga_ptr[] = CONFIG_SYS_FPGA_PTR;
 
 int misc_init_r(void)
 {
-	/* startup fans */
-	dtt_init();
+	/*
+	 * Note: DTT has been removed. Please use UCLASS_THERMAL.
+	 *
+	 * startup fans
+	 *
+	 * dtt_init();
+	 */
 
 	return 0;
 }
diff --git a/board/gdsys/405ex/io64.c b/board/gdsys/405ex/io64.c
index 0a7baaa9db..9ef965bbfa 100644
--- a/board/gdsys/405ex/io64.c
+++ b/board/gdsys/405ex/io64.c
@@ -26,7 +26,6 @@
 
 #include <miiphy.h>
 #include <i2c.h>
-#include <dtt.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -70,8 +69,13 @@ static inline void blank_string(int size)
  */
 int misc_init_r(void)
 {
-	/* startup fans */
-	dtt_init();
+	/*
+	 * Note: DTT has been removed. Please use UCLASS_THERMAL.
+	 *
+	 * startup fans
+	 *
+	 * dtt_init();
+	 */
 
 #ifdef CONFIG_ENV_IS_IN_FLASH
 	/* Monitor protection ON by default */
diff --git a/cmd/Makefile b/cmd/Makefile
index e98786807b..f043407656 100644
--- a/cmd/Makefile
+++ b/cmd/Makefile
@@ -43,7 +43,6 @@ ifdef CONFIG_POST
 obj-$(CONFIG_CMD_DIAG) += diag.o
 endif
 obj-$(CONFIG_CMD_DISPLAY) += display.o
-obj-$(CONFIG_CMD_DTT) += dtt.o
 obj-$(CONFIG_CMD_ECHO) += echo.o
 obj-$(CONFIG_ENV_IS_IN_EEPROM) += eeprom.o
 obj-$(CONFIG_CMD_EEPROM) += eeprom.o
diff --git a/cmd/dtt.c b/cmd/dtt.c
deleted file mode 100644
index dd427a3d0b..0000000000
--- a/cmd/dtt.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * (C) Copyright 2001
- * Erik Theisen, Wave 7 Optics, etheisen@mindspring.com
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <config.h>
-#include <command.h>
-
-#include <dtt.h>
-#include <i2c.h>
-#include <tmu.h>
-#include <linux/bug.h>
-
-#if defined CONFIG_DTT_SENSORS
-static unsigned long sensor_initialized;
-
-static void _initialize_dtt(void)
-{
-	int i;
-	unsigned char sensors[] = CONFIG_DTT_SENSORS;
-
-	for (i = 0; i < sizeof(sensors); i++) {
-		if ((sensor_initialized & (1 << i)) == 0) {
-			if (dtt_init_one(sensors[i]) != 0) {
-				printf("DTT%d: Failed init!\n", i);
-				continue;
-			}
-			sensor_initialized |= (1 << i);
-		}
-	}
-}
-
-void dtt_init(void)
-{
-	int old_bus;
-
-	/* switch to correct I2C bus */
-	old_bus = I2C_GET_BUS();
-	I2C_SET_BUS(CONFIG_SYS_DTT_BUS_NUM);
-
-	_initialize_dtt();
-
-	/* switch back to original I2C bus */
-	I2C_SET_BUS(old_bus);
-}
-#endif
-
-int dtt_i2c(void)
-{
-#if defined CONFIG_DTT_SENSORS
-	int i;
-	unsigned char sensors[] = CONFIG_DTT_SENSORS;
-	int old_bus;
-
-	/* Force a compilation error, if there are more then 32 sensors */
-	BUILD_BUG_ON(sizeof(sensors) > 32);
-	/* switch to correct I2C bus */
-#ifdef CONFIG_SYS_I2C
-	old_bus = i2c_get_bus_num();
-	i2c_set_bus_num(CONFIG_SYS_DTT_BUS_NUM);
-#else
-	old_bus = I2C_GET_BUS();
-	I2C_SET_BUS(CONFIG_SYS_DTT_BUS_NUM);
-#endif
-
-	_initialize_dtt();
-
-	/*
-	 * Loop through sensors, read
-	 * temperature, and output it.
-	 */
-	for (i = 0; i < sizeof(sensors); i++)
-		printf("DTT%d: %i C\n", i + 1, dtt_get_temp(sensors[i]));
-
-	/* switch back to original I2C bus */
-#ifdef CONFIG_SYS_I2C
-	i2c_set_bus_num(old_bus);
-#else
-	I2C_SET_BUS(old_bus);
-#endif
-#endif
-
-	return 0;
-}
-
-int dtt_tmu(void)
-{
-#if defined CONFIG_TMU_CMD_DTT
-	int cur_temp;
-
-	/* Sense and return latest thermal info */
-	if (tmu_monitor(&cur_temp) == TMU_STATUS_INIT) {
-		puts("TMU is in unknown state, temperature is invalid\n");
-		return -1;
-	}
-	printf("Current temperature: %u degrees Celsius\n", cur_temp);
-#endif
-	return 0;
-}
-
-int do_dtt(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
-{
-	int err = 0;
-
-	err |= dtt_i2c();
-	err |= dtt_tmu();
-
-	return err;
-}	/* do_dtt() */
-
-/***************************************************/
-
-U_BOOT_CMD(
-	  dtt,	1,	1,	do_dtt,
-	  "Read temperature from Digital Thermometer and Thermostat",
-	  ""
-);
diff --git a/drivers/Kconfig b/drivers/Kconfig
index a5f24d72da..a736386a0d 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -30,8 +30,6 @@ source "drivers/fpga/Kconfig"
 
 source "drivers/gpio/Kconfig"
 
-source "drivers/hwmon/Kconfig"
-
 source "drivers/i2c/Kconfig"
 
 source "drivers/input/Kconfig"
diff --git a/drivers/Makefile b/drivers/Makefile
index f16d7fdb4f..058bccb761 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -74,7 +74,6 @@ obj-$(CONFIG_CPU) += cpu/
 obj-y += crypto/
 obj-y += firmware/
 obj-$(CONFIG_FPGA) += fpga/
-obj-y += hwmon/
 obj-y += misc/
 obj-$(CONFIG_MMC) += mmc/
 obj-y += pcmcia/
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
deleted file mode 100644
index b4fb057c16..0000000000
--- a/drivers/hwmon/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# (C) Copyright 2006
-# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-#
-# (C) Copyright 2001
-# Erik Theisen, Wave 7 Optics, etheisen@mindspring.com.
-#
-# SPDX-License-Identifier:	GPL-2.0+
-#
-
-#ccflags-y += -DDEBUG
-
-obj-$(CONFIG_DTT_ADM1021) += adm1021.o
-obj-$(CONFIG_DTT_ADT7460) += adt7460.o
-obj-$(CONFIG_DTT_DS1621) += ds1621.o
-obj-$(CONFIG_DTT_DS1722) += ds1722.o
-obj-$(CONFIG_DTT_DS1775) += ds1775.o
-obj-$(CONFIG_DTT_DS620) += ds620.o
-obj-$(CONFIG_DTT_LM63) += lm63.o
-obj-$(CONFIG_DTT_LM73) += lm73.o
-obj-$(CONFIG_DTT_LM75) += lm75.o
-obj-$(CONFIG_DTT_LM81) += lm81.o
diff --git a/drivers/hwmon/adm1021.c b/drivers/hwmon/adm1021.c
deleted file mode 100644
index 99e942b499..0000000000
--- a/drivers/hwmon/adm1021.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * (C) Copyright 2003
- * Murray Jensen, CSIRO-MIT, Murray.Jensen@csiro.au
- *
- * based on dtt/lm75.c which is ...
- *
- * (C) Copyright 2001
- * Bill Hunter,  Wave 7 Optics, williamhunter@mediaone.net
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-/*
- * Analog Devices's ADM1021
- * "Low Cost Microprocessor System Temperature Monitor"
- */
-
-#include <common.h>
-
-#include <i2c.h>
-#include <dtt.h>
-
-#define DTT_READ_LOC_VALUE	0x00
-#define DTT_READ_REM_VALUE	0x01
-#define DTT_READ_STATUS		0x02
-#define DTT_READ_CONFIG		0x03
-#define DTT_READ_CONVRATE	0x04
-#define DTT_READ_LOC_HIGHLIM	0x05
-#define DTT_READ_LOC_LOWLIM	0x06
-#define DTT_READ_REM_HIGHLIM	0x07
-#define DTT_READ_REM_LOWLIM	0x08
-#define DTT_READ_DEVID		0xfe
-
-#define DTT_WRITE_CONFIG	0x09
-#define DTT_WRITE_CONVRATE	0x0a
-#define DTT_WRITE_LOC_HIGHLIM	0x0b
-#define DTT_WRITE_LOC_LOWLIM	0x0c
-#define DTT_WRITE_REM_HIGHLIM	0x0d
-#define DTT_WRITE_REM_LOWLIM	0x0e
-#define DTT_WRITE_ONESHOT	0x0f
-
-#define DTT_STATUS_BUSY		0x80	/* 1=ADC Converting */
-#define DTT_STATUS_LHIGH	0x40	/* 1=Local High Temp Limit Tripped */
-#define DTT_STATUS_LLOW		0x20	/* 1=Local Low Temp Limit Tripped */
-#define DTT_STATUS_RHIGH	0x10	/* 1=Remote High Temp Limit Tripped */
-#define DTT_STATUS_RLOW		0x08	/* 1=Remote Low Temp Limit Tripped */
-#define DTT_STATUS_OPEN		0x04	/* 1=Remote Sensor Open-Circuit */
-
-#define DTT_CONFIG_ALERT_MASKED	0x80	/* 0=ALERT Enabled, 1=ALERT Masked */
-#define DTT_CONFIG_STANDBY	0x40	/* 0=Run, 1=Standby */
-
-#define DTT_ADM1021_DEVID	0x41
-
-typedef
-	struct {
-		uint i2c_addr:7;	/* 7bit i2c chip address */
-		uint conv_rate:3;	/* conversion rate */
-		uint enable_alert:1;	/* enable alert output pin */
-		uint enable_local:1;	/* enable internal temp sensor */
-		uint max_local:8;	/* internal temp maximum */
-		uint min_local:8;	/* internal temp minimum */
-		uint enable_remote:1;	/* enable remote temp sensor */
-		uint max_remote:8;	/* remote temp maximum */
-		uint min_remote:8;	/* remote temp minimum */
-	}
-dtt_cfg_t;
-
-dtt_cfg_t dttcfg[] = CONFIG_SYS_DTT_ADM1021;
-
-int
-dtt_read (int sensor, int reg)
-{
-	dtt_cfg_t *dcp = &dttcfg[sensor >> 1];
-	uchar data;
-
-	if (i2c_read(dcp->i2c_addr, reg, 1, &data, 1) != 0)
-		return -1;
-
-	return (int)data;
-} /* dtt_read() */
-
-int
-dtt_write (int sensor, int reg, int val)
-{
-	dtt_cfg_t *dcp = &dttcfg[sensor >> 1];
-	uchar data;
-
-	data = (uchar)(val & 0xff);
-
-	if (i2c_write(dcp->i2c_addr, reg, 1, &data, 1) != 0)
-		return 1;
-
-	return 0;
-} /* dtt_write() */
-
-int
-dtt_init_one(int sensor)
-{
-	dtt_cfg_t *dcp = &dttcfg[sensor >> 1];
-	int reg, val;
-
-	if (((sensor & 1) == 0 ? dcp->enable_local : dcp->enable_remote) == 0)
-		return 1;	/* sensor is disabled (or rather ignored) */
-
-	/*
-	 * Setup High Limit register
-	 */
-	if ((sensor & 1) == 0) {
-		reg = DTT_WRITE_LOC_HIGHLIM;
-		val = dcp->max_local;
-	}
-	else {
-		reg = DTT_WRITE_REM_HIGHLIM;
-		val = dcp->max_remote;
-	}
-	if (dtt_write (sensor, reg, val) != 0)
-		return 1;
-
-	/*
-	 * Setup Low Limit register
-	 */
-	if ((sensor & 1) == 0) {
-		reg = DTT_WRITE_LOC_LOWLIM;
-		val = dcp->min_local;
-	}
-	else {
-		reg = DTT_WRITE_REM_LOWLIM;
-		val = dcp->min_remote;
-	}
-	if (dtt_write (sensor, reg, val) != 0)
-		return 1;
-
-	/* shouldn't hurt if the rest gets done twice */
-
-	/*
-	 * Setup Conversion Rate register
-	 */
-	if (dtt_write (sensor, DTT_WRITE_CONVRATE, dcp->conv_rate) != 0)
-		return 1;
-
-	/*
-	 * Setup configuraton register
-	 */
-	val = 0;				/* running */
-	if (dcp->enable_alert == 0)
-		val |= DTT_CONFIG_ALERT_MASKED;	/* mask ALERT pin */
-	if (dtt_write (sensor, DTT_WRITE_CONFIG, val) != 0)
-		return 1;
-
-	return 0;
-} /* dtt_init_one() */
-
-int
-dtt_get_temp (int sensor)
-{
-	signed char val;
-
-	if ((sensor & 1) == 0)
-		val = dtt_read(sensor, DTT_READ_LOC_VALUE);
-	else
-		val = dtt_read(sensor, DTT_READ_REM_VALUE);
-
-	return (int) val;
-} /* dtt_get_temp() */
diff --git a/drivers/hwmon/adt7460.c b/drivers/hwmon/adt7460.c
deleted file mode 100644
index 9b2c5b69ce..0000000000
--- a/drivers/hwmon/adt7460.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * (C) Copyright 2008
- * Ricado Ribalda-Universidad Autonoma de Madrid, ricardo.ribalda@gmail.com
- * This work has been supported by: QTechnology  http://qtec.com/
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <i2c.h>
-#include <dtt.h>
-
-#define ADT7460_ADDRESS		0x2c
-#define ADT7460_INVALID		128
-#define ADT7460_CONFIG		0x40
-#define ADT7460_REM1_TEMP	0x25
-#define ADT7460_LOCAL_TEMP	0x26
-#define ADT7460_REM2_TEMP	0x27
-
-int dtt_read(int sensor, int reg)
-{
-	u8 dir = reg;
-	u8 data;
-
-	if (i2c_read(ADT7460_ADDRESS, dir, 1, &data, 1) == -1)
-		return -1;
-	if (data == ADT7460_INVALID)
-		return -1;
-
-	return data;
-}
-
-int dtt_write(int sensor, int reg, int val)
-{
-	u8 dir = reg;
-	u8 data = val;
-
-	if (i2c_write(ADT7460_ADDRESS, dir, 1, &data, 1) == -1)
-		return -1;
-
-	return 0;
-}
-
-int dtt_init_one(int sensor)
-{
-	printf("ADT7460 at I2C address 0x%2x\n", ADT7460_ADDRESS);
-
-	if (dtt_write(0, ADT7460_CONFIG, 1) == -1) {
-		puts("Error initialiting ADT7460\n");
-		return -1;
-	}
-
-	return 0;
-}
-
-int dtt_get_temp(int sensor)
-{
-	int aux;
-	u8 table[] =
-	    { ADT7460_REM1_TEMP, ADT7460_LOCAL_TEMP, ADT7460_REM2_TEMP };
-
-	if (sensor > 2) {
-		puts("DTT sensor does not exist\n");
-		return -1;
-	}
-
-	aux = dtt_read(0, table[sensor]);
-	if (aux == -1) {
-		puts("DTT temperature read failed\n");
-		return -1;
-	}
-
-	return aux;
-}
diff --git a/drivers/hwmon/ds1621.c b/drivers/hwmon/ds1621.c
deleted file mode 100644
index 66947a664e..0000000000
--- a/drivers/hwmon/ds1621.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * (C) Copyright 2001
- * Erik Theisen,  Wave 7 Optics, etheisen@mindspring.com.
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-/*
- * Dallas Semiconductor's DS1621/1631 Digital Thermometer and Thermostat.
- */
-
-#include <common.h>
-#include <i2c.h>
-#include <dtt.h>
-
-/*
- * Device code
- */
-#define DTT_I2C_DEV_CODE 	0x48	/* Dallas Semi's DS1621 */
-#define DTT_READ_TEMP		0xAA
-#define DTT_READ_COUNTER	0xA8
-#define DTT_READ_SLOPE		0xA9
-#define DTT_WRITE_START_CONV	0xEE
-#define DTT_WRITE_STOP_CONV	0x22
-#define DTT_TEMP_HIGH		0xA1
-#define DTT_TEMP_LOW		0xA2
-#define DTT_CONFIG		0xAC
-
-/*
- * Config register bits
- */
-#define DTT_CONFIG_1SHOT	0x01
-#define DTT_CONFIG_POLARITY	0x02
-#define DTT_CONFIG_R0		0x04	/* ds1631 only */
-#define DTT_CONFIG_R1		0x08	/* ds1631 only */
-#define DTT_CONFIG_NVB		0x10
-#define DTT_CONFIG_TLF		0x20
-#define DTT_CONFIG_THF		0x40
-#define DTT_CONFIG_DONE		0x80
-
-
-int dtt_read(int sensor, int reg)
-{
-	int dlen;
-	uchar data[2];
-
-	/* Calculate sensor address and command */
-	sensor = DTT_I2C_DEV_CODE + (sensor & 0x07); /* Calculate addr of ds1621*/
-
-	/* Prepare to handle 2 byte result */
-	switch(reg) {
-	case DTT_READ_TEMP:
-	case DTT_TEMP_HIGH:
-	case DTT_TEMP_LOW:
-		dlen = 2;
-		break;
-	default:
-		dlen = 1;
-	}
-
-	/* Now try to read the register */
-	if (i2c_read(sensor, reg, 1, data, dlen) != 0)
-		return 1;
-
-	/* Handle 2 byte result */
-	if (dlen == 2)
-		return (short)((data[0] << 8) | data[1]);
-
-	return (int)data[0];
-}
-
-
-int dtt_write(int sensor, int reg, int val)
-{
-	int dlen;
-	uchar data[2];
-
-	/* Calculate sensor address and register */
-	sensor = DTT_I2C_DEV_CODE + (sensor & 0x07);
-
-	/* Handle various data sizes. */
-	switch(reg) {
-	case DTT_READ_TEMP:
-	case DTT_TEMP_HIGH:
-	case DTT_TEMP_LOW:
-		dlen = 2;
-		data[0] = (char)((val >> 8) & 0xff);	/* MSB first */
-		data[1] = (char)(val & 0xff);
-		break;
-	case DTT_WRITE_START_CONV:
-	case DTT_WRITE_STOP_CONV:
-		dlen = 0;
-		data[0] = (char)0;
-		data[1] = (char)0;
-		break;
-	default:
-		dlen = 1;
-		data[0] = (char)(val & 0xff);
-	}
-
-	/* Write value to device */
-	if (i2c_write(sensor, reg, 1, data, dlen) != 0)
-		return 1;
-
-	/* Poll NV memory busy bit in case write was to register stored in EEPROM */
-	while(i2c_reg_read(sensor, DTT_CONFIG) & DTT_CONFIG_NVB)
-		;
-
-	return 0;
-}
-
-
-int dtt_init_one(int sensor)
-{
-	int val;
-
-	/* Setup High Temp */
-	val = ((CONFIG_SYS_DTT_MAX_TEMP * 2) << 7) & 0xff80;
-	if (dtt_write(sensor, DTT_TEMP_HIGH, val) != 0)
-		return 1;
-
-	/* Setup Low Temp - hysteresis */
-	val = (((CONFIG_SYS_DTT_MAX_TEMP - CONFIG_SYS_DTT_HYSTERESIS) * 2) << 7) & 0xff80;
-	if (dtt_write(sensor, DTT_TEMP_LOW, val) != 0)
-		return 1;
-
-	/*
-	 * Setup configuraton register
-	 *
-	 * Clear THF & TLF, Reserved = 1, Polarity = Active Low, One Shot = YES
-	 *
-	 * We run in polled mode, since there isn't any way to know if this
-	 * lousy device is ready to provide temperature readings on power up.
-	 */
-	val = 0x9;
-	if (dtt_write(sensor, DTT_CONFIG, val) != 0)
-		return 1;
-
-	return 0;
-}
-
-int dtt_get_temp(int sensor)
-{
-	int i;
-
-	/* Start a conversion, may take up to 1 second. */
-	dtt_write(sensor, DTT_WRITE_START_CONV, 0);
-	for (i = 0; i <= 10; i++) {
-		udelay(100000);
-		if (dtt_read(sensor, DTT_CONFIG) & DTT_CONFIG_DONE)
-			break;
-	}
-
-	return (dtt_read(sensor, DTT_READ_TEMP) / 256);
-}
diff --git a/drivers/hwmon/ds1722.c b/drivers/hwmon/ds1722.c
deleted file mode 100644
index c46958846c..0000000000
--- a/drivers/hwmon/ds1722.c
+++ /dev/null
@@ -1,137 +0,0 @@
-#include <common.h>
-#include <asm/ic/ssi.h>
-#include <ds1722.h>
-
-static void ds1722_select(int dev)
-{
-	ssi_set_interface(4096, 0, 0, 0);
-	ssi_chip_select(0);
-	udelay(1);
-	ssi_chip_select(dev);
-	udelay(1);
-}
-
-
-u8 ds1722_read(int dev, int addr)
-{
-	u8 res;
-
-	ds1722_select(dev);
-
-	ssi_tx_byte(addr);
-	res = ssi_rx_byte();
-
-	ssi_chip_select(0);
-
-	return res;
-}
-
-void ds1722_write(int dev, int addr, u8 data)
-{
-	ds1722_select(dev);
-
-	ssi_tx_byte(0x80|addr);
-	ssi_tx_byte(data);
-
-	ssi_chip_select(0);
-}
-
-
-u16 ds1722_temp(int dev, int resolution)
-{
-	static int useconds[] = {
-		75000, 150000, 300000, 600000, 1200000
-	};
-	char temp;
-	u16 res;
-
-
-	/* set up the desired resulotion ... */
-	ds1722_write(dev, 0, 0xe0 | (resolution << 1));
-
-	/* wait while the chip measures the tremperature */
-	udelay(useconds[resolution]);
-
-	res = (temp = ds1722_read(dev, 2)) << 8;
-
-	if (temp < 0) {
-		temp = (16 - (ds1722_read(dev, 1) >> 4)) & 0x0f;
-	} else {
-		temp = (ds1722_read(dev, 1) >> 4);
-	}
-
-	switch (temp) {
-	case 0:
-		/* .0000 */
-		break;
-	case 1:
-		/* .0625 */
-		res |=1;
-		break;
-	case 2:
-		/* .1250 */
-		res |=1;
-		break;
-	case 3:
-		/* .1875 */
-		res |=2;
-		break;
-	case 4:
-		/* .2500 */
-		res |=3;
-		break;
-	case 5:
-		/* .3125 */
-		res |=3;
-		break;
-	case 6:
-		/* .3750 */
-		res |=4;
-		break;
-	case 7:
-		/* .4375 */
-		res |=4;
-		break;
-	case 8:
-		/* .5000 */
-		res |=5;
-		break;
-	case 9:
-		/* .5625 */
-		res |=6;
-		break;
-	case 10:
-		/* .6250 */
-		res |=6;
-		break;
-	case 11:
-		/* .6875 */
-		res |=7;
-		break;
-	case 12:
-		/* .7500 */
-		res |=8;
-		break;
-	case 13:
-		/* .8125 */
-		res |=8;
-		break;
-	case 14:
-		/* .8750 */
-		res |=9;
-		break;
-	case 15:
-		/* .9375 */
-		res |=9;
-		break;
-	}
-	return res;
-
-}
-
-int ds1722_probe(int dev)
-{
-	u16 temp = ds1722_temp(dev, DS1722_RESOLUTION_12BIT);
-	printf("%d.%d deg C\n\n", (char)(temp >> 8), temp & 0xff);
-	return 0;
-}
diff --git a/drivers/hwmon/ds1775.c b/drivers/hwmon/ds1775.c
deleted file mode 100644
index 4c0c0b82a0..0000000000
--- a/drivers/hwmon/ds1775.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-/*
- * Dallas Semiconductor's DS1775 Digital Thermometer and Thermostat
- */
-
-#include <common.h>
-
-#include <i2c.h>
-#include <dtt.h>
-
-#define DTT_I2C_DEV_CODE	0x48 /* Dallas Semi's DS1775 device code */
-#define DTT_READ_TEMP		0x0
-#define DTT_CONFIG		0x1
-#define DTT_TEMP_HYST		0x2
-#define DTT_TEMP_OS		0x3
-
-int dtt_read(int sensor, int reg)
-{
-	int dlen;
-	uchar data[2];
-
-	/*
-	 * Calculate sensor address and command
-	 */
-	sensor = DTT_I2C_DEV_CODE + (sensor & 0x07); /* Calculate addr of ds1775 */
-
-	/*
-	 * Prepare to handle 2 byte result
-	 */
-	if ((reg == DTT_READ_TEMP) ||
-	    (reg == DTT_TEMP_OS) || (reg == DTT_TEMP_HYST))
-		dlen = 2;
-	else
-		dlen = 1;
-
-	/*
-	 * Now try to read the register
-	 */
-	if (i2c_read(sensor, reg, 1, data, dlen) != 0)
-		return 1;
-
-	/*
-	 * Handle 2 byte result
-	 */
-	if (dlen == 2)
-		return ((int)((short)data[1] + (((short)data[0]) << 8)));
-
-	return (int) data[0];
-}
-
-
-int dtt_write(int sensor, int reg, int val)
-{
-	int dlen;
-	uchar data[2];
-
-	/*
-	 * Calculate sensor address and register
-	 */
-	sensor = DTT_I2C_DEV_CODE + (sensor & 0x07);
-
-	/*
-	 * Handle various data sizes
-	 */
-	if ((reg == DTT_READ_TEMP) ||
-	    (reg == DTT_TEMP_OS) || (reg == DTT_TEMP_HYST)) {
-		dlen = 2;
-		data[0] = (char)((val >> 8) & 0xff); /* MSB first */
-		data[1] = (char)(val & 0xff);
-	} else {
-		dlen = 1;
-		data[0] = (char)(val & 0xff);
-	}
-
-	/*
-	 * Write value to device
-	 */
-	if (i2c_write(sensor, reg, 1, data, dlen) != 0)
-		return 1;
-
-	return 0;
-}
-
-
-int dtt_init_one(int sensor)
-{
-	int val;
-
-	/*
-	 * Setup High Temp
-	 */
-	val = ((CONFIG_SYS_DTT_MAX_TEMP * 2) << 7) & 0xff80;
-	if (dtt_write(sensor, DTT_TEMP_OS, val) != 0)
-		return 1;
-	udelay(50000);			/* Max 50ms */
-
-	/*
-	 * Setup Low Temp - hysteresis
-	 */
-	val = (((CONFIG_SYS_DTT_MAX_TEMP - CONFIG_SYS_DTT_HYSTERESIS) * 2) << 7) & 0xff80;
-	if (dtt_write(sensor, DTT_TEMP_HYST, val) != 0)
-		return 1;
-	udelay(50000);			/* Max 50ms */
-
-	/*
-	 * Setup configuraton register
-	 *
-	 * Fault Tolerance limits 4, Thermometer resolution bits is 9,
-	 * Polarity = Active Low,continuous conversion mode, Thermostat
-	 * mode is interrupt mode
-	 */
-	val = 0xa;
-	if (dtt_write(sensor, DTT_CONFIG, val) != 0)
-		return 1;
-	udelay(50000);			/* Max 50ms */
-
-	return 0;
-}
-
-int dtt_get_temp(int sensor)
-{
-	return (dtt_read(sensor, DTT_READ_TEMP) / 256);
-}
diff --git a/drivers/hwmon/ds620.c b/drivers/hwmon/ds620.c
deleted file mode 100644
index 1ecc3da799..0000000000
--- a/drivers/hwmon/ds620.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * DS620 DTT support
- *
- * (C) Copyright 2014 3ADEV <http://www.3adev.com>
- * Written-by: Albert ARIBAUD <albert.aribaud@3adev.fr>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-/*
- * Dallas Semiconductor's DS1621/1631 Digital Thermometer and Thermostat.
- */
-
-#include <common.h>
-#include <i2c.h>
-#include <dtt.h>
-
-/*
- * Device code
- */
-#define DTT_I2C_DEV_CODE	0x48
-#define DTT_START_CONVERT	0x51
-#define DTT_TEMP		0xAA
-#define DTT_CONFIG		0xAC
-
-/*
- * Config register MSB bits
- */
-#define DTT_CONFIG_1SHOT	0x01
-#define DTT_CONFIG_AUTOC	0x02
-#define DTT_CONFIG_R0		0x04 /* always 1 */
-#define DTT_CONFIG_R1		0x08 /* always 1 */
-#define DTT_CONFIG_TLF	0x10
-#define DTT_CONFIG_THF	0x20
-#define DTT_CONFIG_NVB	0x40
-#define DTT_CONFIG_DONE	0x80
-
-#define CHIP(sensor) (DTT_I2C_DEV_CODE + (sensor & 0x07))
-
-int dtt_init_one(int sensor)
-{
-	uint8_t config = DTT_CONFIG_1SHOT
-			| DTT_CONFIG_R0
-			| DTT_CONFIG_R1;
-	return i2c_write(CHIP(sensor), DTT_CONFIG, 1, &config, 1);
-}
-
-int dtt_get_temp(int sensor)
-{
-	uint8_t status;
-	uint8_t temp[2];
-
-	/* Start a conversion, may take up to 1 second. */
-	i2c_write(CHIP(sensor), DTT_START_CONVERT, 1, NULL, 0);
-	do {
-		if (i2c_read(CHIP(sensor), DTT_CONFIG, 1, &status, 1))
-			/* bail out if I2C error */
-			status |= DTT_CONFIG_DONE;
-	} while (!(status & DTT_CONFIG_DONE));
-	if (i2c_read(CHIP(sensor), DTT_TEMP, 1, temp, 2))
-		/* bail out if I2C error */
-		return -274; /* below absolute zero == error */
-
-	return ((int16_t)(temp[1] | (temp[0] << 8))) >> 7;
-}
diff --git a/drivers/hwmon/lm63.c b/drivers/hwmon/lm63.c
deleted file mode 100644
index 053c785fc5..0000000000
--- a/drivers/hwmon/lm63.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * (C) Copyright 2007-2008
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
- * based on lm75.c by Bill Hunter
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-/*
- * National LM63/LM64 Temperature Sensor
- * Main difference: LM 64 has -16 Kelvin temperature offset
- */
-
-#include <common.h>
-#include <i2c.h>
-#include <dtt.h>
-
-#define DTT_I2C_LM63_ADDR	0x4C	/* National LM63 device */
-
-#define DTT_READ_TEMP_RMT_MSB	0x01
-#define DTT_CONFIG		0x03
-#define DTT_READ_TEMP_RMT_LSB	0x10
-#define DTT_TACHLIM_LSB		0x48
-#define DTT_TACHLIM_MSB		0x49
-#define DTT_FAN_CONFIG		0x4A
-#define DTT_PWM_FREQ		0x4D
-#define DTT_PWM_LOOKUP_BASE	0x50
-
-struct pwm_lookup_entry {
-	u8 temp;
-	u8 pwm;
-};
-
-/*
- * Device code
- */
-
-int dtt_read(int sensor, int reg)
-{
-	int dlen;
-	uchar data[2];
-
-	/*
-	 * Calculate sensor address and register.
-	 */
-	if (!sensor)
-		sensor = DTT_I2C_LM63_ADDR;	/* legacy config */
-
-	dlen = 1;
-
-	/*
-	 * Now try to read the register.
-	 */
-	if (i2c_read(sensor, reg, 1, data, dlen) != 0)
-		return -1;
-
-	return (int)data[0];
-}				/* dtt_read() */
-
-int dtt_write(int sensor, int reg, int val)
-{
-	int dlen;
-	uchar data[2];
-
-	/*
-	 * Calculate sensor address and register.
-	 */
-	if (!sensor)
-		sensor = DTT_I2C_LM63_ADDR;	/* legacy config */
-
-	dlen = 1;
-	data[0] = (char)(val & 0xff);
-
-	/*
-	 * Write value to register.
-	 */
-	if (i2c_write(sensor, reg, 1, data, dlen) != 0)
-		return 1;
-
-	return 0;
-}				/* dtt_write() */
-
-static int is_lm64(int sensor)
-{
-	return sensor && (sensor != DTT_I2C_LM63_ADDR);
-}
-
-int dtt_init_one(int sensor)
-{
-	int i;
-	int val;
-
-	struct pwm_lookup_entry pwm_lookup[] = CONFIG_DTT_PWM_LOOKUPTABLE;
-
-	/*
-	 * Set PWM Frequency to 2.5% resolution
-	 */
-	val = 20;
-	if (dtt_write(sensor, DTT_PWM_FREQ, val) != 0)
-		return 1;
-
-	/*
-	 * Set Tachometer Limit
-	 */
-	val = CONFIG_DTT_TACH_LIMIT;
-	if (dtt_write(sensor, DTT_TACHLIM_LSB, val & 0xff) != 0)
-		return 1;
-	if (dtt_write(sensor, DTT_TACHLIM_MSB, (val >> 8) & 0xff) != 0)
-		return 1;
-
-	/*
-	 * Make sure PWM Lookup-Table is writeable
-	 */
-	if (dtt_write(sensor, DTT_FAN_CONFIG, 0x20) != 0)
-		return 1;
-
-	/*
-	 * Setup PWM Lookup-Table
-	 */
-	for (i = 0; i < ARRAY_SIZE(pwm_lookup); i++) {
-		int address = DTT_PWM_LOOKUP_BASE + 2 * i;
-		val = pwm_lookup[i].temp;
-		if (is_lm64(sensor))
-			val -= 16;
-		if (dtt_write(sensor, address, val) != 0)
-			return 1;
-		val = dtt_read(sensor, address);
-		val = pwm_lookup[i].pwm;
-		if (dtt_write(sensor, address + 1, val) != 0)
-			return 1;
-	}
-
-	/*
-	 * Enable PWM Lookup-Table, PWM Clock 360 kHz, Tachometer Mode 2
-	 */
-	val = 0x02;
-	if (dtt_write(sensor, DTT_FAN_CONFIG, val) != 0)
-		return 1;
-
-	/*
-	 * Enable Tach input
-	 */
-	val = dtt_read(sensor, DTT_CONFIG) | 0x04;
-	if (dtt_write(sensor, DTT_CONFIG, val) != 0)
-		return 1;
-
-	return 0;
-}
-
-int dtt_get_temp(int sensor)
-{
-	s16 temp = (dtt_read(sensor, DTT_READ_TEMP_RMT_MSB) << 8)
-	    | (dtt_read(sensor, DTT_READ_TEMP_RMT_LSB));
-
-	if (is_lm64(sensor))
-		temp += 16 << 8;
-
-	/* Ignore LSB for now, U-Boot only prints natural numbers */
-	return temp >> 8;
-}
diff --git a/drivers/hwmon/lm73.c b/drivers/hwmon/lm73.c
deleted file mode 100644
index c15c7514d8..0000000000
--- a/drivers/hwmon/lm73.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * (C) Copyright 2007-2008
- * Larry Johnson, lrj@acm.org
- *
- * based on dtt/lm75.c which is ...
- *
- * (C) Copyright 2001
- * Bill Hunter,  Wave 7 Optics, williamhunter@mediaone.net
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-/*
- * National Semiconductor LM73 Temperature Sensor
- */
-
-#include <common.h>
-#include <i2c.h>
-#include <dtt.h>
-
-/*
- * Device code
- */
-#define DTT_I2C_DEV_CODE 0x48	/* National Semi's LM73 device */
-#define DTT_READ_TEMP		0x0
-#define DTT_CONFIG		0x1
-#define DTT_TEMP_HIGH		0x2
-#define DTT_TEMP_LOW		0x3
-#define DTT_CONTROL		0x4
-#define DTT_ID			0x7
-
-int dtt_read(int const sensor, int const reg)
-{
-	int dlen;
-	uint8_t data[2];
-
-	/*
-	 * Validate 'reg' param and get register size.
-	 */
-	switch (reg) {
-	case DTT_CONFIG:
-	case DTT_CONTROL:
-		dlen = 1;
-		break;
-	case DTT_READ_TEMP:
-	case DTT_TEMP_HIGH:
-	case DTT_TEMP_LOW:
-	case DTT_ID:
-		dlen = 2;
-		break;
-	default:
-		return -1;
-	}
-	/*
-	 * Try to read the register at the calculated sensor address.
-	 */
-	if (0 !=
-	    i2c_read(DTT_I2C_DEV_CODE + (sensor & 0x07), reg, 1, data, dlen))
-		return -1;
-	/*
-	 * Handle 2 byte result.
-	 */
-	if (2 == dlen)
-		return (int)((unsigned)data[0] << 8 | (unsigned)data[1]);
-
-	return (int)data[0];
-} /* dtt_read() */
-
-int dtt_write(int const sensor, int const reg, int const val)
-{
-	int dlen;
-	uint8_t data[2];
-
-	/*
-	 * Validate 'reg' param and handle register size
-	 */
-	switch (reg) {
-	case DTT_CONFIG:
-	case DTT_CONTROL:
-		dlen = 1;
-		data[0] = (uint8_t) val;
-		break;
-	case DTT_TEMP_HIGH:
-	case DTT_TEMP_LOW:
-		dlen = 2;
-		data[0] = (uint8_t) (val >> 8);	/* MSB first */
-		data[1] = (uint8_t) val;
-		break;
-	default:
-		return -1;
-	}
-	/*
-	 * Write value to register at the calculated sensor address.
-	 */
-	return 0 != i2c_write(DTT_I2C_DEV_CODE + (sensor & 0x07), reg, 1, data,
-			      dlen);
-} /* dtt_write() */
-
-int dtt_init_one(int const sensor)
-{
-	int val;
-
-	/*
-	 * Validate the Identification register
-	 */
-	if (0x0190 != dtt_read(sensor, DTT_ID))
-		return -1;
-	/*
-	 * Setup THIGH (upper-limit) and TLOW (lower-limit) registers
-	 */
-	val = CONFIG_SYS_DTT_MAX_TEMP << 7;
-	if (dtt_write(sensor, DTT_TEMP_HIGH, val))
-		return -1;
-
-	val = CONFIG_SYS_DTT_MIN_TEMP << 7;
-	if (dtt_write(sensor, DTT_TEMP_LOW, val))
-		return -1;
-	/*
-	 * Setup configuraton register
-	 */
-	/* config = alert active low, disabled, and reset */
-	val = 0x64;
-	if (dtt_write(sensor, DTT_CONFIG, val))
-		return -1;
-	/*
-	 * Setup control/status register
-	 */
-	/* control = temp resolution 0.25C */
-	val = 0x00;
-	if (dtt_write(sensor, DTT_CONTROL, val))
-		return -1;
-
-	dtt_read(sensor, DTT_CONTROL);	/* clear temperature flags */
-	return 0;
-} /* dtt_init_one() */
-
-int dtt_get_temp(int const sensor)
-{
-	int const ret = dtt_read(sensor, DTT_READ_TEMP);
-
-	if (ret < 0) {
-		printf("DTT temperature read failed.\n");
-		return 0;
-	}
-	return (int)((int16_t) ret + 0x0040) >> 7;
-} /* dtt_get_temp() */
diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
deleted file mode 100644
index aafa4757b1..0000000000
--- a/drivers/hwmon/lm75.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * (C) Copyright 2001
- * Bill Hunter,  Wave 7 Optics, williamhunter@mediaone.net
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-/*
- * On Semiconductor's LM75 Temperature Sensor
- */
-
-#include <common.h>
-#include <i2c.h>
-#include <dtt.h>
-
-/*
- * Device code
- */
-#define DTT_I2C_DEV_CODE 0x48			/* ON Semi's LM75 device */
-#define DTT_READ_TEMP		0x0
-#define DTT_CONFIG		0x1
-#define DTT_TEMP_HYST		0x2
-#define DTT_TEMP_SET		0x3
-
-int dtt_read(int sensor, int reg)
-{
-	int dlen;
-	uchar data[2];
-
-#ifdef CONFIG_DTT_AD7414
-	/*
-	 * On AD7414 the first value upon bootup is not read correctly.
-	 * This is most likely because of the 800ms update time of the
-	 * temp register in normal update mode. To get current values
-	 * each time we issue the "dtt" command including upon powerup
-	 * we switch into one-short mode.
-	 *
-	 * Issue one-shot mode command
-	 */
-	dtt_write(sensor, DTT_CONFIG, 0x64);
-#endif
-
-	/* Validate 'reg' param */
-	if((reg < 0) || (reg > 3))
-		return -1;
-
-	/* Calculate sensor address and register. */
-	sensor = DTT_I2C_DEV_CODE + (sensor & 0x07);
-
-	/* Prepare to handle 2 byte result. */
-	if ((reg == DTT_READ_TEMP) ||
-		(reg == DTT_TEMP_HYST) ||
-		(reg == DTT_TEMP_SET))
-			dlen = 2;
-	else
-		dlen = 1;
-
-	/* Now try to read the register. */
-	if (i2c_read(sensor, reg, 1, data, dlen) != 0)
-		return -1;
-
-	/* Handle 2 byte result. */
-	if (dlen == 2)
-		return ((int)((short)data[1] + (((short)data[0]) << 8)));
-
-	return (int)data[0];
-} /* dtt_read() */
-
-
-int dtt_write(int sensor, int reg, int val)
-{
-	int dlen;
-	uchar data[2];
-
-	/* Validate 'reg' param */
-	if ((reg < 0) || (reg > 3))
-		return 1;
-
-	/* Calculate sensor address and register. */
-	sensor = DTT_I2C_DEV_CODE + (sensor & 0x07);
-
-	/* Handle 2 byte values. */
-	if ((reg == DTT_READ_TEMP) ||
-		(reg == DTT_TEMP_HYST) ||
-		(reg == DTT_TEMP_SET)) {
-			dlen = 2;
-		data[0] = (char)((val >> 8) & 0xff);	/* MSB first */
-		data[1] = (char)(val & 0xff);
-	} else {
-		dlen = 1;
-		data[0] = (char)(val & 0xff);
-	}
-
-	/* Write value to register. */
-	if (i2c_write(sensor, reg, 1, data, dlen) != 0)
-		return 1;
-
-	return 0;
-} /* dtt_write() */
-
-
-int dtt_init_one(int sensor)
-{
-	int val;
-
-	/* Setup TSET ( trip point ) register */
-	val = ((CONFIG_SYS_DTT_MAX_TEMP * 2) << 7) & 0xff80; /* trip */
-	if (dtt_write(sensor, DTT_TEMP_SET, val) != 0)
-		return 1;
-
-	/* Setup THYST ( untrip point ) register - Hysteresis */
-	val = (((CONFIG_SYS_DTT_MAX_TEMP - CONFIG_SYS_DTT_HYSTERESIS) * 2) << 7) & 0xff80;
-	if (dtt_write(sensor, DTT_TEMP_HYST, val) != 0)
-		return 1;
-
-	/* Setup configuraton register */
-#ifdef CONFIG_DTT_AD7414
-	/* config = alert active low and disabled */
-	val = 0x60;
-#else
-	/* config = 6 sample integration, int mode, active low, and enable */
-	val = 0x18;
-#endif
-	if (dtt_write(sensor, DTT_CONFIG, val) != 0)
-		return 1;
-
-	return 0;
-} /* dtt_init_one() */
-
-int dtt_get_temp(int sensor)
-{
-	int const ret = dtt_read(sensor, DTT_READ_TEMP);
-
-	if (ret < 0) {
-		printf("DTT temperature read failed.\n");
-		return 0;
-	}
-	return (int)((int16_t) ret / 256);
-} /* dtt_get_temp() */
diff --git a/drivers/hwmon/lm81.c b/drivers/hwmon/lm81.c
deleted file mode 100644
index bcc8d3293b..0000000000
--- a/drivers/hwmon/lm81.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * (C) Copyright 2006
- * Heiko Schocher, DENX Software Enginnering <hs@denx.de>
- *
- * based on dtt/lm75.c which is ...
- *
- * (C) Copyright 2001
- * Bill Hunter,  Wave 7 Optics, williamhunter@mediaone.net
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-/*
- * On Semiconductor's LM81 Temperature Sensor
- */
-
-#include <common.h>
-#include <i2c.h>
-#include <dtt.h>
-
-/*
- * Device code
- */
-#define DTT_I2C_DEV_CODE 0x2c			/* ON Semi's LM81 device */
-#define DTT_READ_TEMP		0x27
-#define DTT_CONFIG_TEMP		0x4b
-#define DTT_TEMP_MAX		0x39
-#define DTT_TEMP_HYST		0x3a
-#define DTT_CONFIG		0x40
-
-int dtt_read(int sensor, int reg)
-{
-    int dlen = 1;
-    uchar data[2];
-
-    /*
-     * Calculate sensor address and register.
-     */
-    sensor = DTT_I2C_DEV_CODE + (sensor & 0x03); /* calculate address of lm81 */
-
-    /*
-     * Now try to read the register.
-     */
-    if (i2c_read(sensor, reg, 1, data, dlen) != 0)
-	return -1;
-
-    return (int)data[0];
-} /* dtt_read() */
-
-
-int dtt_write(int sensor, int reg, int val)
-{
-    uchar data;
-
-    /*
-     * Calculate sensor address and register.
-     */
-    sensor = DTT_I2C_DEV_CODE + (sensor & 0x03); /* calculate address of lm81 */
-
-    data = (char)(val & 0xff);
-
-    /*
-     * Write value to register.
-     */
-    if (i2c_write(sensor, reg, 1, &data, 1) != 0)
-	return 1;
-
-    return 0;
-} /* dtt_write() */
-
-#define DTT_MANU	0x3e
-#define DTT_REV		0x3f
-#define DTT_CONFIG	0x40
-#define DTT_ADR		0x48
-
-int dtt_init_one(int sensor)
-{
-	int	man;
-	int	adr;
-	int	rev;
-
-	if (dtt_write (sensor, DTT_CONFIG, 0x01) < 0)
-		return 1;
-	/* The LM81 needs 400ms to get the correct values ... */
-	udelay (400000);
-	man = dtt_read (sensor, DTT_MANU);
-	if (man != 0x01)
-		return 1;
-	adr = dtt_read (sensor, DTT_ADR);
-	if (adr < 0)
-		return 1;
-	rev = dtt_read (sensor, DTT_REV);
-	if (rev < 0)
-		return 1;
-
-	debug ("DTT:   Found LM81@%x Rev: %d\n", adr, rev);
-	return 0;
-} /* dtt_init_one() */
-
-
-#define TEMP_FROM_REG(temp) \
-   ((temp)<256?((((temp)&0x1fe) >> 1) * 10)	 + ((temp) & 1) * 5:  \
-	       ((((temp)&0x1fe) >> 1) -255) * 10 - ((temp) & 1) * 5)  \
-
-int dtt_get_temp(int sensor)
-{
-	int val = dtt_read (sensor, DTT_READ_TEMP);
-	int tmpcnf = dtt_read (sensor, DTT_CONFIG_TEMP);
-
-	return (TEMP_FROM_REG((val << 1) + ((tmpcnf & 0x80) >> 7))) / 10;
-} /* dtt_get_temp() */
diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h
index bc0bc2b6c8..95c05350cd 100644
--- a/include/config_cmd_all.h
+++ b/include/config_cmd_all.h
@@ -13,7 +13,6 @@
  * Alphabetical list of all possible commands.
  */
 
-#define CONFIG_CMD_DTT		/* Digital Therm and Thermostat */
 #define CONFIG_CMD_EEPROM	/* EEPROM read/write support	*/
 #define CONFIG_CMD_FDC		/* Floppy Disk Support		*/
 #define CONFIG_CMD_FUSE		/* Device fuse support		*/
diff --git a/include/configs/PMC440.h b/include/configs/PMC440.h
index b9599b5e3b..8628b7ed18 100644
--- a/include/configs/PMC440.h
+++ b/include/configs/PMC440.h
@@ -163,26 +163,6 @@
 #define CONFIG_SYS_EEPROM_WREN			1
 #define CONFIG_SYS_I2C_BOOT_EEPROM_ADDR	0x52
 
-/*
- * standard dtt sensor configuration - bottom bit will determine local or
- * remote sensor of the TMP401
- */
-#define CONFIG_DTT_SENSORS		{ 0, 1 }
-
-/*
- * The PMC440 uses a TI TMP401 temperature sensor. This part
- * is basically compatible to the ADM1021 that is supported
- * by U-Boot.
- *
- * - i2c addr 0x4c
- * - conversion rate 0x02 = 0.25 conversions/second
- * - ALERT ouput disabled
- * - local temp sensor enabled, min set to 0 deg, max set to 70 deg
- * - remote temp sensor enabled, min set to 0 deg, max set to 70 deg
- */
-#define CONFIG_DTT_ADM1021
-#define CONFIG_SYS_DTT_ADM1021		{ { 0x4c, 0x02, 0, 1, 70, 0, 1, 70, 0} }
-
 #define CONFIG_PREBOOT		"echo Add \\\"run fpga\\\" and "	\
 				"\\\"painit\\\" to preboot command"
 
@@ -258,7 +238,6 @@
 
 /* Partitions */
 
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_NAND
 #define CONFIG_CMD_PCI
diff --git a/include/configs/TQM834x.h b/include/configs/TQM834x.h
index e3c2cca3c3..df6386c602 100644
--- a/include/configs/TQM834x.h
+++ b/include/configs/TQM834x.h
@@ -184,13 +184,6 @@
 #define CONFIG_RTC_DS1337			/* use ds1337 rtc via i2c */
 #define CONFIG_SYS_I2C_RTC_ADDR		0x68	/* at address 0x68 */
 
-/* I2C SYSMON (LM75) */
-#define CONFIG_DTT_LM75			1	/* ON Semi's LM75 */
-#define CONFIG_DTT_SENSORS		{0}	/* Sensor addresses */
-#define CONFIG_SYS_DTT_MAX_TEMP		70
-#define CONFIG_SYS_DTT_LOW_TEMP		-30
-#define CONFIG_SYS_DTT_HYSTERESIS	3
-
 /*
  * TSEC
  */
@@ -280,7 +273,6 @@
 /*
  * Command line configuration.
  */
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_JFFS2
 #define CONFIG_CMD_REGINFO
diff --git a/include/configs/UCP1020.h b/include/configs/UCP1020.h
index cd46db4f6f..8265f3c1ab 100644
--- a/include/configs/UCP1020.h
+++ b/include/configs/UCP1020.h
@@ -129,27 +129,6 @@
 
 #define CONFIG_HWCONFIG
 
-#define CONFIG_DTT_ADM1021	1	/* ADM1021 temp sensor support	*/
-#define CONFIG_SYS_DTT_BUS_NUM	1	/* The I2C bus for DTT		*/
-#define CONFIG_DTT_SENSORS	{ 0, 1 }	/* Sensor index	*/
-/*
- * ADM1021/NCT72 temp sensor configuration (see dtt/adm1021.c for details).
- * there will be one entry in this array for each two (dummy) sensors in
- * CONFIG_DTT_SENSORS.
- *
- * For uCP1020 module:
- * - only one ADM1021/NCT72
- * - i2c addr 0x41
- * - conversion rate 0x02 = 0.25 conversions/second
- * - ALERT output disabled
- * - local temp sensor enabled, min set to 0 deg, max set to 85 deg
- * - remote temp sensor enabled, min set to 0 deg, max set to 85 deg
- */
-#define CONFIG_SYS_DTT_ADM1021	{ { CONFIG_SYS_I2C_NCT72_ADDR, \
-					 0x02, 0, 1, 0, 85, 1, 0, 85} }
-
-#define CONFIG_CMD_DTT
-
 /*
  * These can be toggled for performance analysis, otherwise use default.
  */
diff --git a/include/configs/acadia.h b/include/configs/acadia.h
index 9f35e71d0c..0be310d4a3 100644
--- a/include/configs/acadia.h
+++ b/include/configs/acadia.h
@@ -124,14 +124,6 @@
 #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3
 #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10
 
-/* I2C SYSMON (LM75, AD7414 is almost compatible)			*/
-#define CONFIG_DTT_LM75		1		/* ON Semi's LM75	*/
-#define CONFIG_DTT_AD7414	1		/* use AD7414		*/
-#define CONFIG_DTT_SENSORS	{0}		/* Sensor addresses	*/
-#define CONFIG_SYS_DTT_MAX_TEMP	70
-#define CONFIG_SYS_DTT_LOW_TEMP	-30
-#define CONFIG_SYS_DTT_HYSTERESIS	3
-
 /*-----------------------------------------------------------------------
  * Ethernet
  *----------------------------------------------------------------------*/
@@ -160,7 +152,6 @@
 /*
  * Commands additional to the ones defined in amcc-common.h
  */
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_NAND
 
 /*-----------------------------------------------------------------------
diff --git a/include/configs/canyonlands.h b/include/configs/canyonlands.h
index ea440d6e16..b495d0645b 100644
--- a/include/configs/canyonlands.h
+++ b/include/configs/canyonlands.h
@@ -261,14 +261,6 @@
 #define CONFIG_4xx_CONFIG_I2C_EEPROM_OFFSET	0
 #define CONFIG_4xx_CONFIG_BLOCKSIZE		16
 
-/* I2C SYSMON (LM75, AD7414 is almost compatible)			*/
-#define CONFIG_DTT_LM75				/* ON Semi's LM75	*/
-#define CONFIG_DTT_AD7414			/* use AD7414		*/
-#define CONFIG_DTT_SENSORS	{0}		/* Sensor addresses	*/
-#define CONFIG_SYS_DTT_MAX_TEMP	70
-#define CONFIG_SYS_DTT_LOW_TEMP	-30
-#define CONFIG_SYS_DTT_HYSTERESIS	3
-
 #if !defined(CONFIG_ARCHES)
 /* RTC configuration */
 #define CONFIG_RTC_M41T62
@@ -369,17 +361,14 @@
  * Commands additional to the ones defined in amcc-common.h
  */
 #if defined(CONFIG_ARCHES)
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_PCI
 #define CONFIG_CMD_SDRAM
 #elif defined(CONFIG_CANYONLANDS)
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_NAND
 #define CONFIG_CMD_PCI
 #define CONFIG_CMD_SATA
 #define CONFIG_CMD_SDRAM
 #elif defined(CONFIG_GLACIER)
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_NAND
 #define CONFIG_CMD_PCI
 #define CONFIG_CMD_SDRAM
diff --git a/include/configs/dlvision-10g.h b/include/configs/dlvision-10g.h
index e32651f541..89f24e0980 100644
--- a/include/configs/dlvision-10g.h
+++ b/include/configs/dlvision-10g.h
@@ -57,7 +57,6 @@
 /*
  * Commands additional to the ones defined in amcc-common.h
  */
-#define CONFIG_CMD_DTT
 #undef CONFIG_CMD_EEPROM
 #undef CONFIG_CMD_IRQ
 
@@ -111,13 +110,6 @@
 #define CONFIG_SYS_SPD_BUS_NUM		4
 
 /* Temp sensor/hwmon/dtt */
-#define CONFIG_SYS_DTT_BUS_NUM	4
-#define CONFIG_DTT_LM63		1	/* National LM63	*/
-#define CONFIG_DTT_SENSORS	{ 0x4c, 0x4e, 0x18 } /* Sensor addresses */
-#define CONFIG_DTT_PWM_LOOKUPTABLE	\
-		{ { 46, 10 }, { 48, 14 }, { 50, 19 }, { 52, 23 },\
-		  { 54, 27 }, { 56, 31 }, { 58, 36 }, { 60, 40 } }
-#define CONFIG_DTT_TACH_LIMIT	0xa10
 
 #define CONFIG_SYS_ICS8N3QV01_I2C	{1, 3}
 #define CONFIG_SYS_SIL1178_I2C		{0, 2}
diff --git a/include/configs/dlvision.h b/include/configs/dlvision.h
index 2b7d62b034..ec21a8347a 100644
--- a/include/configs/dlvision.h
+++ b/include/configs/dlvision.h
@@ -55,7 +55,6 @@
 /*
  * Commands additional to the ones defined in amcc-common.h
  */
-#define CONFIG_CMD_DTT
 #undef CONFIG_CMD_EEPROM
 #undef CONFIG_CMD_IRQ
 
diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h
index 5411e5ff49..91976a75bc 100644
--- a/include/configs/exynos5-common.h
+++ b/include/configs/exynos5-common.h
@@ -46,8 +46,6 @@
 
 /* Thermal Management Unit */
 #define CONFIG_EXYNOS_TMU
-#define CONFIG_CMD_DTT
-#define CONFIG_TMU_CMD_DTT
 
 /* MMC SPL */
 #define COPY_BL2_FNPTR_ADDR	0x02020030
diff --git a/include/configs/intip.h b/include/configs/intip.h
index f1f840923b..036fd20eb4 100644
--- a/include/configs/intip.h
+++ b/include/configs/intip.h
@@ -218,13 +218,6 @@
 #define CONFIG_4xx_CONFIG_I2C_EEPROM_OFFSET	0
 #define CONFIG_4xx_CONFIG_BLOCKSIZE		16
 
-/* I2C SYSMON */
-#define CONFIG_DTT_LM63         1       /* National LM63        */
-#define CONFIG_DTT_SENSORS      { 0 }   /* Sensor addresses     */
-#define CONFIG_DTT_PWM_LOOKUPTABLE      \
-	{ { 40, 10 }, { 50, 20 }, { 60, 40 } }
-#define CONFIG_DTT_TACH_LIMIT   0xa10
-
 /* RTC configuration */
 #define CONFIG_RTC_DS1337	1
 #define CONFIG_SYS_I2C_RTC_ADDR	0x68
@@ -272,7 +265,6 @@
 /*
  * Commands additional to the ones defined in amcc-common.h
  */
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_PCI
 #define CONFIG_CMD_SDRAM
 
diff --git a/include/configs/io.h b/include/configs/io.h
index 3e44a8c607..dd195ffeed 100644
--- a/include/configs/io.h
+++ b/include/configs/io.h
@@ -57,7 +57,6 @@
 /*
  * Commands additional to the ones defined in amcc-common.h
  */
-#define CONFIG_CMD_DTT
 #undef CONFIG_CMD_EEPROM
 #undef CONFIG_CMD_IRQ
 
@@ -93,11 +92,6 @@
 #define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000
 
 /* Temp sensor/hwmon/dtt */
-#define CONFIG_DTT_LM63		1	/* National LM63	*/
-#define CONFIG_DTT_SENSORS	{ 0 }	/* Sensor addresses	*/
-#define CONFIG_DTT_PWM_LOOKUPTABLE	\
-		{ { 40, 10 }, { 50, 20 }, { 60, 40 } }
-#define CONFIG_DTT_TACH_LIMIT	0xa10
 
 /*
  * FLASH organization
diff --git a/include/configs/io64.h b/include/configs/io64.h
index 8e754fc10b..1b58f04540 100644
--- a/include/configs/io64.h
+++ b/include/configs/io64.h
@@ -327,14 +327,6 @@
 #define CONFIG_4xx_CONFIG_I2C_EEPROM_OFFSET	0
 #define CONFIG_4xx_CONFIG_BLOCKSIZE		16
 
-/* Temp sensor/hwmon/dtt */
-#define CONFIG_DTT_LM63		1	/* National LM63 */
-#define CONFIG_DTT_SENSORS	{ 0x18, 0x4c, 0x4e }	/* Sensor addresses */
-#define CONFIG_DTT_PWM_LOOKUPTABLE	\
-		{ { 40, 10 }, { 43, 13 }, { 46, 16 },  \
-		  { 50, 20 }, { 53, 27 }, { 56, 34 }, { 60, 40 } }
-#define CONFIG_DTT_TACH_LIMIT	0xa10
-
 /*-----------------------------------------------------------------------
  * Ethernet
  *----------------------------------------------------------------------*/
@@ -373,7 +365,6 @@
 /*
  * Commands additional to the ones defined in amcc-common.h
  */
-#define CONFIG_CMD_DTT
 
 #define CONFIG_SYS_POST_MEMORY_ON	CONFIG_SYS_POST_MEMORY
 
diff --git a/include/configs/katmai.h b/include/configs/katmai.h
index 3143b631ce..c3b9da0d96 100644
--- a/include/configs/katmai.h
+++ b/include/configs/katmai.h
@@ -123,31 +123,6 @@
 #define CONFIG_SYS_I2C_RTC_ADDR	0x68
 #define CONFIG_SYS_M41T11_BASE_YEAR	1900	/* play along with linux	*/
 
-/* I2C DTT */
-#define CONFIG_DTT_ADM1021	1	/* ADM1021 temp sensor support	*/
-#define CONFIG_SYS_DTT_BUS_NUM		1	/* The I2C bus for DTT		*/
-/*
- * standard dtt sensor configuration - bottom bit will determine local or
- * remote sensor of the ADM1021, the rest determines index into
- * CONFIG_SYS_DTT_ADM1021 array below.
- */
-#define CONFIG_DTT_SENSORS	{ 0, 1 }
-
-/*
- * ADM1021 temp sensor configuration (see dtt/adm1021.c for details).
- * there will be one entry in this array for each two (dummy) sensors in
- * CONFIG_DTT_SENSORS.
- *
- * For Katmai board:
- * - only one ADM1021
- * - i2c addr 0x18
- * - conversion rate 0x02 = 0.25 conversions/second
- * - ALERT ouput disabled
- * - local temp sensor enabled, min set to 0 deg, max set to 85 deg
- * - remote temp sensor enabled, min set to 0 deg, max set to 85 deg
- */
-#define CONFIG_SYS_DTT_ADM1021		{ { 0x18, 0x02, 0, 1, 0, 85, 1, 0, 58} }
-
 /*-----------------------------------------------------------------------
  * Environment
  *----------------------------------------------------------------------*/
diff --git a/include/configs/kilauea.h b/include/configs/kilauea.h
index b8c0d0d8f0..a91a6a9ee5 100644
--- a/include/configs/kilauea.h
+++ b/include/configs/kilauea.h
@@ -317,10 +317,6 @@
 #define CONFIG_4xx_CONFIG_I2C_EEPROM_OFFSET	0
 #define CONFIG_4xx_CONFIG_BLOCKSIZE		16
 
-/* Standard DTT sensor configuration */
-#define CONFIG_DTT_DS1775	1
-#define CONFIG_DTT_SENSORS	{ 0 }
-
 /* RTC configuration */
 #define CONFIG_RTC_DS1338	1
 #define CONFIG_SYS_I2C_RTC_ADDR	0x68
diff --git a/include/configs/km/km-powerpc.h b/include/configs/km/km-powerpc.h
index 8293607c9c..0d50538a8e 100644
--- a/include/configs/km/km-powerpc.h
+++ b/include/configs/km/km-powerpc.h
@@ -14,7 +14,6 @@
 
 #define CONFIG_BOOTCOUNT_LIMIT
 
-#define CONFIG_CMD_DTT
 #define CONFIG_JFFS2_CMDLINE
 
 /* standard km ethernet_present for piggy */
diff --git a/include/configs/km/km83xx-common.h b/include/configs/km/km83xx-common.h
index 35ec0972bf..7d69224bd1 100644
--- a/include/configs/km/km83xx-common.h
+++ b/include/configs/km/km83xx-common.h
@@ -215,13 +215,6 @@
 
 #define CONFIG_KM_IVM_BUS		2	/* I2C2 (Mux-Port 1)*/
 
-/* I2C SYSMON (LM75, AD7414 is almost compatible) */
-#define CONFIG_DTT_LM75		/* ON Semi's LM75 */
-#define CONFIG_DTT_SENSORS	{0, 1, 2, 3}	/* Sensor addresses */
-#define CONFIG_SYS_DTT_MAX_TEMP	70
-#define CONFIG_SYS_DTT_HYSTERESIS	3
-#define CONFIG_SYS_DTT_BUS_NUM		1
-
 #if defined(CONFIG_CMD_NAND)
 #define CONFIG_NAND_KMETER1
 #define CONFIG_SYS_MAX_NAND_DEVICE	1
diff --git a/include/configs/km82xx.h b/include/configs/km82xx.h
index aeece20bda..09c3aa9ca8 100644
--- a/include/configs/km82xx.h
+++ b/include/configs/km82xx.h
@@ -268,13 +268,6 @@ int get_sda(void);
 int get_scl(void);
 #endif
 
-/* I2C SYSMON (LM75, AD7414 is almost compatible)			*/
-#define CONFIG_DTT_LM75			/* ON Semi's LM75		*/
-#define CONFIG_DTT_SENSORS	{0}	/* Sensor addresses		*/
-#define CONFIG_SYS_DTT_MAX_TEMP	70
-#define CONFIG_SYS_DTT_HYSTERESIS	3
-#define CONFIG_SYS_DTT_BUS_NUM		2
-
 #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1
 
 #define CONFIG_SYS_IMMR		0xF0000000
diff --git a/include/configs/makalu.h b/include/configs/makalu.h
index cdb02f3693..a92bc43538 100644
--- a/include/configs/makalu.h
+++ b/include/configs/makalu.h
@@ -189,10 +189,6 @@
 #define CONFIG_SYS_I2C_EEPROM_ADDR	0x52	/* I2C boot EEPROM (24C02BN)	*/
 #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1	/* Bytes of address		*/
 
-/* Standard DTT sensor configuration */
-#define CONFIG_DTT_DS1775	1
-#define CONFIG_DTT_SENSORS	{ 0 }
-
 /* RTC configuration */
 #define CONFIG_RTC_X1205	1
 #define CONFIG_SYS_I2C_RTC_ADDR	0x6f
@@ -231,7 +227,6 @@
 /*
  * Commands additional to the ones defined in amcc-common.h
  */
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_PCI
 
 /* POST support */
diff --git a/include/configs/motionpro.h b/include/configs/motionpro.h
index cb5c346807..aaa8962fd2 100644
--- a/include/configs/motionpro.h
+++ b/include/configs/motionpro.h
@@ -33,7 +33,6 @@
 /*
  * Command line configuration.
  */
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_IDE
 #define CONFIG_CMD_IMMAP
 #define CONFIG_CMD_JFFS2
@@ -268,6 +267,13 @@
 #define LED_ON			0x00000010
 
 /*
+<<<<<<< 4ba57299158b7a7020d2bd3b8d8369884696a0ae
+=======
+ * Temperature sensor
+ */
+
+/*
+>>>>>>> Drop digital thermometer and thermostat (DTT) drivers
  * Environment settings
  */
 #define CONFIG_ENV_IS_IN_FLASH	1
diff --git a/include/configs/neo.h b/include/configs/neo.h
index 9115e251b1..29ce61c326 100644
--- a/include/configs/neo.h
+++ b/include/configs/neo.h
@@ -57,7 +57,6 @@
 /*
  * Commands additional to the ones defined in amcc-common.h
  */
-#define CONFIG_CMD_DTT
 #undef CONFIG_CMD_EEPROM
 #undef CONFIG_CMD_IRQ
 
@@ -100,13 +99,6 @@
 #define CONFIG_RTC_DS1337
 #define CONFIG_SYS_I2C_RTC_ADDR	0x68
 
-/* Temp sensor/hwmon/dtt */
-#define CONFIG_DTT_LM63		1	/* National LM63	*/
-#define CONFIG_DTT_SENSORS	{ 0 }	/* Sensor addresses	*/
-#define CONFIG_DTT_PWM_LOOKUPTABLE	\
-		{ { 40, 10 }, { 50, 20 }, { 60, 40 } }
-#define CONFIG_DTT_TACH_LIMIT	0xa10
-
 /*
  * FLASH organization
  */
diff --git a/include/configs/odroid_xu3.h b/include/configs/odroid_xu3.h
index 246fb808a9..ba29f3e7d1 100644
--- a/include/configs/odroid_xu3.h
+++ b/include/configs/odroid_xu3.h
@@ -61,7 +61,6 @@
 
 /* FIXME: MUST BE REMOVED AFTER TMU IS TURNED ON */
 #undef CONFIG_EXYNOS_TMU
-#undef CONFIG_TMU_CMD_DTT
 
 #define CONFIG_DFU_ALT_SYSTEM               \
 	"uImage fat 0 1;"                   \
diff --git a/include/configs/sequoia.h b/include/configs/sequoia.h
index c39bb24420..7a120ed5a6 100644
--- a/include/configs/sequoia.h
+++ b/include/configs/sequoia.h
@@ -159,14 +159,6 @@
 #define CONFIG_4xx_CONFIG_I2C_EEPROM_OFFSET	0
 #define CONFIG_4xx_CONFIG_BLOCKSIZE		16
 
-/* I2C SYSMON (LM75, AD7414 is almost compatible)			*/
-#define CONFIG_DTT_LM75		1	/* ON Semi's LM75		*/
-#define CONFIG_DTT_AD7414	1	/* use AD7414			*/
-#define CONFIG_DTT_SENSORS	{0}	/* Sensor addresses		*/
-#define CONFIG_SYS_DTT_MAX_TEMP	70
-#define CONFIG_SYS_DTT_LOW_TEMP	-30
-#define CONFIG_SYS_DTT_HYSTERESIS	3
-
 /*
  * Default environment variables
  */
@@ -219,7 +211,6 @@
 /*
  * Commands additional to the ones defined in amcc-common.h
  */
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_NAND
 #define CONFIG_CMD_PCI
 #define CONFIG_CMD_SDRAM
diff --git a/include/configs/socrates.h b/include/configs/socrates.h
index 76b4038d50..b37e796d33 100644
--- a/include/configs/socrates.h
+++ b/include/configs/socrates.h
@@ -210,13 +210,6 @@
 /* I2C W83782G HW-Monitoring IC */
 #define CONFIG_SYS_I2C_W83782G_ADDR	0x28	/* W83782G address 		*/
 
-/* I2C temp sensor */
-/* Socrates uses Maxim's	DS75, which is compatible with LM75 */
-#define CONFIG_DTT_LM75		1
-#define CONFIG_DTT_SENSORS	{4}		/* Sensor addresses	*/
-#define CONFIG_SYS_DTT_MAX_TEMP	125
-#define CONFIG_SYS_DTT_LOW_TEMP	-55
-#define CONFIG_SYS_DTT_HYSTERESIS	3
 #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	4
 
 /*
@@ -286,7 +279,6 @@
 /*
  * Command line configuration.
  */
-#define CONFIG_CMD_DTT
 #undef CONFIG_CMD_EEPROM
 #define CONFIG_CMD_SDRAM
 #define CONFIG_CMD_REGINFO
diff --git a/include/configs/tqma6.h b/include/configs/tqma6.h
index 738693c0c0..799c45e2d7 100644
--- a/include/configs/tqma6.h
+++ b/include/configs/tqma6.h
@@ -57,13 +57,6 @@
 #define CONFIG_I2C_MULTI_BUS
 #define CONFIG_SYS_I2C_SPEED		100000
 
-/* I2C SYSMON (LM75) */
-#define CONFIG_DTT_LM75
-#define CONFIG_DTT_MAX_TEMP		70
-#define CONFIG_DTT_MIN_TEMP		-30
-#define CONFIG_DTT_HYSTERESIS	3
-#define CONFIG_CMD_DTT
-
 /* I2C EEPROM (M24C64) */
 #define CONFIG_SYS_I2C_EEPROM_ADDR			0x50
 #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN			2
@@ -371,8 +364,5 @@
 #endif
 
 /* Support at least the sensor on TQMa6 SOM */
-#if !defined(CONFIG_DTT_SENSORS)
-#define CONFIG_DTT_SENSORS		{ 0 }
-#endif
 
 #endif /* __CONFIG_H */
diff --git a/include/configs/tqma6_mba6.h b/include/configs/tqma6_mba6.h
index 3d6e4383e1..69e9079339 100644
--- a/include/configs/tqma6_mba6.h
+++ b/include/configs/tqma6_mba6.h
@@ -10,8 +10,6 @@
 #ifndef __CONFIG_TQMA6_MBA6_H
 #define __CONFIG_TQMA6_MBA6_H
 
-#define CONFIG_DTT_SENSORS		{ 0, 1 }
-
 #define CONFIG_FEC_XCV_TYPE		RGMII
 #define CONFIG_ETHPRIME			"FEC"
 
diff --git a/include/configs/tqma6_wru4.h b/include/configs/tqma6_wru4.h
index b9cc5d632f..4ab4c6559d 100644
--- a/include/configs/tqma6_wru4.h
+++ b/include/configs/tqma6_wru4.h
@@ -7,10 +7,6 @@
 #ifndef __CONFIG_TQMA6_WRU4_H
 #define __CONFIG_TQMA6_WRU4_H
 
-/* DTT sensors */
-#define CONFIG_DTT_SENSORS		{ 0, 1 }
-#define CONFIG_SYS_DTT_BUS_NUM		2
-
 /* Ethernet */
 #define CONFIG_FEC_XCV_TYPE		RMII
 #define CONFIG_ETHPRIME			"FEC"
diff --git a/include/configs/work_92105.h b/include/configs/work_92105.h
index 82f4af9c93..458acf59af 100644
--- a/include/configs/work_92105.h
+++ b/include/configs/work_92105.h
@@ -85,14 +85,6 @@
 #define CONFIG_RTC_DS1374
 
 /*
- * I2C Temperature Sensor (DTT)
- */
-
-#define CONFIG_CMD_DTT
-#define CONFIG_DTT_SENSORS { 0, 1 }
-#define CONFIG_DTT_DS620
-
-/*
  * U-Boot General Configurations
  */
 #define CONFIG_SYS_LONGHELP
diff --git a/include/configs/xilinx-ppc.h b/include/configs/xilinx-ppc.h
index ea4b739d0b..c4efae67a7 100644
--- a/include/configs/xilinx-ppc.h
+++ b/include/configs/xilinx-ppc.h
@@ -28,7 +28,6 @@
 #define CONFIG_CMD_REGINFO
 #undef CONFIG_CMD_JFFS2
 #undef CONFIG_CMD_MTDPARTS
-#undef CONFIG_CMD_DTT
 #undef CONFIG_CMD_EEPROM
 
 /*Misc*/
diff --git a/include/configs/xpedite517x.h b/include/configs/xpedite517x.h
index bd1d0c75d9..97a9d71e8b 100644
--- a/include/configs/xpedite517x.h
+++ b/include/configs/xpedite517x.h
@@ -233,8 +233,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
 
 /* I2C DS1631 temperature sensor */
 #define CONFIG_SYS_I2C_DS1621_ADDR	0x48
-#define CONFIG_DTT_DS1621
-#define CONFIG_DTT_SENSORS		{ 0 }
 #define CONFIG_SYS_I2C_LM90_ADDR	0x4c
 
 /* I2C EEPROM - AT24C128B */
@@ -501,7 +499,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
 /*
  * Command configuration.
  */
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_IRQ
 #define CONFIG_CMD_JFFS2
diff --git a/include/configs/xpedite537x.h b/include/configs/xpedite537x.h
index a290cf3463..fa1971db20 100644
--- a/include/configs/xpedite537x.h
+++ b/include/configs/xpedite537x.h
@@ -230,8 +230,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
 
 /* I2C DS1631 temperature sensor */
 #define CONFIG_SYS_I2C_DS1621_ADDR	0x48
-#define CONFIG_DTT_DS1621
-#define CONFIG_DTT_SENSORS		{ 0 }
 #define CONFIG_SYS_I2C_LM90_ADDR	0x4c
 
 /* I2C EEPROM - AT24C128B */
@@ -353,7 +351,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
 /*
  * Command configuration.
  */
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_JFFS2
 #define CONFIG_CMD_NAND
diff --git a/include/configs/xpedite550x.h b/include/configs/xpedite550x.h
index ad4247ab48..e3f0b939c3 100644
--- a/include/configs/xpedite550x.h
+++ b/include/configs/xpedite550x.h
@@ -219,8 +219,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
 #define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100
 
 /* I2C DS7505 temperature sensor */
-#define CONFIG_DTT_LM75
-#define CONFIG_DTT_SENSORS		{ 0 }
 #define CONFIG_SYS_I2C_LM75_ADDR	0x48
 
 /* I2C ADT7461 temperature sensor */
@@ -338,7 +336,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
 /*
  * Command configuration.
  */
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_JFFS2
 #define CONFIG_CMD_NAND
diff --git a/include/configs/yosemite.h b/include/configs/yosemite.h
index 77648d78bc..d9c09b80cd 100644
--- a/include/configs/yosemite.h
+++ b/include/configs/yosemite.h
@@ -131,14 +131,6 @@
 #define CONFIG_ENV_OFFSET		0x0
 #endif /* CONFIG_ENV_IS_IN_EEPROM */
 
-/* I2C SYSMON (LM75, AD7414 is almost compatible)			*/
-#define CONFIG_DTT_LM75		1		/* ON Semi's LM75	*/
-#define CONFIG_DTT_AD7414	1		/* use AD7414		*/
-#define CONFIG_DTT_SENSORS	{0}		/* Sensor addresses	*/
-#define CONFIG_SYS_DTT_MAX_TEMP	70
-#define CONFIG_SYS_DTT_LOW_TEMP	-30
-#define CONFIG_SYS_DTT_HYSTERESIS	3
-
 /*
  * Default environment variables
  */
@@ -184,7 +176,6 @@
 /*
  * Commands additional to the ones defined in amcc-common.h
  */
-#define CONFIG_CMD_DTT
 #define CONFIG_CMD_PCI
 
 #ifdef CONFIG_440EP
diff --git a/include/dtt.h b/include/dtt.h
deleted file mode 100644
index 173159dc62..0000000000
--- a/include/dtt.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * (C) Copyright 2001
- * Erik Theisen,  Wave 7 Optics, etheisen@mindspring.com.
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-/*
- * Digital Thermometers and Thermostats.
- */
-#ifndef _DTT_H_
-#define _DTT_H_
-
-#if defined(CONFIG_DTT_ADM1021)	|| \
-	defined(CONFIG_DTT_ADT7460)	|| \
-	defined(CONFIG_DTT_DS1621)	|| \
-	defined(CONFIG_DTT_DS1775)	|| \
-	defined(CONFIG_DTT_DS620)	|| \
-	defined(CONFIG_DTT_LM63)	|| \
-	defined(CONFIG_DTT_LM73)	|| \
-	defined(CONFIG_DTT_LM75)	|| \
-	defined(CONFIG_DTT_LM81)
-
-#define CONFIG_DTT				/* We have a DTT */
-
-#ifndef CONFIG_DTT_ADM1021
-#define DTT_COMMERCIAL_MAX_TEMP	70		/* 0 - +70 C */
-#define DTT_INDUSTRIAL_MAX_TEMP	85		/* -40 - +85 C */
-#define DTT_AUTOMOTIVE_MAX_TEMP	105		/* -40 - +105 C */
-
-#ifndef CONFIG_SYS_DTT_MAX_TEMP
-#define CONFIG_SYS_DTT_MAX_TEMP DTT_COMMERCIAL_MAX_TEMP
-#endif
-
-#ifndef CONFIG_SYS_DTT_HYSTERESIS
-#define CONFIG_SYS_DTT_HYSTERESIS	5		/* 5 C */
-#endif
-#endif /* CONFIG_DTT_ADM1021 */
-
-extern void dtt_init(void);
-extern int dtt_init_one(int);
-extern int dtt_read(int sensor, int reg);
-extern int dtt_write(int sensor, int reg, int val);
-extern int dtt_get_temp(int sensor);
-#endif
-
-#endif /* _DTT_H_ */
diff --git a/include/i2c.h b/include/i2c.h
index a88cc7cddf..2c1643d650 100644
--- a/include/i2c.h
+++ b/include/i2c.h
@@ -571,9 +571,6 @@ void i2c_dump_msgs(struct i2c_msg *msg, int nmsgs);
 #if !defined(CONFIG_SYS_RTC_BUS_NUM)
 #define CONFIG_SYS_RTC_BUS_NUM		0
 #endif
-#if !defined(CONFIG_SYS_DTT_BUS_NUM)
-#define CONFIG_SYS_DTT_BUS_NUM		0
-#endif
 #if !defined(CONFIG_SYS_SPD_BUS_NUM)
 #define CONFIG_SYS_SPD_BUS_NUM		0
 #endif
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 4bdf2c6f13..8233c7e54d 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -383,7 +383,6 @@ CONFIG_CM922T_XA10
 CONFIG_CMDLINE_EDITING
 CONFIG_CMDLINE_PS_SUPPORT
 CONFIG_CMDLINE_TAG
-CONFIG_CMD_DTT
 CONFIG_CMD_ECCTEST
 CONFIG_CMD_EECONFIG
 CONFIG_CMD_EEPROM
@@ -682,20 +681,6 @@ CONFIG_DRIVE_SATA
 CONFIG_DRIVE_TYPES
 CONFIG_DRIVE_USB
 CONFIG_DSP_CLUSTER_START
-CONFIG_DTT
-CONFIG_DTT_AD7414
-CONFIG_DTT_ADM1021
-CONFIG_DTT_DS1621
-CONFIG_DTT_DS1775
-CONFIG_DTT_DS620
-CONFIG_DTT_HYSTERESIS
-CONFIG_DTT_LM63
-CONFIG_DTT_LM75
-CONFIG_DTT_MAX_TEMP
-CONFIG_DTT_MIN_TEMP
-CONFIG_DTT_PWM_LOOKUPTABLE
-CONFIG_DTT_SENSORS
-CONFIG_DTT_TACH_LIMIT
 CONFIG_DUOVERO
 CONFIG_DV_USBPHY_CTL
 CONFIG_DWC2_DFLT_SPEED_FULL
@@ -3451,12 +3436,6 @@ CONFIG_SYS_DSPI_CTAR4
 CONFIG_SYS_DSPI_CTAR5
 CONFIG_SYS_DSPI_CTAR6
 CONFIG_SYS_DSPI_CTAR7
-CONFIG_SYS_DTT_ADM1021
-CONFIG_SYS_DTT_BUS_NUM
-CONFIG_SYS_DTT_HYSTERESIS
-CONFIG_SYS_DTT_LOW_TEMP
-CONFIG_SYS_DTT_MAX_TEMP
-CONFIG_SYS_DTT_MIN_TEMP
 CONFIG_SYS_DUART_RST
 CONFIG_SYS_DV_CLKMODE
 CONFIG_SYS_DV_NOR_BOOT_CFG
@@ -6116,7 +6095,6 @@ CONFIG_TIZEN
 CONFIG_TI_KEYSTONE_SERDES
 CONFIG_TI_KSNAV
 CONFIG_TI_SPI_MMAP
-CONFIG_TMU_CMD_DTT
 CONFIG_TMU_TIMER
 CONFIG_TOTAL5200
 CONFIG_TPL_DRIVERS_MISC_SUPPORT
