Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932676AbdGKOF1 (ORCPT ); Tue, 11 Jul 2017 10:05:27 -0400 Received: from mail-by2nam03on0054.outbound.protection.outlook.com ([104.47.42.54]:19883 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755627AbdGKOFX (ORCPT ); Tue, 11 Jul 2017 10:05:23 -0400 Authentication-Results: spf=pass (sender IP is 137.71.25.57) smtp.mailfrom=analog.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=analog.com; From: Dragos Bogdan To: Sebastian Reichel , Rob Herring , "Mark Rutland" CC: , , , Dragos Bogdan Subject: [PATCH] power: supply: ltc2941-battery-gauge: Add LTC2944 support Date: Tue, 11 Jul 2017 17:05:09 +0300 Message-ID: <20170711140509.31346-1-dragos.bogdan@analog.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:137.71.25.57;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(39860400002)(39410400002)(39850400002)(39400400002)(39840400002)(39450400003)(2980300002)(438002)(199003)(189002)(1076002)(48376002)(50466002)(6666003)(77096006)(8936002)(50226002)(7636002)(107886003)(38730400002)(5003940100001)(54906002)(8676002)(356003)(575784001)(86362001)(50986999)(72206003)(478600001)(47776003)(5660300001)(53416004)(2906002)(106466001)(4326008)(33646002)(230783001)(626005)(189998001)(36756003)(305945005);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR03MB2463;H:nwd2mta4.analog.com;FPR:;SPF:Pass;MLV:sfv;A:1;MX:1;LANG:en; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 61a2dd7a-3b38-44bd-9a03-08d4c865de7a X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(8251501002)(2017030254075)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:MWHPR03MB2463; X-MS-TrafficTypeDiagnostic: MWHPR03MB2463: X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2463;20:6SnfL0uqP1+KWWTwmyX8TCZ09vAVKZ+dq9nyxVyZQDWAQn4OEfRheqFPZZxiPFtX/Hs+yGlWwtiR68uJxGuGpDKUnG6+jtqgjh01VIQU2+Ow1UhYnuJymWGr2dP+tU4kIHXi51ociBzkgSWEXalj3WA91IVDO6hjHUgJmOnB8i6cH1h8vfggVTLLgwlin7tu0vGgUZDShHet+HmlQG0b5a+e+v6qEIFhlpAo7Rz++Yps66Bmpb+Nlo6uTDYp3xbRV8IphCqM+Md6TB0rH3CLuHPQwtm+9BxXp87zH4HJBWNtScS4NKggeJqqXu22fh6BT2XkVX3RpzNNaPRvQF2Q/L/Uon5L5EcsOA6Ogstby35CsG92UFHkKMu0G87OA7Apn9LoXReQLpeuLog9GRtbnhAkg7fZcJ4t/VxKp8jiEFBB8l0Ac9VVnNosvyJXHGY78Yg6HYXLVgcMovqR3W5Ca8oQgWlFHyXIBMj66sGf5ee2Ye+/XwPLbeVhnEkgcWDP X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(72170088055959)(236129657087228)(232431446821674); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(13016025)(13018025)(2017060910075)(93006095)(93004095)(100000703101)(100105400095)(3002001)(10201501046)(6055026)(6041248)(20161123564025)(20161123558100)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:MWHPR03MB2463;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:MWHPR03MB2463; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR03MB2463;4:LotlHY6zt4N3PdSwDA14ppg5yAPz+myHvfkYbtYmcQ?= =?us-ascii?Q?GjJxQu2gXnax+rOS4QOUB7doSWIR3vk5srriw9OlfH/XrXgRe6tuqBS1f/GZ?= =?us-ascii?Q?MUXBJT8po8k1mKN8HbYqMnAKuVQAYMV6r9kORxojwEM/vUOgsiEqKur+6RWj?= =?us-ascii?Q?ywVMnA/K4Cw21E+sYM+qNVvhGUhYfx0Ju3e3OztqZOAI9XpOyia+SvGy7zqy?= =?us-ascii?Q?g4kGT6SsqL290kmx8LJ+VlRw6Iol+CKkYiB9e5U6EZszLmVFuDyKggtYME24?= =?us-ascii?Q?LyIR5uQyvN2G43ya/cQl6h3bxiCO5PMC4w/7NiD63i+QsP4ZcHnpFXmvyN5V?= =?us-ascii?Q?HdWUlKQcW7cjJsCkwhC6q5U52qn0YMZ5TVIFcISf4gzpgVK0ZKNrVHGTa/YJ?= =?us-ascii?Q?mX2A2JhrroTZYhw8+fKmJNYD9OKnGHPuC7NkDo5ZzC6Tl5/lzCdgZezE7PV/?= =?us-ascii?Q?N9JPwgKz9KktcCMYVQkD1p5oli7+cREAb55WbVk413DRaF0FdCDpswFbLwqT?= =?us-ascii?Q?fVBHmQe48wAwSoQD1/09eHy3W9DuEPuhKt8YZ+tgwJpM+TGMlqfI824qCsz7?= =?us-ascii?Q?9pjoDKb0JqXTHWhRkc9VFn0rqDXteTJpT44GhKECOMPf34AVCtO/0lBZjou3?= =?us-ascii?Q?mE9F+5yYTr7OGSQHaLfrr5bb5WC7YdWu6HGwiIlrupdlDp+VQ4s8aN9AItFi?= =?us-ascii?Q?c8gdQPMWtISeEmOmAS7NqRc/XNo2BjNERAgOChECH1P2aAZNgl6y7Kypnu3I?= =?us-ascii?Q?fJgOrD/hjO3z1Wb7Oab73JxPFPKbr/3d6d6F8tjkYM0uTE/hQe4VxlUNvqXF?= =?us-ascii?Q?TZb1miuhYYZOK3/qSt7DexwwOADBCx9nQkPboGvsMgeHHsLGgzufSEaWXGER?= =?us-ascii?Q?i/77690l6Y2kY4Dn2+JUAw3XJQxC3NxL9Fxr1KlU/mQzh13QAn/WbYaXFlkf?= =?us-ascii?Q?Tl62mlpoIuOKs3MfUUgB9BstT3iQ4LzwQvI2lmd9NfFiu7x4zY1snMKu8uz8?= =?us-ascii?Q?cKxro+KkzbZqkI1BeX1f4ElE3o46cBnDXOY/sRjY8SbreiVFg5kHUPoa6Ua5?= =?us-ascii?Q?WmonCuoKhJFsZxlnZOk1VDgVzUPlQTSdjW5cPhQ4ZmlGLziT5pZ+6uD3+vK1?= =?us-ascii?Q?3bIXlDO0MWf/7PrTeYXnqqGrJKyHRcK54x4kO3ERqSP807hw29wD9PgK2gO0?= =?us-ascii?Q?J7nS80P2MHuaqyxQPZJzXXJicw2YNOFGa0CDo2MNs3rTzSSMnLEJzk8UEApp?= =?us-ascii?Q?Xn88t/uuVxEhz3I1wGc9SdqoX4D97MPowsxvYl0sru6GK90Nf1e1xNhc6vyU?= =?us-ascii?Q?zx4eEbueBcSPlss0KStU4EjI0b8V+Ni1Afb2E/Qs0yGCLygtt/ZQfnZjPpnv?= =?us-ascii?Q?/Z8PW9eTLffOumZbfwojuroeM=3D?= X-Forefront-PRVS: 0365C0E14B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR03MB2463;23:U4vbuyLVtiHLE4CjTv9RZxHjsptZXXDOSKrKxeQCd?= =?us-ascii?Q?ulmwkmkNBlqjgiq82MSih5Kq422oU8V6YIuHMlEQKdV4Axzct+I6S9BEqvIL?= =?us-ascii?Q?WAUpGBLmETVBm9Dv6g2dA1kc2fSc7D5nmZOZB77WS+dK9vHe3VhKWSDnA+F7?= =?us-ascii?Q?ponK5BsemLzHXQ3TSpaJbTVozpDGQMfony8THY/EOgonvQdKvEH7zBCsfGBv?= =?us-ascii?Q?oJH3RVNFH2RLg/1DWESuKUpQsTIWEK2gOrs2tiosyCqXJ0wBWCZXoDKztJwG?= =?us-ascii?Q?rArYk6QFlyXXyy3bWfo06+/5S365h9PugJsudbA059EtM2NwWi2l/q+JOFmc?= =?us-ascii?Q?8hoUeckMCAgFkDk+PEx2J3oBMROrONKn2yaiz3oyWDT41ULFNRrBQW6xkLsE?= =?us-ascii?Q?AO/PDA5Y0MhFR1JRU5FQA7469cqW5onBNTrIlFwILjHSflL7URPjjaTn0kr5?= =?us-ascii?Q?DH58JKpAx7n82oZvQWE0LG36zfO4CXxF2Xu0om+tQBA7AFoehQboYp4W1/QZ?= =?us-ascii?Q?lkk6yYytrg6vyHiGr3Rbq+hBLkOpGQsEvz28e7kbOUWhSg+n9KRKpotZiF2l?= =?us-ascii?Q?Hrv6cT10SFVo8iThTyltRbduLPFKTXTQS/m4T2Pk5mK9vyK9MbO7ZLwVOuTt?= =?us-ascii?Q?8lrCOZnUIOGJIC0SuRWzXxxBMbr6D0t/UiPFhKMVtxNJfUZuNrXMCWQ6WsI2?= =?us-ascii?Q?jzLW+Ukca/B8h+3t8JmoowJ84Zx4uWiQiApjqplV98gdkKAFc31a6t3aa03F?= =?us-ascii?Q?s4yNg3xxDshn8EF0U5bhAq/vynB4JQbAD7CQeYvrmhLan4N48v1YBGp0effV?= =?us-ascii?Q?zIUFZec5StQNvfyXRWRExnKpXwbKgX8RASz6WrwmxGN+pqgyFwBwV4M0eHHl?= =?us-ascii?Q?/Cjeb+7yJpVzBBGwMagjqPcm8Ya/hh8Tl6+RBR/cASKWi0lOt4R4Z1KJ43H8?= =?us-ascii?Q?ekysjjo3VxTHpGd6ebLfvVgq2OdLc9fv63HrlkniQf3n3jOfAICm7U9v8m/V?= =?us-ascii?Q?Rz2AEmzJxcf7YNPLrGXQg9WECVr+51lsvg0Z6R+GzFva3zgMV+Bj5RMp7w1C?= =?us-ascii?Q?h6mU+o=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR03MB2463;6:UlPX4GLG3OHQqpJ+YHnZxsVMStSN8QW/6TqCnzxdQb?= =?us-ascii?Q?zMvZqjVATQD80kUjSkEKdJQqiToReS0anObupD/Z5oii0luzuRsQgRS5In8U?= =?us-ascii?Q?YWJrPvKAWijEgUH721kKFK0zNusKyUQWU+MLtV3zv809vC6xNQsMk9U9Mq99?= =?us-ascii?Q?RYSd0+RMTh0vzM4t4V5+BVFAWQJrJ4g8YfvIHTEBIKszGUxRXyLKmSjslzL9?= =?us-ascii?Q?8c174qkzLd9t5ADHNKn+AIyBj7Q/tgvcmh9cYYiKE+n9FToEwOcnsRKZr/zQ?= =?us-ascii?Q?bKVnTDdj26mgwUytyB0PkjS8ashNPy7Ze9iG0sQ8eFyT2Nevj/ugo9//wxvw?= =?us-ascii?Q?QvAMLz1/a2Z+HOOjXMj5EBR/DfdZBu2Lb3ztkkH3NmzQq9ehKBPx3TW/Cccj?= =?us-ascii?Q?TmLJ5I1H/HMAx4859FkRSgjkkbypVrdzF7fOFf6IAxoBL0hxFnbYUHa3Cpz3?= =?us-ascii?Q?VDj8itlsed8udw4R4zfNj0ChSMN1KYUjn6EBmoTjJArbPWcgCsfhr2mH3G1a?= =?us-ascii?Q?qpZX5hh5vQ6ZtpZkS6enLSD/Uge2Bzw5VfphpduXdj2qu3q88BmI6i0mZUrj?= =?us-ascii?Q?TBDag2fnCGiBA2oTM3tO5+v/cyoFq0BcL+38k2ob4DJuTOjf/4K/ab9vm7yf?= =?us-ascii?Q?R6RAFECcXqQLZz+AY2jcf/A3peYh2jE+wZYj7mZQV+L/clSfaVWkeLNfOfX0?= =?us-ascii?Q?G67RA4D73uOK3gQmmqIrPX1dKEts7awhNi4YV/ehDs+F9h9IO0VT7zVWmalC?= =?us-ascii?Q?Xllhg0IXhlaYT4ytf3K6UfN2aqcsLBtJT3rEOTFzFQjbIXabygtF5Dj1mhMa?= =?us-ascii?Q?bgS7GRlnyTGJk+8iO0MPl+8rFLM+Z5E6Hipv4q+eqd3IrmPdiveQ/vLJhpV3?= =?us-ascii?Q?iEAQhp3CARo4OPT27OkALMt3nZVlU4h6Ak4GZjB0TBEXIofDTjcVW/auCTVt?= =?us-ascii?Q?d7m05ggUo9+e9baclU7yUFiI+8nBTU/IX2nzLhCv7bpO6Z8uMN7cfIfCjCet?= =?us-ascii?Q?aUkxaAVkFsda9gKdfHNDDV?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2463;5:PngYWKj5eSVelmgzR78DLpOxvep3AVLI0fsEg3/yCeX4YIqKKxTmcZAVkvYC3UbgbvKidZ7eBMZEwyF0Fh9AkI62+lAAxFiIPvOT1puPrd298TZKjlMKfZPngFkR9+d7MXLZcHRwUMaO7B5Pj3Pu6JMPTGPmbLV9lD163A2ZSd1eAGkkcrKjsTMIGbYsakXSQC1Km1llfpCheXmP/+vmCDY7fXfxpp1LcumvMYLlmfv0WphOu5BdQSXJJq3NKuAGNvX2e75y6yHirVz0Ec/zA8kMvcEpyDFiigcZoy26rIiRJLVScy3o72qGfsvIAGfPliLgpgesWTOYPzkz/UXkKLKTV1t1WZOxb/7xAsMV8y93HqIC41XlLvo2+qU43Bsl8ul1FttJvh+6/IWKvhCCsNQKquDL86+8wgor633VjsgJJSuHYr/17o8Qf+FDKiyDl7T+b99h1U6wRvpLkvNYb2tmhVot60wOxO817rzjVL529Zpy/PrSnsdHJnaKCcXi;24:aDV/RzjPf7X7BvavpycN3QjjnbuOgIZJrz1IEcM84P05HpotBDADIp/Wu6PvfhQRvSPzBuJ3F/cBXHpxvBh4+sNYoGgUt8j9KQ4rHZEWkrI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2463;7:wELDSG81UV4qS5kSAz+/1mpzCNX2aq9HHsvzVbu2ni3iXH58zTTaHXHOojAc4mdldE6WXuXL2EDJq9Xk68ZDZZ0gjlRocLbj3zC5ZeeDgfVv+zVecy1N9S9OM9GnKLpCd1TLf/ymOs5+RCA7hyYEsOeOpFjnwWhwCWR+AURsre4sJ+gzDdz7oMdzRbDcioULGGUnC+4bg1dDk6wYCE2ODywblHY1hubzN5wQkg++7tmR3b6tydAaIEEzU0VcjF1VlaFn1c9WDiCifJs9yjHdtmNZDQ9v1vAxP1dzpTHTQupf9JxhIU81iIzEAj+ua1ftNhgBmXebw8wkEeMhKB9TMwx+xYmCTa78zne6Alh3LKuXYrqLXEbQ+Nbs5KwqLMOBYGEa4UjDWYOk6teQPs3m4LGVMbk858IOcfNH8lEgEo8hDG1il4ZgrEoqu7xDj75LgsRA5faLDZC+5rTqzkKEckevlMiwaPhxBDfWWCY4IX4fJMvzoP0y7Z8/bgnPv+ig0l3aSv/4G+8S/Ifa3aBjYpzYF4FMfiplLSjEuGnLdFgcTB01AP1nT70iyCwgQHvOaZYgDwIpnNCYCIIJdyNgwQghwfvUJ4zIAXkjGM5zjB8XsCNmhvTbp31Do1MXVcYVRA7adZ+zDkrdVunbokeBB9JcHbSdKn7esmE0q/POWbl7vjyZ5slOtsUO+ZkPx8ZFbWyCiFZotdzR+ZW0LEujfOlkhiSdeANG3J5lEZMDi0CVyzAnpaBcWZBpQvC4GLPI320ibmDJCTFO/KiR1A3eyrnbfsfNd62HIxVB0yRJH9M= X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jul 2017 14:05:21.4663 (UTC) X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=eaa689b4-8f87-40e0-9c6f-7228de4d754a;Ip=[137.71.25.57];Helo=[nwd2mta4.analog.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB2463 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3257 Lines: 76 The only difference between the already supported LTC2943 and LTC2944 is the operating range (3.6V - 20V compared to 3.6V - 60V). Signed-off-by: Dragos Bogdan --- Documentation/devicetree/bindings/power/supply/ltc2941.txt | 10 +++++----- drivers/power/supply/ltc2941-battery-gauge.c | 11 ++++++++--- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Documentation/devicetree/bindings/power/supply/ltc2941.txt b/Documentation/devicetree/bindings/power/supply/ltc2941.txt index a9d7aa60558b..ed0f02846d10 100644 --- a/Documentation/devicetree/bindings/power/supply/ltc2941.txt +++ b/Documentation/devicetree/bindings/power/supply/ltc2941.txt @@ -1,9 +1,9 @@ -binding for LTC2941 and LTC2943 battery gauges +binding for LTC2941, LTC2943 and LTC2944 battery gauges -Both the LTC2941 and LTC2943 measure battery capacity. -The LTC2943 is compatible with the LTC2941, it adds voltage and -temperature monitoring, and uses a slightly different conversion -formula for the charge counter. +All the LTC2941, LTC2943 and LTC2944 measure battery capacity. +The LTC2943 and LTC2944 are compatible with the LTC2941, they add voltage and +temperature monitoring, and use a slightly different conversion formula for the +charge counter. Required properties: - compatible: Should contain "lltc,ltc2941" or "lltc,ltc2943" which also diff --git a/drivers/power/supply/ltc2941-battery-gauge.c b/drivers/power/supply/ltc2941-battery-gauge.c index 7efb908f4451..48af7b6fb704 100644 --- a/drivers/power/supply/ltc2941-battery-gauge.c +++ b/drivers/power/supply/ltc2941-battery-gauge.c @@ -1,5 +1,5 @@ /* - * I2C client/driver for the Linear Technology LTC2941 and LTC2943 + * I2C client/driver for the Linear Technology LTC2941, LTC2943 and LTC2944 * Battery Gas Gauge IC * * Copyright (C) 2014 Topic Embedded Systems @@ -145,7 +145,7 @@ static int ltc294x_reset(const struct ltc294x_info *info, int prescaler_exp) control = LTC294X_REG_CONTROL_PRESCALER_SET(prescaler_exp) | LTC294X_REG_CONTROL_ALCC_CONFIG_DISABLED; - /* Put the 2943 into "monitor" mode, so it measures every 10 sec */ + /* Put the 2943/4 into "monitor" mode, so it measures every 10 sec */ if (info->num_regs == LTC2943_NUM_REGS) control |= LTC2943_REG_CONTROL_MODE_SCAN; @@ -494,6 +494,7 @@ static SIMPLE_DEV_PM_OPS(ltc294x_pm_ops, ltc294x_suspend, ltc294x_resume); static const struct i2c_device_id ltc294x_i2c_id[] = { {"ltc2941", LTC2941_NUM_REGS}, {"ltc2943", LTC2943_NUM_REGS}, + {"ltc2944", LTC2943_NUM_REGS}, { }, }; MODULE_DEVICE_TABLE(i2c, ltc294x_i2c_id); @@ -507,6 +508,10 @@ static const struct of_device_id ltc294x_i2c_of_match[] = { .compatible = "lltc,ltc2943", .data = (void *)LTC2943_NUM_REGS }, + { + .compatible = "lltc,ltc2944", + .data = (void *)LTC2943_NUM_REGS + }, { }, }; MODULE_DEVICE_TABLE(of, ltc294x_i2c_of_match); @@ -525,5 +530,5 @@ module_i2c_driver(ltc294x_driver); MODULE_AUTHOR("Auryn Verwegen, Topic Embedded Systems"); MODULE_AUTHOR("Mike Looijmans, Topic Embedded Products"); -MODULE_DESCRIPTION("LTC2941/LTC2943 Battery Gas Gauge IC driver"); +MODULE_DESCRIPTION("LTC2941/LTC2943/LTC2944 Battery Gas Gauge IC driver"); MODULE_LICENSE("GPL"); -- 2.11.0