From patchwork Thu Oct 14 13:12:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Olivier Moysan X-Patchwork-Id: 12558485 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 28FECC4321E for ; Thu, 14 Oct 2021 13:13:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 11752610CC for ; Thu, 14 Oct 2021 13:13:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231277AbhJNNPt (ORCPT ); Thu, 14 Oct 2021 09:15:49 -0400 Received: from mx08-00178001.pphosted.com ([91.207.212.93]:40524 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S231205AbhJNNPr (ORCPT ); Thu, 14 Oct 2021 09:15:47 -0400 Received: from pps.filterd (m0046660.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 19EBk9nv020035; Thu, 14 Oct 2021 15:13:16 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=from : to : cc : subject : date : message-id : mime-version : content-type; s=selector1; bh=YjQ3urDAJXHR/F3Axv6sVr5AjLaz89bV+mq261IIQQY=; b=cXLM99+NE6XvfugKPfl3nOtV9X2sQ/UGiGn/Bvwn3yIg8Gn0qOfhVlkLqQfWVcKxOZeK G0cwYu83kyoIwGUQqSd0yq8PnIRe26WIYHH5JhXbNnCcHEAHGktFfERka4p3W7lxTJIt OdVjWUec3Dgp8ZwhccwWGS62tJ14ZBJV6jcgsm3VtLQyZgx7+oa7jRTp7JNtunbMgNVc MgRwNE3WKuNKA4YqaGdFqFX1CK23b677pH1LJa+FxRclmCe/1Rm5AXM2Z2+Zgt7Pt9w0 6d+wxfql0WvJ3soU5kWG1F55dP1GqduQzrXXod0gQ1+/9rku79lOOSTwguCxbLPxpPJa YQ== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 3bpkye8fy7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 14 Oct 2021 15:13:16 +0200 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 87DB410002A; Thu, 14 Oct 2021 15:13:14 +0200 (CEST) Received: from Webmail-eu.st.com (sfhdag2node2.st.com [10.75.127.5]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 7FA5622179A; Thu, 14 Oct 2021 15:13:14 +0200 (CEST) Received: from localhost (10.75.127.49) by SFHDAG2NODE2.st.com (10.75.127.5) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Thu, 14 Oct 2021 15:13:14 +0200 From: Olivier Moysan To: Alexandre Torgue , Fabrice Gasnier , Jonathan Cameron , Lars-Peter Clausen , Maxime Coquelin , Olivier Moysan , Rob Herring CC: , , , , Subject: [PATCH v5 0/7] iio: adc: stm32-adc: add internal channels support Date: Thu, 14 Oct 2021 15:12:21 +0200 Message-ID: <20211014131228.4692-1-olivier.moysan@foss.st.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 X-Originating-IP: [10.75.127.49] X-ClientProxiedBy: SFHDAG1NODE2.st.com (10.75.127.2) To SFHDAG2NODE2.st.com (10.75.127.5) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.0.607.475 definitions=2021-10-14_08,2021-10-14_02,2020-04-07_01 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org This patchset adds support of ADC2 internal channels VDDCORE, VREFINT and VBAT on STM32MP15x SoCs. The generic IIO channel bindings is also introduced here to provide this feature. The legacy channel binding is kept for backward compatibility. Changes in v2: - Add 'deprecated' to channels legacy properties in ADC bindings - Add set/clr service for common registers, to make code more generic in internal channels enable/disable services. - Expose vrefint channel as a processed channel to return the actual value of vrefp. - Minor code improvements Changes in v3: - fix vrefint sampling time check. Changes in v4: - fix binding - add dedicated spin lock for common register - manage probe_defer on nvmem read Changes in v5: - fix binding example v5 resent as serie index was wrong on previous post. sorry ! Olivier Moysan (7): dt-bindings: iio: stm32-adc: add generic channel binding dt-bindings: iio: stm32-adc: add nvmem support for vrefint internal channel iio: adc: stm32-adc: split channel init into several routines iio: adc: stm32-adc: add support of generic channels binding iio: adc: stm32-adc: add support of internal channels iio: adc: stm32-adc: add vrefint calibration support iio: adc: stm32-adc: use generic binding for sample-time .../bindings/iio/adc/st,stm32-adc.yaml | 108 ++++- drivers/iio/adc/stm32-adc-core.c | 1 + drivers/iio/adc/stm32-adc-core.h | 10 + drivers/iio/adc/stm32-adc.c | 422 ++++++++++++++++-- 4 files changed, 486 insertions(+), 55 deletions(-)