From patchwork Mon Jan 15 10:33:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 124507 Delivered-To: patch@linaro.org Received: by 10.46.64.148 with SMTP id r20csp625226lje; Mon, 15 Jan 2018 02:40:16 -0800 (PST) X-Google-Smtp-Source: ACJfBotbbORSmSZMYLt4ntWVPWZ2rkuW0rkAbQ3B5uXbklVFrYvGprLDowx/kqlVwn2G8rtlD4jT X-Received: by 10.84.246.21 with SMTP id k21mr35224215pll.174.1516012816121; Mon, 15 Jan 2018 02:40:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516012816; cv=none; d=google.com; s=arc-20160816; b=MyhUn8HTvn/mXUTuiKky7nCCaXEDV1zrRDv/zXcDzddSg8lqpP8BoWylH7wucdXwJC R8FlfWWs0tmpV4CR+PC9poNEPGH58nZ3pFdzwEgEG8cf5RGFBBuyD8JO4vuS0uVw4BpN jkMbnzBay+7w+ghxoucCP8IuaAYCbU8S4h6aeQU4AX4URlFSHDgOQ1+SKSk1khOwfjRE VX601rEQ9sdLBLuA9e7Mv6y8wF3C6yEgFvhMl4WmVnzCYkonFMGBNE9z1OmhjBaDy13S swAHJSlFph/DsSJmxejSiCPMGCE3gJm9nLGvpLi38+94VsHagT4mzBkL05+e2IU023pK pjCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=y0Mr7+X0wWpWkRm3OLLxGic0mo0jvOWIfwySzeegg80=; b=Ev4a/dELE/xl3H2LC1uB9h4viHbfFqADxcq2SUbzznMLjIr8Io8UOOaluC3DM1+btC xu93oLCaxpU6jBNp9JrQz0M9nl0253x6BVTImbinBM27YLt/jPSE3VDSREdj+cDcyCNp rDJLcaEGuZVTkQ+oqzszTU+SknwBbRdJApNK0wDVs6yeg8RN4NyrBhFUDtJTNtN8uEh3 0db3WmgbyKyx46SAk5kIWkyuYQg8EEZmJ4U8Bkjo3WBMvpJCEJlUD4FMMkqQTGYMFB0S qzYAwfIiFwGHKeBFDtnMZRnI0qW8wXQvMXgZ3y+NN8WOxxOFSs+tJy3+93VIVg9MO3Y3 9i+g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e5si10034605plb.319.2018.01.15.02.40.15; Mon, 15 Jan 2018 02:40:16 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753352AbeAOKfH (ORCPT + 28 others); Mon, 15 Jan 2018 05:35:07 -0500 Received: from mail.free-electrons.com ([62.4.15.54]:43724 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754302AbeAOKfB (ORCPT ); Mon, 15 Jan 2018 05:35:01 -0500 Received: by mail.free-electrons.com (Postfix, from userid 110) id 1AB1B20891; Mon, 15 Jan 2018 11:34:58 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.free-electrons.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT shortcircuit=ham autolearn=disabled version=3.4.0 Received: from localhost.localdomain (LStLambert-657-1-97-87.w90-63.abo.wanadoo.fr [90.63.216.87]) by mail.free-electrons.com (Postfix) with ESMTPSA id 96D8920741; Mon, 15 Jan 2018 11:34:47 +0100 (CET) From: Quentin Schulz To: jic23@kernel.org, knaack.h@gmx.de, lars@metafoo.de, pmeerw@pmeerw.net, robh+dt@kernel.org, mark.rutland@arm.com, wens@csie.org, sre@kernel.org, linux@armlinux.org.uk, maxime.ripard@free-electrons.com, lee.jones@linaro.org Cc: linux-iio@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, thomas.petazzoni@free-electrons.com, linux-sunxi@googlegroups.com, julian.calaby@gmail.com, Quentin Schulz Subject: [PATCH v3 00/16] add support for AXP813 ADC and battery power supply Date: Mon, 15 Jan 2018 11:33:34 +0100 Message-Id: X-Mailer: git-send-email 2.14.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The AXP813 PMIC is relatively close to the already supported AXP20X and AXP22X. It provides three different power outputs: battery, AC and USB, and measures a few different things: temperature, power supply status, current current and voltage supplied, maximum current limit, battery capacity, min and max voltage limits. One of its two GPIOs can be used as an ADC. There are a few differences with AXP20X/AXP22X PMICs though: - a different constant charge current formula, - battery temperature, GPIO0 and battery voltages are the only voltages measurable, - all data are stored on 12 bits (AXP20X/AXP22X had one type of data that was stored on 13 bits), - different scales and offsets, - a different ADC rate formula and register, This patch series adds support for the PMIC's ADC and battery power supply in the existing drivers. Make the axp20x MFD automatically probe the ADC driver, add the battery power supply node in axp81x node and enable it for the TBS A711 since it has a soldered battery. I suggest patches: - 4,5,8,14,15,16 go through Maxime and Chen-Yu's tree, - 1,2,3,7 go through Jonathan's tree, - 6,9,13 go through Lee's tree, - 10,11,12 go through Sebastian's tree, v3: - merging dt-bindings patches for axp_adc as requested by Rob, - re-ordered constant in IIO driver as requested by Julian, - compatibles for ADC are now named after the first design that introduced the IP instead of wildcard as requested by Maxime, - renamed DT node name from axp-adc to adc as requested by Rob, - replaced enumeration of supported PMICs in battery power supply DT bindings documentation by "supported devices" as requested by Jonathan, - added a new patch for removing "axp-" from axp81x's pinctrl DT node, v2: - introduce data structure instead of ID for variant specific code in battery driver, - add DT binding for ADC driver, - make mfd probe the ADC driver via DT as well so that its IIO channels can be consumed by other drivers via DT mapping, Thanks, Quentin Quentin Schulz (16): iio: adc: axp20x_adc: put ADC rate setting in a per-variant function dt-bindings: iio: adc: add binding for X-Powers AXP PMICs ADC iio: adc: axp20x_adc: make it possible to probe from DT ARM: dtsi: axp209: add node for ADC ARM: dtsi: axp22x: add node for ADC mfd: axp20x: make AXP209/22x cells probe their ADC via DT iio: adc: axp20x_adc: add support for AXP813 ADC ARM: dtsi: axp81x: add node for ADC mfd: axp20x: probe axp20x_adc driver for AXP813 power: supply: axp20x_battery: use data structure instead of ID for variant specific code dt-bindings: power: supply: axp20x: add AXP813 battery DT binding power: supply: axp20x_battery: add support for AXP813 mfd: axp20x: add battery power supply cell for AXP813 ARM: dtsi: axp81x: add battery power supply subnode ARM: dtsi: sun8i: a711: enable battery power supply subnode ARM: dtsi: axp81x: remove IP name from DT node name Documentation/devicetree/bindings/iio/adc/axp20x_adc.txt | 48 ++++++++++++++++++++++- Documentation/devicetree/bindings/power/supply/axp20x_battery.txt | 8 ++-- arch/arm/boot/dts/axp209.dtsi | 5 ++- arch/arm/boot/dts/axp22x.dtsi | 5 ++- arch/arm/boot/dts/axp81x.dtsi | 12 ++++- arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts | 4 ++- drivers/iio/adc/axp20x_adc.c | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- drivers/mfd/axp20x.c | 13 +++++- drivers/power/supply/axp20x_battery.c | 134 ++++++++++++++++++++++++++++++++++++++++++++++-------------- include/linux/mfd/axp20x.h | 2 +- 10 files changed, 346 insertions(+), 45 deletions(-) create mode 100644 Documentation/devicetree/bindings/iio/adc/axp20x_adc.txt base-commit: b625c1ff82272e26c76570d3c7123419ec345b20 -- git-series 0.9.1 Acked-by: Chen-Yu Tsai Acked-by: Chen-Yu Tsai Acked-by: Chen-Yu Tsai Reviewed-by: Chen-Yu Tsai