summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2008-05-16 11:06:06 +0200
committerWolfgang Denk <wd@denx.de>2008-06-03 21:00:00 +0200
commit4d91d1df2f16b511ab80dec50c80e050ba0d841e (patch)
treed7040f5a79233d62fda446d60bcb6fa427b1e415
parent8c66497e06bf803489c589df58ee591d71033274 (diff)
downloadu-boot-imx-4d91d1df2f16b511ab80dec50c80e050ba0d841e.zip
u-boot-imx-4d91d1df2f16b511ab80dec50c80e050ba0d841e.tar.gz
u-boot-imx-4d91d1df2f16b511ab80dec50c80e050ba0d841e.tar.bz2
DTT: Issue one-shot command on AD7414 (LM75 code) to read temp
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. This patch fixes the problem on AD7414 equipped boards (Sequoia, Canyonlands etc), that temp value printed in the bootup log was incorrect. Signed-off-by: Stefan Roese <sr@denx.de>
-rw-r--r--drivers/hwmon/lm75.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
index e29b294..c348517 100644
--- a/drivers/hwmon/lm75.c
+++ b/drivers/hwmon/lm75.c
@@ -47,6 +47,19 @@ 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
*/