Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drivers: hwmon: (pmbus/ltc2978) Add support for LTM4686 uModule

This patch adds support for LTM4686 Ultrathin Dual 10A or
Single 20A uModule Regulator with Digital Power System Management.

Datasheet: http://www.analog.com/ltm4686

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>

authored by

Michael Hennerich and committed by
Guenter Roeck
4e15d05d 0238df64

+17 -2
+2
Documentation/devicetree/bindings/hwmon/ltc2978.txt
··· 15 15 * "lltc,ltm2987" 16 16 * "lltc,ltm4675" 17 17 * "lltc,ltm4676" 18 + * "lltc,ltm4686" 18 19 - reg: I2C slave address 19 20 20 21 Optional properties: ··· 31 30 * ltc3880, ltc3882, ltc3886 : vout0 - vout1 32 31 * ltc3883 : vout0 33 32 * ltm4676 : vout0 - vout1 33 + * ltm4686 : vout0 - vout1 34 34 35 35 Example: 36 36 ltc2978@5e {
+5
Documentation/hwmon/ltc2978
··· 55 55 Prefix: 'ltm4676' 56 56 Addresses scanned: - 57 57 Datasheet: http://www.linear.com/product/ltm4676 58 + * Analog Devices LTM4686 59 + Prefix: 'ltm4686' 60 + Addresses scanned: - 61 + Datasheet: http://www.analog.com/ltm4686 58 62 59 63 Author: Guenter Roeck <linux@roeck-us.net> 60 64 ··· 80 76 as two separate chips on two different I2C bus addresses. 81 77 LTM4675 is a dual 9A or single 18A μModule regulator 82 78 LTM4676 is a dual 13A or single 26A uModule regulator. 79 + LTM4686 is a dual 10A or single 20A uModule regulator. 83 80 84 81 85 82 Usage Notes
+2 -1
drivers/hwmon/pmbus/Kconfig
··· 83 83 depends on SENSORS_LTC2978 && REGULATOR 84 84 help 85 85 If you say yes here you get regulator support for Linear 86 - Technology LTC2974, LTC2977, LTC2978, LTC3880, LTC3883, and LTM4676. 86 + Technology LTC2974, LTC2977, LTC2978, LTC3880, LTC3883, LTM4676 87 + and LTM4686. 87 88 88 89 config SENSORS_LTC3815 89 90 tristate "Linear Technologies LTC3815"
+8 -1
drivers/hwmon/pmbus/ltc2978.c
··· 4 4 * Copyright (c) 2011 Ericsson AB. 5 5 * Copyright (c) 2013, 2014, 2015 Guenter Roeck 6 6 * Copyright (c) 2015 Linear Technology 7 + * Copyright (c) 2018 Analog Devices Inc. 7 8 * 8 9 * This program is free software; you can redistribute it and/or modify 9 10 * it under the terms of the GNU General Public License as published by ··· 29 28 #include "pmbus.h" 30 29 31 30 enum chips { ltc2974, ltc2975, ltc2977, ltc2978, ltc2980, ltc3880, ltc3882, 32 - ltc3883, ltc3886, ltc3887, ltm2987, ltm4675, ltm4676 }; 31 + ltc3883, ltc3886, ltc3887, ltm2987, ltm4675, ltm4676, ltm4686 }; 33 32 34 33 /* Common for all chips */ 35 34 #define LTC2978_MFR_VOUT_PEAK 0xdd ··· 82 81 #define LTM4676_ID_REV1 0x4400 83 82 #define LTM4676_ID_REV2 0x4480 84 83 #define LTM4676A_ID 0x47e0 84 + #define LTM4686_ID 0x4770 85 85 86 86 #define LTC2974_NUM_PAGES 4 87 87 #define LTC2978_NUM_PAGES 8 ··· 514 512 {"ltm2987", ltm2987}, 515 513 {"ltm4675", ltm4675}, 516 514 {"ltm4676", ltm4676}, 515 + {"ltm4686", ltm4686}, 517 516 {} 518 517 }; 519 518 MODULE_DEVICE_TABLE(i2c, ltc2978_id); ··· 591 588 else if (chip_id == LTM4676_ID_REV1 || chip_id == LTM4676_ID_REV2 || 592 589 chip_id == LTM4676A_ID) 593 590 return ltm4676; 591 + else if (chip_id == LTM4686_ID) 592 + return ltm4686; 594 593 595 594 dev_err(&client->dev, "Unsupported chip ID 0x%x\n", chip_id); 596 595 return -ENODEV; ··· 689 684 case ltc3887: 690 685 case ltm4675: 691 686 case ltm4676: 687 + case ltm4686: 692 688 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING; 693 689 info->read_word_data = ltc3880_read_word_data; 694 690 info->pages = LTC3880_NUM_PAGES; ··· 776 770 { .compatible = "lltc,ltm2987" }, 777 771 { .compatible = "lltc,ltm4675" }, 778 772 { .compatible = "lltc,ltm4676" }, 773 + { .compatible = "lltc,ltm4686" }, 779 774 { } 780 775 }; 781 776 MODULE_DEVICE_TABLE(of, ltc2978_of_match);