From patchwork Tue Jun 14 15:17:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: saravanan sekar X-Patchwork-Id: 12881239 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4E1A3C43334 for ; Tue, 14 Jun 2022 15:17:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1356594AbiFNPRm (ORCPT ); Tue, 14 Jun 2022 11:17:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1356586AbiFNPRi (ORCPT ); Tue, 14 Jun 2022 11:17:38 -0400 Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0456962E3; Tue, 14 Jun 2022 08:17:32 -0700 (PDT) Received: by mail-ej1-x62d.google.com with SMTP id kq6so17807433ejb.11; Tue, 14 Jun 2022 08:17:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=K/Bb9QNZS4KUSJsXgLquKvLX7xOgHLYAfEYnI8Rwogk=; b=AFaVWlyXJ1FNEKXOiuwson3lZ8cfTXUQPrOam43nTKnwNtl29wG4yC9I4BKLiU093+ 9nxcGWeZtPWw+VjHOE5zz/AfgFaQ95erSHURx3EH4kMGV+OX/Zhg52HUbNsK+F4O8qxa YiDLHKSnFJEXXc9VXvMgeeKdvwBehE3gndoklvrfOPyKE0MQrYc6yNPCq0Ehrt4Wkx7b NCXlLUvfwAv7+sXqBkBjus+6CueRX8yvK3zPnUXVgN5vtg5Wie1QnJnIwvkdTD1/riEB 34YPiKG/o1SYJkqi1jTiN3ZgzYjT2WTrokAX0zYXstowIcQBS0CDQQ1lwio8zIyvS2XE yb1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=K/Bb9QNZS4KUSJsXgLquKvLX7xOgHLYAfEYnI8Rwogk=; b=yYDJcKua1ahk3rxn1BOMbIz8BDYZSU/VvMQw3bqbivZc4ruLs+JxBEoGW3AN5w700t qGsVd0b89LwaUMzTsrdgmXi6pzW0D4+cl4f9jzsbWewArvZOFLr+QgmosI5LVsaQEbUu Nlx20N/oZIQB31WR0a+tiZgKWmXzaHpxvPNVMm3PiBu50DhkcXErqdkqJo8Xi3iVZlCm zn8spaSZkBHtznVV8ZQSip21GeHqbqfMd8cAQZaPA33ptt1qrXDentJhLdpDGBUyI6rz +kcmX0rXT/YeI/AI0h+Urq1OwH8jcF3VKRMd/MVuGaB+Nkds/I90t2cqPWOlcqXtKWjb EIlA== X-Gm-Message-State: AOAM533dA9SNLWROvFpWo1h7z6Erb0mowO1JRdDzHErzfMs5/l3ZLTOU kS08/zLUFCIr1vxKJNme36s= X-Google-Smtp-Source: AGRyM1tJm5/bvEJsCvork/9f2aT3katbgBIymlUUTiawbib1+mgc64mVno1uo/2ndBNZTkoAukTW+Q== X-Received: by 2002:a17:906:c209:b0:6fe:a3d5:c5a4 with SMTP id d9-20020a170906c20900b006fea3d5c5a4mr4672061ejz.759.1655219850365; Tue, 14 Jun 2022 08:17:30 -0700 (PDT) Received: from localhost.localdomain (p5b3f7f9c.dip0.t-ipconnect.de. [91.63.127.156]) by smtp.gmail.com with ESMTPSA id f1-20020a50d541000000b0042dd7e13391sm7198180edj.45.2022.06.14.08.17.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jun 2022 08:17:26 -0700 (PDT) From: Saravanan Sekar To: sre@kernel.org, lee.jones@linaro.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, jic23@kernel.org, lars@metafoo.de, andy.shevchenko@gmail.com Cc: linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-iio@vger.kernel.org, Saravanan Sekar Subject: [PATCH 1/6] iio: adc: mp2629: fix wrong comparison of channel Date: Tue, 14 Jun 2022 17:17:17 +0200 Message-Id: <20220614151722.2194936-1-sravanhome@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org Input voltage channel enum is compared against iio address instead of channel. Fixes: 7abd9fb64682 ("iio: adc: mp2629: Add support for mp2629 ADC driver") Signed-off-by: Saravanan Sekar --- drivers/iio/adc/mp2629_adc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iio/adc/mp2629_adc.c b/drivers/iio/adc/mp2629_adc.c index aca084f1e78a..e7fbfe92e884 100644 --- a/drivers/iio/adc/mp2629_adc.c +++ b/drivers/iio/adc/mp2629_adc.c @@ -73,7 +73,7 @@ static int mp2629_read_raw(struct iio_dev *indio_dev, if (ret) return ret; - if (chan->address == MP2629_INPUT_VOLT) + if (chan->channel == MP2629_INPUT_VOLT) rval &= GENMASK(6, 0); *val = rval; return IIO_VAL_INT; From patchwork Tue Jun 14 15:17:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: saravanan sekar X-Patchwork-Id: 12881240 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3218CCCA47A for ; Tue, 14 Jun 2022 15:17:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1356390AbiFNPRm (ORCPT ); Tue, 14 Jun 2022 11:17:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48724 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1356622AbiFNPRi (ORCPT ); Tue, 14 Jun 2022 11:17:38 -0400 Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ECE2FB1FD; Tue, 14 Jun 2022 08:17:34 -0700 (PDT) Received: by mail-ej1-x630.google.com with SMTP id gl15so17852974ejb.4; Tue, 14 Jun 2022 08:17:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hZ1It0Vji/uE1zL1NVsuKRSwGtzM25+5b2pW/UiacoM=; b=i8KDJKFWADV276MwZTB+vSolB+mqy0JCjcSVoGMWjrNvUMgFjYLJZozYf2ZuHc0m0P nJvhm6aA58Kd9S7ed4wOJWqcL/Hf8x90EDEJvcjsuNvABJiJ9pAH9SHqZChuXT8f34iU ByWGJa3Ah60jPSF5M/jLh+txjSN8yB8fSWUo563UNW3pNTkj8Q6xlq17M5n5cx5kWqr+ nI2zXUKJUX8nylocNvEmWrONTx/f1ILhJx6sZrisAvgO0vxzqqObEtYLuMcMK1fXBvdf FiUEbQo7glZ2PrYfI1ZLYYfmOq3oPely2Sirs2WKpdQy+QncFlUPTQuYJ9ehdwSOOBjx HNkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hZ1It0Vji/uE1zL1NVsuKRSwGtzM25+5b2pW/UiacoM=; b=lHjI/dOQa4lowx6wV/VzehQLtnNUGhAs/OWjtChRHdt1r7n/8fmiWXjRrOffPwJeR1 BNQJ6hQT8S5TFnXKVFO6eCBLcvdoTwymzdN1waUpSe6GWRFX2ByhY3+uOajl4aBHw+iO PshTPaUbHojeY+YmG3pZSAue/PUGtd/H2wEsSlGMay33nb+YmcbXBx49jBXB7OeXMY5e rr7QBjeWBgwOmhr81tdEUVx4P0Rc7bnNEPOwnX7u4dRYCRBj+WigWo8kNtrRbvcmBv90 rF2I2beOc820hd8hpLbHsf6A2I2uNQURop9BRnbOV1eQE5koMzJYrPIGJrnrd/YWpWt3 KHXQ== X-Gm-Message-State: AJIora/+2Nz4G7Quldszuowo6+xjvU6nuTp2q3pTqTf81Wuo9RmRg5WT yF49bAkdqgj+54NxzeMA0Tz8USobi08mXQ== X-Google-Smtp-Source: AGRyM1vXh266UHC3NnoZdb+TgfGbXSZEOsshPfjzAT9pyHGDK3xuydFO8pMjRPjdqKUPd+EuulyHMw== X-Received: by 2002:a17:907:ea9:b0:710:9003:9b33 with SMTP id ho41-20020a1709070ea900b0071090039b33mr4623225ejc.175.1655219853178; Tue, 14 Jun 2022 08:17:33 -0700 (PDT) Received: from localhost.localdomain (p5b3f7f9c.dip0.t-ipconnect.de. [91.63.127.156]) by smtp.gmail.com with ESMTPSA id f1-20020a50d541000000b0042dd7e13391sm7198180edj.45.2022.06.14.08.17.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jun 2022 08:17:31 -0700 (PDT) From: Saravanan Sekar To: sre@kernel.org, lee.jones@linaro.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, jic23@kernel.org, lars@metafoo.de, andy.shevchenko@gmail.com Cc: linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-iio@vger.kernel.org, Saravanan Sekar Subject: [PATCH 2/6] dt-bindings: mfd: Add mp2733 compatible Date: Tue, 14 Jun 2022 17:17:18 +0200 Message-Id: <20220614151722.2194936-2-sravanhome@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220614151722.2194936-1-sravanhome@gmail.com> References: <20220614151722.2194936-1-sravanhome@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org Add new compatible for mp2733 mfd driver. Signed-off-by: Saravanan Sekar --- Documentation/devicetree/bindings/mfd/mps,mp2629.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/mfd/mps,mp2629.yaml b/Documentation/devicetree/bindings/mfd/mps,mp2629.yaml index f91acc42d652..fe13869e2c58 100644 --- a/Documentation/devicetree/bindings/mfd/mps,mp2629.yaml +++ b/Documentation/devicetree/bindings/mfd/mps,mp2629.yaml @@ -19,6 +19,7 @@ description: | properties: compatible: const: mps,mp2629 + const: mps,mp2733 reg: maxItems: 1 From patchwork Tue Jun 14 15:17:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: saravanan sekar X-Patchwork-Id: 12881241 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A356ACCA482 for ; Tue, 14 Jun 2022 15:17:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1356426AbiFNPRn (ORCPT ); Tue, 14 Jun 2022 11:17:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48766 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1356485AbiFNPRj (ORCPT ); Tue, 14 Jun 2022 11:17:39 -0400 Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E2A1C1015; Tue, 14 Jun 2022 08:17:37 -0700 (PDT) Received: by mail-ej1-x62b.google.com with SMTP id o7so17859244eja.1; Tue, 14 Jun 2022 08:17:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mcUh8Ttt2EV4t5RWIjLziuOHMtsZJXTRmkC2HnKv3Xs=; b=UtfKWA4KnkVsHjOhMizCboqlSLRty8vhgMNz+W3dLrIhThUO9oo7v1bXdxVkZjftOq NAcIUeOV0xLODuvD/RUKnaTWUNx0zJzKJaazF9v8X2DKtAZw7QZ5Y3paIBT18a2kWq78 YYmaJoA8E91bTS6pmwthYFsr/cumlMaGFDnRv84fBS0xKXXpwVIPTLfr2FJ3fsGOhRh2 25t8KBjoNKV1KEtXkFtayLnoXCbe3m4Lx278gt7ubSOV4qJfk6RymRbrVKNbAXvg2h3q a7CYZ3HxpxV2rgu2lc2ODPpY8jL5cl03zIxO5NVkHgZx+kd+czqGwd4teJ+6WIFe4f+t Y6rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mcUh8Ttt2EV4t5RWIjLziuOHMtsZJXTRmkC2HnKv3Xs=; b=fWJ6IDA14FsqWFk7aAPe0IYMt7OTkalMDrBW2/GQmbUGc9f9MXEzT2wSGDIhuRcLW1 RghuRvYa19X25kwxA/qoRrCYst2dLQ+zj2R+q1ZJRdIzDmu1K6LC8Q/YqPB7j7UZACoC PhnHP+aJXrnbj0+VCDOWn/IEE6j6XijJWphChesM+juKdX+aO6Bc+tmUfx0wH2fEPUVv 0yoQW21arLphnBhaGCidliv+soAM1UOoAhx6/e49drySX+ugRfVxvavcSNQmZ8gpG4x6 B5gW42a7eC5dPJwmxwrXEa5t5tjED2LpVxHhZwB/35JCDvN/f58/KhUAZQXl/3TOEkls idBg== X-Gm-Message-State: AOAM5335P0Fnh9M4Q50884Df58qS3/yeIVcwGibBzo6OKYS4YEV0wJ4H yaP2AjUMOhpx+cOkiXQpfbw= X-Google-Smtp-Source: ABdhPJxDIKrZbteL1Hg1Oom4h08UpV/Q4uLAb2CkQ8SK9FSXOPdLYS+BVN7hVEh2Da2PYqLIQPfuow== X-Received: by 2002:a17:907:72d2:b0:703:9177:7d1f with SMTP id du18-20020a17090772d200b0070391777d1fmr4681881ejc.144.1655219856279; Tue, 14 Jun 2022 08:17:36 -0700 (PDT) Received: from localhost.localdomain (p5b3f7f9c.dip0.t-ipconnect.de. [91.63.127.156]) by smtp.gmail.com with ESMTPSA id f1-20020a50d541000000b0042dd7e13391sm7198180edj.45.2022.06.14.08.17.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jun 2022 08:17:34 -0700 (PDT) From: Saravanan Sekar To: sre@kernel.org, lee.jones@linaro.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, jic23@kernel.org, lars@metafoo.de, andy.shevchenko@gmail.com Cc: linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-iio@vger.kernel.org, Saravanan Sekar Subject: [PATCH 3/6] mfd: mp2629: Add support for mps mp2733 battery charger Date: Tue, 14 Jun 2022 17:17:19 +0200 Message-Id: <20220614151722.2194936-3-sravanhome@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220614151722.2194936-1-sravanhome@gmail.com> References: <20220614151722.2194936-1-sravanhome@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org mp2733 is updated version of mp2629 battery charge management device for single-cell Li-ion or Li-polymer battery. Additionally supports usb fast-charge and higher range of input voltage. Signed-off-by: Saravanan Sekar --- drivers/mfd/mp2629.c | 31 +++++++++++++++++++++++-------- include/linux/mfd/mp2629.h | 6 ++++++ 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/drivers/mfd/mp2629.c b/drivers/mfd/mp2629.c index 16840ec5fd1c..e0bbba9ca853 100644 --- a/drivers/mfd/mp2629.c +++ b/drivers/mfd/mp2629.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -33,16 +34,36 @@ static const struct regmap_config mp2629_regmap_config = { .max_register = 0x17, }; -static int mp2629_probe(struct i2c_client *client) +static const struct of_device_id mp2629_of_match[] = { + { .compatible = "mps,mp2629", .data = (void *)CHIP_ID_MP2629 }, + { .compatible = "mps,mp2733", .data = (void *)CHIP_ID_MP2733 }, + { } +}; +MODULE_DEVICE_TABLE(of, mp2629_of_match); + +static int mp2629_probe(struct i2c_client *client, + const struct i2c_device_id *id) { struct mp2629_data *ddata; + enum mp2xx_chip_id chip_id; + const struct of_device_id *of_id; int ret; + if (client->dev.of_node) { + of_id = of_match_device(mp2629_of_match, &client->dev); + if (!of_id) { + dev_err(&client->dev, "Failed to match device\n"); + return -ENODEV; + } + chip_id = (enum mp2xx_chip_id)of_id->data; + } + ddata = devm_kzalloc(&client->dev, sizeof(*ddata), GFP_KERNEL); if (!ddata) return -ENOMEM; ddata->dev = &client->dev; + ddata->chip_id = chip_id; i2c_set_clientdata(client, ddata); ddata->regmap = devm_regmap_init_i2c(client, &mp2629_regmap_config); @@ -59,18 +80,12 @@ static int mp2629_probe(struct i2c_client *client) return ret; } -static const struct of_device_id mp2629_of_match[] = { - { .compatible = "mps,mp2629"}, - { } -}; -MODULE_DEVICE_TABLE(of, mp2629_of_match); - static struct i2c_driver mp2629_driver = { .driver = { .name = "mp2629", .of_match_table = mp2629_of_match, }, - .probe_new = mp2629_probe, + .probe = mp2629_probe, }; module_i2c_driver(mp2629_driver); diff --git a/include/linux/mfd/mp2629.h b/include/linux/mfd/mp2629.h index 89b706900b57..ee0e65720c75 100644 --- a/include/linux/mfd/mp2629.h +++ b/include/linux/mfd/mp2629.h @@ -9,9 +9,15 @@ #include #include +enum mp2xx_chip_id { + CHIP_ID_MP2629, + CHIP_ID_MP2733, +}; + struct mp2629_data { struct device *dev; struct regmap *regmap; + enum mp2xx_chip_id chip_id; }; enum mp2629_adc_chan { From patchwork Tue Jun 14 15:17:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: saravanan sekar X-Patchwork-Id: 12881242 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B8270CCA480 for ; Tue, 14 Jun 2022 15:17:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1356443AbiFNPRo (ORCPT ); Tue, 14 Jun 2022 11:17:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48426 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1356556AbiFNPRl (ORCPT ); Tue, 14 Jun 2022 11:17:41 -0400 Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com [IPv6:2a00:1450:4864:20::633]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9868F614B; Tue, 14 Jun 2022 08:17:40 -0700 (PDT) Received: by mail-ej1-x633.google.com with SMTP id v1so17769568ejg.13; Tue, 14 Jun 2022 08:17:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6jDc8NYKw9j0qO0CfGbHbtkna/x8yWVycKpFAr90cjc=; b=DZkOtGjEpO1sJbNy9nSKfTkiIbp+P4QmGZ81uEl5vOYZ5lyOkbez4qLuDZUlalBylI 6jXgiSugt/73hRCOI+k6NKXAE7qVfj1I20ZQ3xHt2KTsufSCJ160PGNV9w856nwtzZYJ YYtb0xDTAS5L/bPmdeNHo7/mHpBvkU0nWVSwFkJVLFgcyYZANvH4QguhyKv4CTPTg2r8 IHe3JwnlC2SWjdVA1LMtPltPEkC4iMPqm8h6QhUfhTN4hyMHd6CQcuUUGfs65tvMQ/bU /6R0lE5JL3yyx3tKPqvi/7qYxhsiI9ObzKeHi/n5CvpfVYTOq8wmuep5dZO+SHKTiApD 33rQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6jDc8NYKw9j0qO0CfGbHbtkna/x8yWVycKpFAr90cjc=; b=vIo4leAUHMxSOc9puO/56Yd3MiLXj+DgV3PnLxcXPfLZhkMEJxVxjksE31Hfb8S9z/ Ebl1uslY/dCcljNQRis9tHQWBaPWaVnUbtf8fLQ+PZAMZJWevwDvVw4WyWjkrlosYVpW bdlqCbgJhgxFEV0qPEAQSOUVt5cwiu23DoRicm6M72S26jQKuYBidI9BKIvOSZj28tTc UgpkDMyf9CvX0tqhQdKlyh4ZlAJoLvOVljczBQsubxgTjzm5cspMfTwFlsS9szTxD25G 7l12LEsSu9Nb7rackgZT+MikXSSYXigSOP6+DCOrTXPHCHTMV7sPzH1d8pu6HPdt1JTx b/mg== X-Gm-Message-State: AOAM5307p/L+rZzklZn4tF95V00abY4f4bbmgYShBJ1vfAf5o5/7N5q8 qRYnS2BebnqySXsGNGbGzrk= X-Google-Smtp-Source: ABdhPJxycYdV5oj3QkuWaDhyeE3cJZaHW0V0ek65XDvKBULDtJWpvFGpHN0YGp01wvdr2UEk+BBcQg== X-Received: by 2002:a17:907:2c43:b0:715:85cb:21a with SMTP id hf3-20020a1709072c4300b0071585cb021amr4523321ejc.541.1655219859188; Tue, 14 Jun 2022 08:17:39 -0700 (PDT) Received: from localhost.localdomain (p5b3f7f9c.dip0.t-ipconnect.de. [91.63.127.156]) by smtp.gmail.com with ESMTPSA id f1-20020a50d541000000b0042dd7e13391sm7198180edj.45.2022.06.14.08.17.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jun 2022 08:17:37 -0700 (PDT) From: Saravanan Sekar To: sre@kernel.org, lee.jones@linaro.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, jic23@kernel.org, lars@metafoo.de, andy.shevchenko@gmail.com Cc: linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-iio@vger.kernel.org, Saravanan Sekar Subject: [PATCH 4/6] iio: adc: mp2629: restrict input voltage mask for mp2629 Date: Tue, 14 Jun 2022 17:17:20 +0200 Message-Id: <20220614151722.2194936-4-sravanhome@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220614151722.2194936-1-sravanhome@gmail.com> References: <20220614151722.2194936-1-sravanhome@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org add support for mp2733 which is updated version of mp2629 with higher range of input voltage. Signed-off-by: Saravanan Sekar --- drivers/iio/adc/mp2629_adc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/iio/adc/mp2629_adc.c b/drivers/iio/adc/mp2629_adc.c index e7fbfe92e884..28d048eefce3 100644 --- a/drivers/iio/adc/mp2629_adc.c +++ b/drivers/iio/adc/mp2629_adc.c @@ -64,6 +64,7 @@ static int mp2629_read_raw(struct iio_dev *indio_dev, int *val, int *val2, long mask) { struct mp2629_adc *info = iio_priv(indio_dev); + struct mp2629_data *ddata = dev_get_drvdata(info->dev); unsigned int rval; int ret; @@ -73,8 +74,10 @@ static int mp2629_read_raw(struct iio_dev *indio_dev, if (ret) return ret; - if (chan->channel == MP2629_INPUT_VOLT) + if (chan->channel == MP2629_INPUT_VOLT && + ddata->chip_id == CHIP_ID_MP2629) rval &= GENMASK(6, 0); + *val = rval; return IIO_VAL_INT; From patchwork Tue Jun 14 15:17:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: saravanan sekar X-Patchwork-Id: 12881243 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 063C6CCA483 for ; Tue, 14 Jun 2022 15:17:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343649AbiFNPRq (ORCPT ); Tue, 14 Jun 2022 11:17:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48932 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1356551AbiFNPRo (ORCPT ); Tue, 14 Jun 2022 11:17:44 -0400 Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B04BA1015; Tue, 14 Jun 2022 08:17:42 -0700 (PDT) Received: by mail-ej1-x62d.google.com with SMTP id kq6so17807433ejb.11; Tue, 14 Jun 2022 08:17:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JOf1+90QyNf+cFNd0iHg/44AzLhPoWg4b0ldAo1tyn0=; b=hmxV+zxh1wxpbHwHAnaHLGkqQIAzqYFwAm1lb5jPCFreJJl+/+x49/+oF3HmPdQtg3 /WPVi2NJiw+7lZUDIqaspTSf3Kx0Oe8WAxlI9nSo3Fgw61icu/CQ3PVjJ2K3LrBcxolt z6DMxJoCZao9cE3S39gp8Rm7YrEEGKU0cYUaLZoH2tA+kUz28JfvnWVZGVCF7UKenGWj T7FjtgTuO/VjoLpcXsJSTcwTSH/zgt/X5QvhUenkhJZeB50erqJXKhvHVOMcJFkumMsp KB/QyvT6JkJCJdCtSRJH+OQZAg5t6HE+cpUl5YFo/4MuYNxitj3LcWnrHgS6RN2c2PLc 5XUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JOf1+90QyNf+cFNd0iHg/44AzLhPoWg4b0ldAo1tyn0=; b=hCPXqDmWUgejpq9g0IB0la3/M7pcnMYlMTGD+o0dbyooaejCYs7PEX63hom1V28eo2 hu4H36/LGLD8S1ESMjnXoYNwIYg3rotLRprTn/wofvRIBgyyFfXdN0TZyswichS5D5B8 lUzngsZ5rgPTCr3QvIDRQlJGvVhanAqFhhusQF6ujMfSDMhlFKXdQW5H1b93UtkCRQw2 RSq+VKBPSvcOsNbABZzel4bA6E/Q7tGnex3CyCeD7FgNWimFyFKFBwbeFMo4C7g9D7Qd LCOTG2Q3D6Pn2ygCDoPpywqYGov9/V/p+FAKdLsbW+YFsJxu1gDbC651+/bTYX4DzoKi TlgA== X-Gm-Message-State: AJIora+wbf4gw3RhVAyFVaGBaKwlSlKHi6BO5LpUzVro/ZOFJxkPIGlT +AhCXLyuD5YMsmkzwKmWVPU= X-Google-Smtp-Source: ABdhPJzZ6Mj0a1/EP8kPEkfmxvAjDLn6ra9ZlKTZDNsoGQqjDSEJYNwS1DKP0njs70zhpC4CGPLojA== X-Received: by 2002:a17:906:739a:b0:713:3ac7:976f with SMTP id f26-20020a170906739a00b007133ac7976fmr4753349ejl.22.1655219862176; Tue, 14 Jun 2022 08:17:42 -0700 (PDT) Received: from localhost.localdomain (p5b3f7f9c.dip0.t-ipconnect.de. [91.63.127.156]) by smtp.gmail.com with ESMTPSA id f1-20020a50d541000000b0042dd7e13391sm7198180edj.45.2022.06.14.08.17.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jun 2022 08:17:39 -0700 (PDT) From: Saravanan Sekar To: sre@kernel.org, lee.jones@linaro.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, jic23@kernel.org, lars@metafoo.de, andy.shevchenko@gmail.com Cc: linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-iio@vger.kernel.org, Saravanan Sekar Subject: [PATCH 5/6] power: supply: Add support for mp2733 battery charger Date: Tue, 14 Jun 2022 17:17:21 +0200 Message-Id: <20220614151722.2194936-5-sravanhome@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220614151722.2194936-1-sravanhome@gmail.com> References: <20220614151722.2194936-1-sravanhome@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org mp2733 is updated version of mp2629 battery charge management which supports usb fast-charge and higher range of input voltage. Signed-off-by: Saravanan Sekar --- drivers/power/supply/mp2629_charger.c | 228 ++++++++++++++++++++++---- 1 file changed, 199 insertions(+), 29 deletions(-) diff --git a/drivers/power/supply/mp2629_charger.c b/drivers/power/supply/mp2629_charger.c index bf9c27b463a8..6f37bfc40e90 100644 --- a/drivers/power/supply/mp2629_charger.c +++ b/drivers/power/supply/mp2629_charger.c @@ -30,12 +30,15 @@ #define MP2629_REG_INTERRUPT 0x0b #define MP2629_REG_STATUS 0x0c #define MP2629_REG_FAULT 0x0d +#define MP2629_REG_FAST_CHARGE 0x17 #define MP2629_MASK_INPUT_TYPE GENMASK(7, 5) #define MP2629_MASK_CHARGE_TYPE GENMASK(4, 3) #define MP2629_MASK_CHARGE_CTRL GENMASK(5, 4) #define MP2629_MASK_WDOG_CTRL GENMASK(5, 4) #define MP2629_MASK_IMPEDANCE GENMASK(7, 4) +#define MP2733_MASK_FAST_CHARGE GENMASK(2, 1) +#define MP2733_MASK_FAST_CHARGE_RESET BIT(0) #define MP2629_INPUTSOURCE_CHANGE GENMASK(7, 5) #define MP2629_CHARGING_CHANGE GENMASK(4, 3) @@ -62,6 +65,17 @@ enum mp2629_source_type { MP2629_SOURCE_TYPE_OTG = 7, }; +enum mp2733_source_type { + MP2733_SOURCE_TYPE_NO_INPUT, + MP2733_SOURCE_TYPE_NON_STD, + MP2733_SOURCE_TYPE_APPLE_1p0, + MP2733_SOURCE_TYPE_APPLE_2p1, + MP2733_SOURCE_TYPE_APPLE_2p4, + MP2733_SOURCE_TYPE_SDP, + MP2733_SOURCE_TYPE_CDP, + MP2733_SOURCE_TYPE_DCP, +}; + enum mp2629_field { INPUT_ILIM, INPUT_VLIM, @@ -72,11 +86,30 @@ enum mp2629_field { MP2629_MAX_FIELD }; +struct mp2629_prop { + int reg; + int mask; + int min; + int max; + int step; + int shift; +}; + +struct mp2xx_chip_info { + const struct reg_field *rfields; + struct mp2629_prop *chip_props; + bool has_impedance; + bool has_fast_charge; + + int (*mpxx_get_usb_type)(unsigned int rval); +}; + struct mp2629_charger { struct device *dev; int status; int fault; + const struct mp2xx_chip_info *chip_info; struct regmap *regmap; struct regmap_field *regmap_fields[MP2629_MAX_FIELD]; struct mutex lock; @@ -85,15 +118,6 @@ struct mp2629_charger { struct iio_channel *iiochan[MP2629_ADC_CHAN_END]; }; -struct mp2629_prop { - int reg; - int mask; - int min; - int max; - int step; - int shift; -}; - static enum power_supply_usb_type mp2629_usb_types[] = { POWER_SUPPLY_USB_TYPE_SDP, POWER_SUPPLY_USB_TYPE_DCP, @@ -126,7 +150,25 @@ static enum power_supply_property mp2629_charger_bat_props[] = { POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX, }; -static struct mp2629_prop props[] = { +static struct mp2629_prop mp2733_chip_props[] = { + MP2629_PROPS(INPUT_ILIM, 100000, 3250000, 50000), + MP2629_PROPS(INPUT_VLIM, 3800000, 15200000, 100000), + MP2629_PROPS(CHARGE_ILIM, 320000, 4520000, 40000), + MP2629_PROPS(CHARGE_VLIM, 3400000, 4670000, 10000), + MP2629_PROPS(PRECHARGE, 120000, 720000, 40000), + MP2629_PROPS(TERM_CURRENT, 80000, 680000, 40000), +}; + +static const struct reg_field mp2733_reg_fields[] = { + [INPUT_ILIM] = REG_FIELD(MP2629_REG_INPUT_ILIM, 0, 5), + [INPUT_VLIM] = REG_FIELD(MP2629_REG_INPUT_VLIM, 0, 6), + [CHARGE_ILIM] = REG_FIELD(MP2629_REG_CHARGE_ILIM, 0, 6), + [CHARGE_VLIM] = REG_FIELD(MP2629_REG_CHARGE_VLIM, 1, 7), + [PRECHARGE] = REG_FIELD(MP2629_REG_PRECHARGE, 4, 7), + [TERM_CURRENT] = REG_FIELD(MP2629_REG_TERM_CURRENT, 0, 3), +}; + +static struct mp2629_prop mp2629_chip_props[] = { MP2629_PROPS(INPUT_ILIM, 100000, 3250000, 50000), MP2629_PROPS(INPUT_VLIM, 3800000, 5300000, 100000), MP2629_PROPS(CHARGE_ILIM, 320000, 4520000, 40000), @@ -174,6 +216,7 @@ static int mp2629_get_prop(struct mp2629_charger *charger, { int ret; unsigned int rval; + struct mp2629_prop *props = charger->chip_info->chip_props; ret = regmap_field_read(charger->regmap_fields[fld], &rval); if (ret) @@ -189,6 +232,7 @@ static int mp2629_set_prop(struct mp2629_charger *charger, const union power_supply_propval *val) { unsigned int rval; + struct mp2629_prop *props = charger->chip_info->chip_props; if (val->intval < props[fld].min || val->intval > props[fld].max) return -EINVAL; @@ -311,6 +355,16 @@ static int mp2629_charger_battery_get_prop(struct power_supply *psy, default: val->intval = POWER_SUPPLY_CHARGE_TYPE_UNKNOWN; } + + if (charger->chip_info->has_fast_charge) { + ret = regmap_read(charger->regmap, + MP2629_REG_FAST_CHARGE, &rval); + if (ret) + break; + + if (rval & BIT(6)) + val->intval = POWER_SUPPLY_CHARGE_TYPE_FAST; + } break; default: @@ -344,6 +398,58 @@ static int mp2629_charger_battery_set_prop(struct power_supply *psy, } } +static int mp2733_get_usb_type(unsigned int rval) +{ + int type; + + switch (rval) { + case MP2733_SOURCE_TYPE_APPLE_1p0: + case MP2733_SOURCE_TYPE_APPLE_2p1: + case MP2733_SOURCE_TYPE_APPLE_2p4: + type = POWER_SUPPLY_USB_TYPE_APPLE_BRICK_ID; + break; + case MP2733_SOURCE_TYPE_SDP: + type = POWER_SUPPLY_USB_TYPE_SDP; + break; + case MP2733_SOURCE_TYPE_CDP: + type = POWER_SUPPLY_USB_TYPE_CDP; + break; + case MP2733_SOURCE_TYPE_DCP: + type = POWER_SUPPLY_USB_TYPE_DCP; + break; + default: + type = POWER_SUPPLY_USB_TYPE_UNKNOWN; + break; + } + + return type; +} + +static int mp2629_get_usb_type(unsigned int rval) +{ + int type; + + switch (rval) { + case MP2629_SOURCE_TYPE_SDP: + type = POWER_SUPPLY_USB_TYPE_SDP; + break; + case MP2629_SOURCE_TYPE_CDP: + type = POWER_SUPPLY_USB_TYPE_CDP; + break; + case MP2629_SOURCE_TYPE_DCP: + type = POWER_SUPPLY_USB_TYPE_DCP; + break; + case MP2629_SOURCE_TYPE_OTG: + type = POWER_SUPPLY_USB_TYPE_PD_DRP; + break; + default: + type = POWER_SUPPLY_USB_TYPE_UNKNOWN; + break; + } + + return type; +} + static int mp2629_charger_usb_get_prop(struct power_supply *psy, enum power_supply_property psp, union power_supply_propval *val) @@ -367,23 +473,7 @@ static int mp2629_charger_usb_get_prop(struct power_supply *psy, break; rval = (rval & MP2629_MASK_INPUT_TYPE) >> 5; - switch (rval) { - case MP2629_SOURCE_TYPE_SDP: - val->intval = POWER_SUPPLY_USB_TYPE_SDP; - break; - case MP2629_SOURCE_TYPE_CDP: - val->intval = POWER_SUPPLY_USB_TYPE_CDP; - break; - case MP2629_SOURCE_TYPE_DCP: - val->intval = POWER_SUPPLY_USB_TYPE_DCP; - break; - case MP2629_SOURCE_TYPE_OTG: - val->intval = POWER_SUPPLY_USB_TYPE_PD_DRP; - break; - default: - val->intval = POWER_SUPPLY_USB_TYPE_UNKNOWN; - break; - } + val->intval = charger->chip_info->mpxx_get_usb_type(rval); break; case POWER_SUPPLY_PROP_VOLTAGE_NOW: @@ -556,6 +646,60 @@ static struct attribute *mp2629_charger_sysfs_attrs[] = { }; ATTRIBUTE_GROUPS(mp2629_charger_sysfs); +static ssize_t usb_fast_charge_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + struct mp2629_charger *charger = dev_get_drvdata(dev->parent); + unsigned int rval; + int ret; + + ret = regmap_read(charger->regmap, MP2629_REG_INTERRUPT, &rval); + if (ret) + return ret; + + return sprintf(buf, "USB DP %u:DM %u\n", !!(rval & BIT(2)), + !!(rval & BIT(1))); +} + +static ssize_t usb_fast_charge_store(struct device *dev, + struct device_attribute *attr, + const char *buf, + size_t count) +{ + struct mp2629_charger *charger = dev_get_drvdata(dev->parent); + unsigned int val; + int ret; + + ret = kstrtouint(buf, 10, &val); + if (ret) + return ret; + + if (val > 3) + return -ERANGE; + + ret = regmap_update_bits(charger->regmap, MP2629_REG_INTERRUPT, + MP2733_MASK_FAST_CHARGE, val << 1); + if (ret) + return ret; + + ret = regmap_update_bits(charger->regmap, MP2629_REG_INTERRUPT, + MP2733_MASK_FAST_CHARGE_RESET, + MP2733_MASK_FAST_CHARGE_RESET); + if (ret) + return ret; + + return count; +} + +static DEVICE_ATTR_RW(usb_fast_charge); + +static struct attribute *mp2733_charger_sysfs_attrs[] = { + &dev_attr_usb_fast_charge.attr, + NULL +}; +ATTRIBUTE_GROUPS(mp2733_charger_sysfs); + static void mp2629_charger_disable(void *data) { struct mp2629_charger *charger = data; @@ -564,6 +708,25 @@ static void mp2629_charger_disable(void *data) MP2629_MASK_CHARGE_CTRL, 0); } +static const struct mp2xx_chip_info mp2xx_chip_info_tbl[] = { + [CHIP_ID_MP2629] = { + .rfields = mp2629_reg_fields, + .chip_props = mp2629_chip_props, + .has_impedance = 1, + .has_fast_charge = 0, + + .mpxx_get_usb_type = mp2629_get_usb_type, + }, + [CHIP_ID_MP2733] = { + .rfields = mp2733_reg_fields, + .chip_props = mp2733_chip_props, + .has_impedance = 0, + .has_fast_charge = 1, + + .mpxx_get_usb_type = mp2733_get_usb_type, + }, +}; + static int mp2629_charger_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -578,6 +741,7 @@ static int mp2629_charger_probe(struct platform_device *pdev) charger->regmap = ddata->regmap; charger->dev = dev; + charger->chip_info = &mp2xx_chip_info_tbl[ddata->chip_id]; platform_set_drvdata(pdev, charger); irq = platform_get_irq(to_platform_device(dev->parent), 0); @@ -586,7 +750,8 @@ static int mp2629_charger_probe(struct platform_device *pdev) for (i = 0; i < MP2629_MAX_FIELD; i++) { charger->regmap_fields[i] = devm_regmap_field_alloc(dev, - charger->regmap, mp2629_reg_fields[i]); + charger->regmap, + charger->chip_info->rfields[i]); if (IS_ERR(charger->regmap_fields[i])) { dev_err(dev, "regmap field alloc fail %d\n", i); return PTR_ERR(charger->regmap_fields[i]); @@ -613,7 +778,12 @@ static int mp2629_charger_probe(struct platform_device *pdev) } psy_cfg.drv_data = charger; - psy_cfg.attr_grp = mp2629_charger_sysfs_groups; + if (charger->chip_info->has_impedance) + psy_cfg.attr_grp = mp2629_charger_sysfs_groups; + + if (charger->chip_info->has_fast_charge) + psy_cfg.attr_grp = mp2733_charger_sysfs_groups; + charger->battery = devm_power_supply_register(dev, &mp2629_battery_desc, &psy_cfg); if (IS_ERR(charger->battery)) { From patchwork Tue Jun 14 15:17:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: saravanan sekar X-Patchwork-Id: 12881244 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BF302CCA47A for ; Tue, 14 Jun 2022 15:17:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1356556AbiFNPRs (ORCPT ); Tue, 14 Jun 2022 11:17:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343645AbiFNPRq (ORCPT ); Tue, 14 Jun 2022 11:17:46 -0400 Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com [IPv6:2a00:1450:4864:20::633]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 49D2B614B; Tue, 14 Jun 2022 08:17:44 -0700 (PDT) Received: by mail-ej1-x633.google.com with SMTP id v1so17769568ejg.13; Tue, 14 Jun 2022 08:17:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2W1wCeUkrJFdZgVUbL1ARvVnvMUdCeqcmW2xMidDUMw=; b=ksfRLZiEEqqqPT9ugF93LrfXd+48fpeQ+2CqwR2liioi5OvFf8ogwo9yxuJwJ1s31C bkM+H/vysA3efjajHEUfhkkZcUKgZsd9/8hxpJMgozvzrikGlPCAFI19cXNYoXRDAQ+o uDYh15tWIRnKMkZUqz3mM565GR4gpaPTKKjLvrLhpx4iPoAkJwhewM4QG6XPUyK6k9/S 7A6fH/T/6b/cw7HXrJDu8qum6mvCU/xWEdl/i+5Y9MUK/yIIVv9NKStLgckgEs5uelLF gzIMryAUDK0L2swAggGi7XFzqVTq5Hmw2Wcv9tEfmkcKFhl+D8CVaJQe6Q4YhLMLMznS Sasw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2W1wCeUkrJFdZgVUbL1ARvVnvMUdCeqcmW2xMidDUMw=; b=7Jaa27jXQjFg5M0lNb7kAdTsqMjSo/ffUi9iyMI+uBAMS+pChPsaIgnt7K6wrbpXna G+ocxBgHOBRuYkulI8vHF4ruUaaa98zPUx6XMeu+JSE2agAjh4AuzMlOV/bTY9BwojWW sSeNpWnKgEQC3KFfMBVecq8qwyIFbwnoHq1CKnBR4bOCi2ub9z/rYgVDUrrjcDaWJKNb pcSSPaG1mmNU8eKV2JOB5QeMDSYXEWJ5m+jOo6jJQsXXzxx7XnKL8TZP7eUs9KqmVR+t DuOflFMzELfSmx1nRRAiOoU6cX53CqjvAk2YHenfWzkSBsn2sB3L4mC1cIqYnUtjW7Ro MdCA== X-Gm-Message-State: AJIora9Tqa8U/7o73ooRE6UI/UZZDd06i9WbeDYOzNvfQMO+uTvjSE/P CHOmdzZgjJJ6Uc+r4BEeRLA= X-Google-Smtp-Source: ABdhPJy1mWhyep+XKrfVSwjeDQnhUleoXiuLknBv9l0tW/sYCIz0d5YBMgJ96+24pyLgKyUNmsKEcA== X-Received: by 2002:a17:906:1c9:b0:712:1115:42a5 with SMTP id 9-20020a17090601c900b00712111542a5mr4654969ejj.662.1655219863821; Tue, 14 Jun 2022 08:17:43 -0700 (PDT) Received: from localhost.localdomain (p5b3f7f9c.dip0.t-ipconnect.de. [91.63.127.156]) by smtp.gmail.com with ESMTPSA id f1-20020a50d541000000b0042dd7e13391sm7198180edj.45.2022.06.14.08.17.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jun 2022 08:17:42 -0700 (PDT) From: Saravanan Sekar To: sre@kernel.org, lee.jones@linaro.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, jic23@kernel.org, lars@metafoo.de, andy.shevchenko@gmail.com Cc: linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-iio@vger.kernel.org, Saravanan Sekar Subject: [PATCH 6/6] power: supply: mp2629: Add usb fast charge settings Date: Tue, 14 Jun 2022 17:17:22 +0200 Message-Id: <20220614151722.2194936-6-sravanhome@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220614151722.2194936-1-sravanhome@gmail.com> References: <20220614151722.2194936-1-sravanhome@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org Allows the user to change the usb device fast charge setting to advertise host on enumeration helps to accelerate the charging cycle. Altering this value resets usb existing connection. Signed-off-by: Saravanan Sekar --- .../ABI/testing/sysfs-class-power-mp2629 | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-class-power-mp2629 b/Documentation/ABI/testing/sysfs-class-power-mp2629 index 914d67caac0d..42f37675aa0e 100644 --- a/Documentation/ABI/testing/sysfs-class-power-mp2629 +++ b/Documentation/ABI/testing/sysfs-class-power-mp2629 @@ -1,3 +1,19 @@ +What: /sys/class/power_supply/mp2629_battery/usb_fast_charge +Date: April 2020 +KernelVersion: 5.19 +Description: + Represents a usb device fast charge settings.Altering this + value resets usb existing connection + USB DP:DM[0:0] 0.6V : Hi-Z + USB DP:DM[0:1] 3.3V : 0.6V + USB DP:DM[1:0] 0.6V : 0.6V + USB DP:DM[1:1] 0.6V : 3.3V + + Access: Read, Write + + Valid values: Represented in bit DP & DM setting. Valid + range is [0, 3]. + What: /sys/class/power_supply/mp2629_battery/batt_impedance_compen Date: April 2020 KernelVersion: 5.7