···2323 Prefix: 'ltc3883'2424 Addresses scanned: -2525 Datasheet: http://www.linear.com/product/ltc38832626+ * Linear Technology LTM46762727+ Prefix: 'ltm4676'2828+ Addresses scanned: -2929+ Datasheet: http://www.linear.com/product/ltm467626302731Author: Guenter Roeck <linux@roeck-us.net>2832···3733LTC2974 is a quad digital power supply manager. LTC2978 is an octal power supply3834monitor. LTC2977 is a pin compatible replacement for LTC2978. LTC3880 is a dual3935output poly-phase step-down DC/DC controller. LTC3883 is a single phase4040-step-down DC/DC controller.3636+step-down DC/DC controller. LTM4676 is a dual 13A or single 26A uModule3737+regulator.413842394340Usage Notes···8075 LTC2974: N=2-58176 LTC2977: N=2-98277 LTC2978: N=2-98383- LTC3880: N=2-37878+ LTC3880, LTM4676: N=2-38479 LTC3883: N=28580in[N]_input Measured output voltage.8681in[N]_min Minimum output voltage.···10095 and temp5 reports the chip temperature.10196 On LTC2977 and LTC2978, only one temperature measurement10297 is supported and reports the chip temperature.103103- On LTC3880, temp1 and temp2 report external9898+ On LTC3880 and LTM4676, temp1 and temp2 report external10499 temperatures, and temp3 reports the chip temperature.105100 On LTC3883, temp1 reports an external temperature,106101 and temp2 reports the chip temperature.···128123 LTC2974: N=1-4129124 LTC2977: Not supported130125 LTC2978: Not supported131131- LTC3880: N=1-2126126+ LTC3880, LTM4676: N=1-2132127 LTC3883: N=2133128power[N]_input Measured output power.134129135135-curr1_label "iin". LTC3880 and LTC3883 only.130130+curr1_label "iin". LTC3880, LTC3883, and LTM4676 only.136131curr1_input Measured input current.137132curr1_max Maximum input current.138133curr1_max_alarm Input current high alarm.···143138 LTC2974: N=1-4144139 LTC2977: not supported145140 LTC2978: not supported146146- LTC3880: N=2-3141141+ LTC3880, LTM4676: N=2-3147142 LTC3883: N=2148143curr[N]_input Measured output current.149144curr[N]_max Maximum output current.
+11-9
drivers/hwmon/pmbus/ltc2978.c
···11/*22 * Hardware monitoring driver for LTC2974, LTC2977, LTC2978, LTC3880,33- * and LTC388333+ * LTC3883, and LTM467644 *55 * Copyright (c) 2011 Ericsson AB.66- * Copyright (c) 2013 Guenter Roeck66+ * Copyright (c) 2013, 2014 Guenter Roeck77 *88 * This program is free software; you can redistribute it and/or modify99 * it under the terms of the GNU General Public License as published by···1414 * but WITHOUT ANY WARRANTY; without even the implied warranty of1515 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1616 * GNU General Public License for more details.1717- *1818- * You should have received a copy of the GNU General Public License1919- * along with this program; if not, write to the Free Software2020- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.2117 */22182319#include <linux/kernel.h>···2428#include <linux/i2c.h>2529#include "pmbus.h"26302727-enum chips { ltc2974, ltc2977, ltc2978, ltc3880, ltc3883 };3131+enum chips { ltc2974, ltc2977, ltc2978, ltc3880, ltc3883, ltm4676 };28322933/* Common for all chips */3034#define LTC2978_MFR_VOUT_PEAK 0xdd···4145#define LTC2974_MFR_IOUT_PEAK 0xd74246#define LTC2974_MFR_IOUT_MIN 0xd843474444-/* LTC3880 and LTC3883 */4848+/* LTC3880, LTC3883, and LTM4676 */4549#define LTC3880_MFR_IOUT_PEAK 0xd74650#define LTC3880_MFR_CLEAR_PEAKS 0xe34751#define LTC3880_MFR_TEMPERATURE2_PEAK 0xf4···5963#define LTC3880_ID_MASK 0xff006064#define LTC3883_ID 0x43006165#define LTC3883_ID_MASK 0xff006666+#define LTM4676_ID 0x4480 /* datasheet claims 0x440X */6767+#define LTM4676_ID_MASK 0xfff062686369#define LTC2974_NUM_PAGES 46470#define LTC2978_NUM_PAGES 8···369371 {"ltc2978", ltc2978},370372 {"ltc3880", ltc3880},371373 {"ltc3883", ltc3883},374374+ {"ltm4676", ltm4676},372375 {}373376};374377MODULE_DEVICE_TABLE(i2c, ltc2978_id);···405406 data->id = ltc3880;406407 } else if ((chip_id & LTC3883_ID_MASK) == LTC3883_ID) {407408 data->id = ltc3883;409409+ } else if ((chip_id & LTM4676_ID_MASK) == LTM4676_ID) {410410+ data->id = ltm4676;408411 } else {409412 dev_err(&client->dev, "Unsupported chip ID 0x%x\n", chip_id);410413 return -ENODEV;···460459 }461460 break;462461 case ltc3880:462462+ case ltm4676:463463 info->read_word_data = ltc3880_read_word_data;464464 info->pages = LTC3880_NUM_PAGES;465465 info->func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_IIN···503501module_i2c_driver(ltc2978_driver);504502505503MODULE_AUTHOR("Guenter Roeck");506506-MODULE_DESCRIPTION("PMBus driver for LTC2974, LTC2978, LTC3880, and LTC3883");504504+MODULE_DESCRIPTION("PMBus driver for LTC2974, LTC2978, LTC3880, LTC3883, and LTM4676");507505MODULE_LICENSE("GPL");