From patchwork Tue Jan 9 09:33:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 123837 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp3807287qgn; Tue, 9 Jan 2018 01:41:10 -0800 (PST) X-Google-Smtp-Source: ACJfBov+6MtSaS0zF0pgXAD/8U7AfmnP6RRHpm75WVMnkAd71TaTBsFJC/6+vc2dqeEg/2K1YCVk X-Received: by 10.84.129.34 with SMTP id 31mr15217261plb.54.1515490870285; Tue, 09 Jan 2018 01:41:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1515490870; cv=none; d=google.com; s=arc-20160816; b=P7SJH4MRq65n97i0CvA9nJVPVIU34DYJHcsMBrpoSZYCu3bIZPzOxvmBtzlEbua915 RdiyLFT/ffqEovHF4Fcti5QD6sxLtxpD5EEScnsh3VC0m8cFo1SPo2Gv8s6Gk03AfSdP apYD2yvz3dEfo/sId0DnCoPxMjF7b2znn4LDU3ulD9RQbYqLLDbo+NLbeANGpOBdWaeU V2rNvTQFXOx9SAHF6C+QpwFtH4ua041gK98H6GMOwxlJB3EVQTylPMMsxDDb1pJThNSs q9KejDLcpmt5dVd9Vy9vAVJMofH8AxMkBas6vYSJI0cXFD2vPZkPxbc2SGN8GXQcNxR4 0TwQ== 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=nfea5i1uJb8o4EOiKVp/NN4BJ30txItLyBcO/MbIG40=; b=rk/pF5Blc8r5JEZi+rcVPobI9X0gUtIv5ITQyYLm9kz5J2CyzDXYEqGVwDiuojanhG CURq/h9XMn+q8Z0fP6e48YwOKUEmNSNx7kxj34nCTxlFiYARCM7RrrvzcXB5s19toDai 59828cL4z9Bq4ZgEQZc7DF6Y8auzB9sSddUJPZ9J8hKfn2IZsKu6K9JuzRn4XBO8ryCO wFJ1Fuo1gGN+1KoykZGHNxLtCR0Fh+LdqoTX7D2nvMOPGsW9HKtEjHdJ/3ykqs3h+LO3 dNEQt1aS/oNRfk6JvdWz0WL+lKoveHGD3h6I2kFF9w1vYK8tbce1d14hAqFCdt2gZOY5 EHAQ== 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 o1si10058464pld.226.2018.01.09.01.41.10; Tue, 09 Jan 2018 01:41:10 -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 S1752768AbeAIJfL (ORCPT + 28 others); Tue, 9 Jan 2018 04:35:11 -0500 Received: from mail.free-electrons.com ([62.4.15.54]:45666 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752636AbeAIJfB (ORCPT ); Tue, 9 Jan 2018 04:35:01 -0500 Received: by mail.free-electrons.com (Postfix, from userid 110) id C294820999; Tue, 9 Jan 2018 10: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 589D4203B7; Tue, 9 Jan 2018 10:34:48 +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, Quentin Schulz Subject: [PATCH v2 00/16] add support for AXP813 ADC and battery power supply Date: Tue, 9 Jan 2018 10:33:31 +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. 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 dt-bindings: iio: adc: axp20x_adc: add AXP813 variant 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 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 | 10 +++++- 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, 345 insertions(+), 44 deletions(-) create mode 100644 Documentation/devicetree/bindings/iio/adc/axp20x_adc.txt base-commit: 895c0dde398510a5b5ded60e5064c11b94bd30ca -- git-series 0.9.1