]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/hwmon/adm1021.c
Merge git://git.denx.de/u-boot-arm
[karo-tx-uboot.git] / drivers / hwmon / adm1021.c
index 9f65cfb2740169adbd6f38eb6abcd18f8bb7896b..99e942b4995457bdf0fcb1b4539ce8cec7da5db6 100644 (file)
@@ -7,23 +7,7 @@
  * (C) Copyright 2001
  * Bill Hunter,  Wave 7 Optics, williamhunter@mediaone.net
  *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 
 /*
 
 #include <common.h>
 
-#ifdef CONFIG_DTT_ADM1021
-
 #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 */
@@ -52,7 +65,7 @@ typedef
        }
 dtt_cfg_t;
 
-dtt_cfg_t dttcfg[] = CFG_DTT_ADM1021;
+dtt_cfg_t dttcfg[] = CONFIG_SYS_DTT_ADM1021;
 
 int
 dtt_read (int sensor, int reg)
@@ -80,8 +93,8 @@ dtt_write (int sensor, int reg, int val)
        return 0;
 } /* dtt_write() */
 
-static int
-_dtt_init (int sensor)
+int
+dtt_init_one(int sensor)
 {
        dtt_cfg_t *dcp = &dttcfg[sensor >> 1];
        int reg, val;
@@ -135,28 +148,7 @@ _dtt_init (int sensor)
                return 1;
 
        return 0;
-} /* _dtt_init() */
-
-int
-dtt_init (void)
-{
-       int i;
-       unsigned char sensors[] = CONFIG_DTT_SENSORS;
-       const char *const header = "DTT:   ";
-
-       /* switch to correct I2C bus */
-       I2C_SET_BUS(CFG_DTT_BUS_NUM);
-
-       for (i = 0; i < sizeof(sensors); i++) {
-               if (_dtt_init(sensors[i]) != 0)
-                       printf ("%s%d FAILED INIT\n", header, i+1);
-               else
-                       printf ("%s%d is %i C\n", header, i+1,
-                               dtt_get_temp(sensors[i]));
-       }
-
-       return (0);
-} /* dtt_init() */
+} /* dtt_init_one() */
 
 int
 dtt_get_temp (int sensor)
@@ -170,5 +162,3 @@ dtt_get_temp (int sensor)
 
        return (int) val;
 } /* dtt_get_temp() */
-
-#endif /* CONFIG_DTT_ADM1021 */