From patchwork Wed Aug 21 21:54:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Morgan X-Patchwork-Id: 13772161 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E6C55C52D7C for ; Wed, 21 Aug 2024 21:58:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=ipbjvqWXvqQumm5VIkPHpXVLhtH/jP49GHIISjFlUrc=; b=fbi/mRBfsBC7j3v0bQ2ImmBjaS MRKOoV0A0X1RJzr0Q7Xpwwclht/KJ5UnFrUp+RL2FWoEzt9Hw9ouHaVHBtGmc5/uCk0sucL+59/zX cSnM6TA52/dmiStbKOn1Zjnf0jx0Cm/cxxJU87+1GmAYm9W9oLkm+FQ86EK9U30blrwZzXIQKQWXX lIRzdbybl3nWmBxp3Jm9yAVQ6I3MTIwDpvzJzDgAWJG9yQPj1+tkKlUxgmOZMKoMwS99QQO19Oase pIFzGykL2Bx0ZfCWCsoGPqIZZz4U7ZHm0n0dAv0kl8csN9Fl+Y+vePobu1Xhec5bwpFMmV7RpLJB4 9Wqm3XnQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sgtLM-0000000AUFH-3Q4T; Wed, 21 Aug 2024 21:58:16 +0000 Received: from mail-oi1-x229.google.com ([2607:f8b0:4864:20::229]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sgtKc-0000000AU2z-1d7w for linux-arm-kernel@lists.infradead.org; Wed, 21 Aug 2024 21:57:32 +0000 Received: by mail-oi1-x229.google.com with SMTP id 5614622812f47-3dc16d00ba6so92444b6e.0 for ; Wed, 21 Aug 2024 14:57:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724277449; x=1724882249; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ipbjvqWXvqQumm5VIkPHpXVLhtH/jP49GHIISjFlUrc=; b=aSL2THLLP5IA+BGMNJksv+8Hn45ewzgdFW6IkQQFVXhbAfAK6mEtHw/lThGyi9uzpM 3wxteoTUSy6jPD2vB/cOlXVUF7SZ8+R1w+JpRq6AxPlNoinvjwtEyx0X5coSI/irTqj/ 4mh2wCEVKJNGz+/lWjFEKOJ+9wQyAMmbHkyYO1QsHVZawVgFR07lcTZjz2o1nPdlwwil 5rnUg/0+6br4oP7nlP7SgjUMoiN/on0P5mbgetSDHR1tzaJPcPMpwOVBIBkTGqQzCFhn QDtRYfIwUuvaqktr5w3dSVsQxwgEefnOLDJKGzd7zt+BSgziXp1bcssMZDxAdgO/Y0vR 0OpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724277449; x=1724882249; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ipbjvqWXvqQumm5VIkPHpXVLhtH/jP49GHIISjFlUrc=; b=HC4AzdZBjPAWBTl9zwsnLOCiX/DiBZ0XJHFJak2bXJTiQLxUsgpxMTrmf3cAaBzbvK cbWyIMuE+lhufC9vb8wBiAm8DB1aoHuZNek4oRFq/zssR4v53OJ5YJdRBv967+5Z5jNn 1TJJEyctmwAC01t8UIdIdkMBkfBHvnsCJi5JT1Udb53B6E3JLZb4JMfrGjGiIhWXRuL9 myCDnuCabwiOiXbPVP/Kg3O3k2QPwxscZtpDrpW7L8aU2V2OOdJFNVi7tP4ZvM97o6gn iRdga4ymyw7vI6pt/Dha8HYh82eb3s5abmjtVH8+OQNnGk4KDeJV0GkXw1OiZu8LaCBJ Nn7Q== X-Forwarded-Encrypted: i=1; AJvYcCW6aRgQqyb+vcy9F0zdVTCX+k4xjU44mUbp/5yoo6kSmzxU+ZYMGI48hPC7giEGP0A9H9y6yoWd+O3oPFzqjemX@lists.infradead.org X-Gm-Message-State: AOJu0YyBZvQe0srgekNb90ksJmPs6p4KPy95nMM5n3gWmQLNy9x+t0p0 h+J0NCOiVe46KD5L/CMCeZdUIdHH6emt4OV7Ia3yNckoNCqHLoAi X-Google-Smtp-Source: AGHT+IGxf0cuHBjy0JYk5Bv3rXMuAB9YU9MSytP3soFOCKx+/dalE+sypyFQjmXlf1pjlVYXtYy/lw== X-Received: by 2002:a05:6808:f15:b0:3d9:ad9d:622f with SMTP id 5614622812f47-3de1951632bmr4259723b6e.27.1724277448797; Wed, 21 Aug 2024 14:57:28 -0700 (PDT) Received: from localhost.localdomain ([2600:1700:fb0:1bcf:81a9:2325:e0f7:7376]) by smtp.gmail.com with ESMTPSA id 5614622812f47-3de225555b6sm47070b6e.17.2024.08.21.14.57.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Aug 2024 14:57:28 -0700 (PDT) From: Chris Morgan To: linux-sunxi@lists.linux.dev Cc: linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-iio@vger.kernel.org, quentin.schulz@free-electrons.com, mripard@kernel.org, tgamblin@baylibre.com, aidanmacdonald.0x0@gmail.com, u.kleine-koenig@pengutronix.de, lee@kernel.org, samuel@sholland.org, jernej.skrabec@gmail.com, sre@kernel.org, wens@csie.org, conor+dt@kernel.org, krzk+dt@kernel.org, robh@kernel.org, lars@metafoo.de, jic23@kernel.org, jonathan.cameron@huawei.com, Chris Morgan Subject: [PATCH V4 00/15] Add Battery and USB Supply for AXP717 Date: Wed, 21 Aug 2024 16:54:41 -0500 Message-Id: <20240821215456.962564-1-macroalpha82@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240821_145730_455618_F7ED6B78 X-CRM114-Status: GOOD ( 17.93 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Chris Morgan Add support for monitoring the USB charger and battery charger on the AXP717 PMIC. This required some driver refactoring of the axp20x USB and battery charger as the AXP717 is somewhat different but can still benefit from some common elements. Note that as of now the charging current now value may be incorrect as the scale and offsets were not documented in the datasheet. I suspect the scale is 1 and the offset is somewhere around 450mA though. Changes from V3: - Remove accidental AXP717_BOOST regulator in header file, as it is not part of this patch series. - Add an absolute min/max constraint for input-current-limit-microamp in device tree documentation. - Correct an issue found by kernel test robot by explicitly adding linux/bitfield.h include. Details here: https://lore.kernel.org/oe-kbuild-all/202408201228.Hee4eSYl-lkp@intel.com/ Changes from V2: - Added constraints for input-current-limit-microamp constraints for x-powers,axp20x-usb-power-supply.yaml. - Used FIELD_GET() and removed unnecessary -EINVAL per comments from Jonathan Cameron. Changes from V1: - Refactored against mainline to remove BOOST pre-requisite. - Corrected commit subjects for DT bindings. - Split refactoring and AXP717 support into different patches. - Added IRQ for VBUS over voltage. There appears to be a bug with the VBUS fault IRQ because it is assigned IRQ num 0. - Corrected battery driver to report POWER_SUPPLY_PROP_VOLTAGE_MIN and POWER_SUPPLY_PROP_VOLTAGE_MAX instead of *_DESIGN. Chris Morgan (15): iio: adc: axp20x_adc: Add adc_en1 and adc_en2 to axp_data power: supply: axp20x_battery: Remove design from min and max voltage power: supply: axp20x_battery: Make iio and battery config per device power: supply: axp20x_usb_power: Make VBUS and IIO config per device dt-bindings: power: supply: axp20x: Add input-current-limit-microamp power: supply: axp20x_usb_power: add input-current-limit-microamp dt-bindings: power: supply: axp20x-battery: Add monitored-battery dt-bindings: iio: adc: Add AXP717 compatible dt-bindings: power: supply: axp20x: Add AXP717 compatible dt-bindings: power: supply: axp20x: Add AXP717 compatible mfd: axp20x: Add ADC, BAT, and USB cells for AXP717 iio: adc: axp20x_adc: add support for AXP717 ADC power: supply: axp20x_usb_power: Add support for AXP717 power: supply: axp20x_battery: add support for AXP717 arm64: dts: allwinner: h700: Add charger for Anbernic RG35XX .../bindings/iio/adc/x-powers,axp209-adc.yaml | 12 + .../x-powers,axp20x-battery-power-supply.yaml | 7 + .../x-powers,axp20x-usb-power-supply.yaml | 72 ++- .../sun50i-h700-anbernic-rg35xx-2024.dts | 21 + drivers/iio/adc/axp20x_adc.c | 182 +++++- drivers/mfd/axp20x.c | 25 +- drivers/power/supply/axp20x_battery.c | 591 ++++++++++++++++-- drivers/power/supply/axp20x_usb_power.c | 353 ++++++++++- include/linux/mfd/axp20x.h | 26 + 9 files changed, 1188 insertions(+), 101 deletions(-)