From patchwork Sun May 30 00:59:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liam Beguin X-Patchwork-Id: 12288043 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 78C65C47090 for ; Sun, 30 May 2021 00:59:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3AF4F60FF0 for ; Sun, 30 May 2021 00:59:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229610AbhE3BBG (ORCPT ); Sat, 29 May 2021 21:01:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60048 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229555AbhE3BBG (ORCPT ); Sat, 29 May 2021 21:01:06 -0400 Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com [IPv6:2607:f8b0:4864:20::72e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6BA6FC06174A; Sat, 29 May 2021 17:59:29 -0700 (PDT) Received: by mail-qk1-x72e.google.com with SMTP id j189so8019851qkf.2; Sat, 29 May 2021 17:59:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=M+5j+Z5LbA7a2FIvAeMZE8bSlMINPxKMfuNuPFa97JU=; b=fOybSCm/yYyrc8H3+/eQ7rt01iHz7k6s3hHW0sOq0QwceASTYe+oX3ljZ9YK/R18iR 7bb9ZB9/vhXRyvKg6eFL1p161fE9wChOVY/23GPNkakUHWRX+e8n/u+7yDPXA49DELAX 3L61NMvGDyt3+YGM0bnt2j0idBs12Me0tbHlSXctSSkIA+DIyZq3uO9jJqzNfgedDdNN /OlIme4eVzN+yAPTcjILtMF6TPGEj0XD6wIoONNYuJYbeXy6ITjuGxd+UAhLx0af5WK3 GggSl6LBB1BTX7RanEq2r7LGo18S11MUIdfAa2G6R9pNehDFB5VK6K3II5r4yV/XZ+fG wcSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=M+5j+Z5LbA7a2FIvAeMZE8bSlMINPxKMfuNuPFa97JU=; b=DyPjo8YiHAVTUPTHO2qVRxe1cnZA9sNcr3yvatkyT399TFYqKxMlS8zOduE38naKEt Is2tgloq3JSGNrrtowTpK6YtBfOJzYibgamCLD79IujJ92V82x+ncRv6q7yRXJZJ2xY8 Xd3q3XMBzA1W302JybZRtMYSwAU9t2aInru34kLnnwWyaY+Z3ObL9hElt17MUsjFrw+g nXnK+mQNFt/9v1cksq3deBsZm8Jx0CTYMVFoIL4qUNyNf9NJZBnxZP+KBT1PFtDeWIRi 9ITRrZNi4QrrDErPXO7Kct9VBy4pqSZjWqNxqTb1njh9q09u/ovrQwrO2GN3qLCvm5cz wfHw== X-Gm-Message-State: AOAM533NWi+MPdUkCPwY4zHsa0uGwVPSSVVkWOAq1vcPOhqdI+//cgRD UQoVetIUiiYavlBQC/s9xOE= X-Google-Smtp-Source: ABdhPJwsWQi6t8e9B+89hQGrErNBIH8mw8IDv9SLAbroW2HTVVaV3V+A6P2Mvr/ZA9eSh/2e8aPSyw== X-Received: by 2002:a05:620a:12f2:: with SMTP id f18mr10696137qkl.122.1622336368566; Sat, 29 May 2021 17:59:28 -0700 (PDT) Received: from shaak.xiphos.ca (198-48-202-89.cpe.pppoe.ca. [198.48.202.89]) by smtp.gmail.com with ESMTPSA id z1sm6382601qki.47.2021.05.29.17.59.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 May 2021 17:59:28 -0700 (PDT) From: Liam Beguin To: liambeguin@gmail.com, peda@axentia.se, jic23@kernel.org, lars@metafoo.de, pmeerw@pmeerw.net Cc: linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, robh+dt@kernel.org Subject: [PATCH v1 1/9] iio: inkern: always apply scale requested by consumer Date: Sat, 29 May 2021 20:59:09 -0400 Message-Id: <20210530005917.20953-2-liambeguin@gmail.com> X-Mailer: git-send-email 2.30.1.489.g328c10930387 In-Reply-To: <20210530005917.20953-1-liambeguin@gmail.com> References: <20210530005917.20953-1-liambeguin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org From: Liam Beguin When a consumer calls iio_read_channel_processed() and no scaling is available on the channel, it's assumed that the scale is one and the raw value is returned as expected. On the other hand, if the consumer calls iio_convert_raw_to_processed() the scaling factor requested by the consumer is not applied. This for example causes the consumer to process mV when expecting uV. Make sure to always apply the scaling factor requested by the consumer. Signed-off-by: Liam Beguin --- drivers/iio/inkern.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c index db77a2d4a56b..4b6a8e11116a 100644 --- a/drivers/iio/inkern.c +++ b/drivers/iio/inkern.c @@ -601,11 +601,7 @@ static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan, scale_type = iio_channel_read(chan, &scale_val, &scale_val2, IIO_CHAN_INFO_SCALE); if (scale_type < 0) { - /* - * Just pass raw values as processed if no scaling is - * available. - */ - *processed = raw; + *processed = raw * scale; return 0; } From patchwork Sun May 30 00:59:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liam Beguin X-Patchwork-Id: 12288049 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3F385C47090 for ; Sun, 30 May 2021 00:59:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1E68661003 for ; Sun, 30 May 2021 00:59:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229674AbhE3BBJ (ORCPT ); Sat, 29 May 2021 21:01:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60050 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229663AbhE3BBI (ORCPT ); Sat, 29 May 2021 21:01:08 -0400 Received: from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com [IPv6:2607:f8b0:4864:20::72d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B347C061574; Sat, 29 May 2021 17:59:30 -0700 (PDT) Received: by mail-qk1-x72d.google.com with SMTP id v8so8014246qkv.1; Sat, 29 May 2021 17:59:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mbqEA5IK/uO8G7pI1RDGv5fK4ScxDTUkLTrFNzcvRf4=; b=vO0YqN5I/XDF0yCaJ9zOSj3wK6PHcctkjn2+AwQLlhkkQj+BtESgICLUqoBIJNCanF Fr1LhKK/NXCQDfLc4PEh++qnUff3SFxbyOPnzEWQ6gbYO++5TsQnwW7GPAjO+0subBGw XeWQMFmQas6tvmc7f1vhr3oqQ3iI9a3xpQIYs60qsm/ZVE6nLWxDYCBIgXZfHJmejlhR mzT2Qk07vF2qXUDhBLbzJYjXqZ/nLtA0PxWnOhFU4qyrvGJJzAdFsWwhtKccsk9TB+Yh b4zVJlRENFkQ4uLrmOvAlohtFkDJF2uJhK1DGPFCrx7mHI/SNfdO+cIavZ9VLgjoU+Ov dejA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mbqEA5IK/uO8G7pI1RDGv5fK4ScxDTUkLTrFNzcvRf4=; b=Fw/neIvHOZku8kgemnGNKZ2LmTQVpNZr2oXpwrNeHbjHnTx3lUj4Ymd9aMwMHLICyb yuI4N+xfeVhy0pUKDcCFmOVVMqybMAqN7zfL2wIGZ/1yBPNfnzOESlvokP9gyf3MiEEH UIOJ5MiZyyPHuGUhaUk6u5SZnNkm2g0xVoO7d4H8KqYXTfQJyYdooY81Vc23dxUQIv2Z lRM7RGnl1GSdORmbfr4ueRkfG4Vrl7fk66IxpWW8Bi92lom8v6XydK2nHBgfM5nRedwv 29ZKqnbGnDa4ZWS4VCEVko2aMv8wN1hS+4Q5lNmbgfpGdPQXr+dfG5R9Fpaxgr7V2GN5 oCeQ== X-Gm-Message-State: AOAM5326uvZ3+DWCEHEh0TgOvjEVOq96+775KpcqvoCp0TnYCBX6v0hz Wyd3Gdak5MM/RmtNeFs7Y4ARdUdwwf6HAQ== X-Google-Smtp-Source: ABdhPJwb32aYZj8i8XGtpuUevM4VFR8cwgxYisXE3ldklNXOqT5IFAQ4bNn5zQt2Wix1OPhjZyGUBQ== X-Received: by 2002:a05:620a:2ec:: with SMTP id a12mr10152780qko.92.1622336369680; Sat, 29 May 2021 17:59:29 -0700 (PDT) Received: from shaak.xiphos.ca (198-48-202-89.cpe.pppoe.ca. [198.48.202.89]) by smtp.gmail.com with ESMTPSA id z1sm6382601qki.47.2021.05.29.17.59.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 May 2021 17:59:29 -0700 (PDT) From: Liam Beguin To: liambeguin@gmail.com, peda@axentia.se, jic23@kernel.org, lars@metafoo.de, pmeerw@pmeerw.net Cc: linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, robh+dt@kernel.org Subject: [PATCH v1 2/9] iio: inkern: error out on unsupported offset type Date: Sat, 29 May 2021 20:59:10 -0400 Message-Id: <20210530005917.20953-3-liambeguin@gmail.com> X-Mailer: git-send-email 2.30.1.489.g328c10930387 In-Reply-To: <20210530005917.20953-1-liambeguin@gmail.com> References: <20210530005917.20953-1-liambeguin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org From: Liam Beguin iio_convert_raw_to_processed_unlocked() assumes the offset is an integer. Make that clear to the consumer by returning an error when an unsupported offset type is detected. Signed-off-by: Liam Beguin --- drivers/iio/inkern.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c index 4b6a8e11116a..dede4536d499 100644 --- a/drivers/iio/inkern.c +++ b/drivers/iio/inkern.c @@ -595,8 +595,12 @@ static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan, int ret; ret = iio_channel_read(chan, &offset, NULL, IIO_CHAN_INFO_OFFSET); - if (ret >= 0) + if (ret == IIO_VAL_INT) { raw64 += offset; + } else if (ret >= 0) { + dev_err(&chan->indio_dev->dev, "unsupported offset type"); + return -EINVAL; + } scale_type = iio_channel_read(chan, &scale_val, &scale_val2, IIO_CHAN_INFO_SCALE); From patchwork Sun May 30 00:59:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liam Beguin X-Patchwork-Id: 12288047 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2B210C4708F for ; Sun, 30 May 2021 00:59:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0E94B60FF0 for ; Sun, 30 May 2021 00:59:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229667AbhE3BBJ (ORCPT ); Sat, 29 May 2021 21:01:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60060 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229665AbhE3BBI (ORCPT ); Sat, 29 May 2021 21:01:08 -0400 Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com [IPv6:2607:f8b0:4864:20::730]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9BFF7C06174A; Sat, 29 May 2021 17:59:31 -0700 (PDT) Received: by mail-qk1-x730.google.com with SMTP id j189so8019884qkf.2; Sat, 29 May 2021 17:59:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6hVm9pTtY2i0FGIAWRsitMo3N5pAB6nyS8alNSxHtds=; b=tTexZy4YrLakNXtB0R8P3mygTszM9XOCbRMU0KudLyWCneN83W7Bo6wW/XoBcamLt2 HqMloKHJg4hxUDy5ka3bFAtSRNA+5kaoWoxJuC6L6VtN5Pc3gw/N4TAXgMIVrCCYXIXr ct38/Au1nv5nPocWJg4IIK/qVPJZskSEI7lIsR7OGlC8m78OPPOe+s7AQ7TgnSLK0v8c d6hBbrF3QGzC5j2SVgONpHo94nyogO4J1OS3GSXUgS5xEk43Y1J8dhOGycLk16O/aDve /z4VdMxnaFxmTuvrg+cOddYrKydg6nLxxgQLw2MO3AdrRqOjXgjfqFS6lfkFVyyu+mku 0+0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6hVm9pTtY2i0FGIAWRsitMo3N5pAB6nyS8alNSxHtds=; b=sq5m9cmandQQnJwgxnzWt9LDnzE/Xzf9gV9I9S5zKqwh4U2NmpTsjg2SfQmjX07iCf jWSqPSJNoVn09lFkOFUqrsFdmtti2MVKfuI0WqvVfnSpehYP7iPJCuHgqxyq4m7fpr1+ 3DMbBi8axjtttU6hYf32XEqRoS+IiQu4smazBtIcnDD5heOvHM3QzRV4qiopSS/HZUkP oxaGAROOwjkV1hY3VOobpppzTB5UW10nbPoqfjBEcRGTgYEKAus/0sIx39WRLnkegBeH 7jiI/2DWGHlfvnka/dYleCAfZDeYYSOBDiRZ5Nu0v3Nfqrz9uHPn79whNXmO8d/pV0gT fIeQ== X-Gm-Message-State: AOAM532e6mQrrEL0gd6SNykXTt/HQHbDn73kBM5xVO5yh7GJ4E/kap9u ISf+pcdGOuObvPgzOP+0YNE= X-Google-Smtp-Source: ABdhPJxEfLkg2F2SR4BvCjoMfMctWceUCe0e79XTssWwYXa4+J+ROn+5rhiEvBNeuyvLwEnVpxxlEg== X-Received: by 2002:a05:620a:745:: with SMTP id i5mr10737750qki.324.1622336370879; Sat, 29 May 2021 17:59:30 -0700 (PDT) Received: from shaak.xiphos.ca (198-48-202-89.cpe.pppoe.ca. [198.48.202.89]) by smtp.gmail.com with ESMTPSA id z1sm6382601qki.47.2021.05.29.17.59.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 May 2021 17:59:30 -0700 (PDT) From: Liam Beguin To: liambeguin@gmail.com, peda@axentia.se, jic23@kernel.org, lars@metafoo.de, pmeerw@pmeerw.net Cc: linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, robh+dt@kernel.org Subject: [PATCH v1 3/9] iio: afe: rescale: use core to get processed value Date: Sat, 29 May 2021 20:59:11 -0400 Message-Id: <20210530005917.20953-4-liambeguin@gmail.com> X-Mailer: git-send-email 2.30.1.489.g328c10930387 In-Reply-To: <20210530005917.20953-1-liambeguin@gmail.com> References: <20210530005917.20953-1-liambeguin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org From: Liam Beguin Make use of the IIO core to compute the source channel's processed value. This reduces duplication and will facilitate the addition of offsets in the iio-rescale driver. Signed-off-by: Liam Beguin --- drivers/iio/afe/iio-rescale.c | 37 ++++++++++------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/drivers/iio/afe/iio-rescale.c b/drivers/iio/afe/iio-rescale.c index e42ea2b1707d..4d0813b274d1 100644 --- a/drivers/iio/afe/iio-rescale.c +++ b/drivers/iio/afe/iio-rescale.c @@ -38,36 +38,20 @@ static int rescale_read_raw(struct iio_dev *indio_dev, int *val, int *val2, long mask) { struct rescale *rescale = iio_priv(indio_dev); - unsigned long long tmp; int ret; switch (mask) { case IIO_CHAN_INFO_RAW: - return iio_read_channel_raw(rescale->source, val); + ret = iio_read_channel_processed(rescale->source, val); + return IIO_VAL_INT; case IIO_CHAN_INFO_SCALE: - ret = iio_read_channel_scale(rescale->source, val, val2); - switch (ret) { - case IIO_VAL_FRACTIONAL: - *val *= rescale->numerator; - *val2 *= rescale->denominator; - return ret; - case IIO_VAL_INT: - *val *= rescale->numerator; - if (rescale->denominator == 1) - return ret; - *val2 = rescale->denominator; - return IIO_VAL_FRACTIONAL; - case IIO_VAL_FRACTIONAL_LOG2: - tmp = *val * 1000000000LL; - do_div(tmp, rescale->denominator); - tmp *= rescale->numerator; - do_div(tmp, 1000000000LL); - *val = tmp; - return ret; - default: - return -EOPNOTSUPP; - } + *val = rescale->numerator; + if (rescale->denominator == 1) + return IIO_VAL_INT; + *val2 = rescale->denominator; + + return IIO_VAL_FRACTIONAL; default: return -EINVAL; } @@ -130,9 +114,8 @@ static int rescale_configure_channel(struct device *dev, chan->ext_info = rescale->ext_info; chan->type = rescale->cfg->type; - if (!iio_channel_has_info(schan, IIO_CHAN_INFO_RAW) || - !iio_channel_has_info(schan, IIO_CHAN_INFO_SCALE)) { - dev_err(dev, "source channel does not support raw/scale\n"); + if (!iio_channel_has_info(schan, IIO_CHAN_INFO_RAW)) { + dev_err(dev, "source channel does not support raw\n"); return -EINVAL; } From patchwork Sun May 30 00:59:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liam Beguin X-Patchwork-Id: 12288051 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 59C7DC47082 for ; Sun, 30 May 2021 00:59:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3FFF160FF0 for ; Sun, 30 May 2021 00:59:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229700AbhE3BBM (ORCPT ); Sat, 29 May 2021 21:01:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60064 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229585AbhE3BBL (ORCPT ); Sat, 29 May 2021 21:01:11 -0400 Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com [IPv6:2607:f8b0:4864:20::734]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BC9FAC061574; Sat, 29 May 2021 17:59:32 -0700 (PDT) Received: by mail-qk1-x734.google.com with SMTP id j189so8019916qkf.2; Sat, 29 May 2021 17:59:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IlSUd8hLaQ5pXUy/E5mVG/A68UWC8P1PCn0hYHkKFIk=; b=A+FgbGJozU7aXXrBHhVe+n+45sSRYoMC23Z6HNY4dCcDBYEjE2s7lqkODBMwR/oXgq CdYcCljGwvR+pFGrCOz0r2tdMvpc7lN/pkH3GIb/SnKd9VbdIDdSvviuqprud7et3yR/ qWrX/FTTyqIaLz5PUttZeh5LBkdin2Cf7tlR+4eylB5xhKoHTgT0hbSZQxjkYoHf+BtM scWlBCqEYijJ8vIFj3FKcMdofrbdZJzxlNkR5XIQ0CVy9VnPcLLItqw6GQ9pTe1MMUBc WekbkN/8oOZrlgzD3M58P33VxWgq+/FK++8hGuJHnTQ0D6BOBImjMK0ehL+RYV+Gu2Lv qquA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IlSUd8hLaQ5pXUy/E5mVG/A68UWC8P1PCn0hYHkKFIk=; b=HsEXDgrSzXLvnx075t/z/mTRV8xU61X5jKVmx/D6I1iaazoiN5pL06uekBr4StaCWo QWVK7bS/wwyrdC6+JE9eM87Fzj9JhpqN2BROTkk5BNg0CTFRaTdD+L4aBxVMRl6RaaHq 1stoJMlYYSNYf6skNPuSlk1AhGNzJVIUGu0egr/Jmpx/1cdRZ2p8BmJXh/Ul3o/ArYKw wr5X1QkfG5MPhB58CMv7idxik1fqzAGw8Nkt6WvnV66UcWu8CWa0cBTfjdDdLUox3qYv wH9Y42oY1e2yLLuMhZS64AOvv+bAYpPDK+WOs0xMSfoIisZG4xezqcrmYN6M3R9bz9os yHYg== X-Gm-Message-State: AOAM5309mC3IvW+xJ3XED942Eu9vUuu2HYo2jZednwPrfAVNsEE5l18h 2s2/aw1gA2TYUo5rrLl9tdP2dJI58H3PmQ== X-Google-Smtp-Source: ABdhPJzFKdhiDHhxoTFlkGy/XivhwSTACmBJNp4u4GvdLGnDGRgHZcUKNgGdh+FSji4RQ3+P9jVLLA== X-Received: by 2002:a37:b6c4:: with SMTP id g187mr10648500qkf.491.1622336371987; Sat, 29 May 2021 17:59:31 -0700 (PDT) Received: from shaak.xiphos.ca (198-48-202-89.cpe.pppoe.ca. [198.48.202.89]) by smtp.gmail.com with ESMTPSA id z1sm6382601qki.47.2021.05.29.17.59.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 May 2021 17:59:31 -0700 (PDT) From: Liam Beguin To: liambeguin@gmail.com, peda@axentia.se, jic23@kernel.org, lars@metafoo.de, pmeerw@pmeerw.net Cc: linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, robh+dt@kernel.org Subject: [PATCH v1 4/9] iio: afe: rescale: add offset support Date: Sat, 29 May 2021 20:59:12 -0400 Message-Id: <20210530005917.20953-5-liambeguin@gmail.com> X-Mailer: git-send-email 2.30.1.489.g328c10930387 In-Reply-To: <20210530005917.20953-1-liambeguin@gmail.com> References: <20210530005917.20953-1-liambeguin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org From: Liam Beguin This is a preparatory change required for the addition of temperature sensing front ends. Signed-off-by: Liam Beguin --- drivers/iio/afe/iio-rescale.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/iio/afe/iio-rescale.c b/drivers/iio/afe/iio-rescale.c index 4d0813b274d1..3bd1f11f21db 100644 --- a/drivers/iio/afe/iio-rescale.c +++ b/drivers/iio/afe/iio-rescale.c @@ -31,6 +31,7 @@ struct rescale { struct iio_chan_spec_ext_info *ext_info; s32 numerator; s32 denominator; + s32 offset; }; static int rescale_read_raw(struct iio_dev *indio_dev, @@ -52,6 +53,10 @@ static int rescale_read_raw(struct iio_dev *indio_dev, *val2 = rescale->denominator; return IIO_VAL_FRACTIONAL; + case IIO_CHAN_INFO_OFFSET: + *val = rescale->offset; + + return IIO_VAL_INT; default: return -EINVAL; } @@ -119,8 +124,10 @@ static int rescale_configure_channel(struct device *dev, return -EINVAL; } - chan->info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | - BIT(IIO_CHAN_INFO_SCALE); + chan->info_mask_separate = + BIT(IIO_CHAN_INFO_RAW) | + BIT(IIO_CHAN_INFO_SCALE) | + BIT(IIO_CHAN_INFO_OFFSET); if (iio_channel_has_available(schan, IIO_CHAN_INFO_RAW)) chan->info_mask_separate_available |= BIT(IIO_CHAN_INFO_RAW); @@ -280,6 +287,7 @@ static int rescale_probe(struct platform_device *pdev) rescale->cfg = of_device_get_match_data(dev); rescale->numerator = 1; rescale->denominator = 1; + rescale->offset = 0; ret = rescale->cfg->props(dev, rescale); if (ret) From patchwork Sun May 30 00:59:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liam Beguin X-Patchwork-Id: 12288053 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9AB2FC47091 for ; Sun, 30 May 2021 00:59:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8EC75610FC for ; Sun, 30 May 2021 00:59:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229744AbhE3BBR (ORCPT ); Sat, 29 May 2021 21:01:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60070 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229706AbhE3BBM (ORCPT ); Sat, 29 May 2021 21:01:12 -0400 Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com [IPv6:2607:f8b0:4864:20::732]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D69D6C06174A; Sat, 29 May 2021 17:59:33 -0700 (PDT) Received: by mail-qk1-x732.google.com with SMTP id q10so7994211qkc.5; Sat, 29 May 2021 17:59:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QUHjbP246dWqX0f+av17blUVb8XRzL1XnP4Qjksj4tw=; b=TPzH9mySirtZo0UOY3fVTknLDskhUhDUaLa4TopqQbW1PEVbcZwDhghaam3HxNGJpO pSzGytnqE4H47WieKX+Mq0QX+mvi+NZ+JpG2RhSJokNV6xy3g7VC9Mqi5p5Dkj913Akq SXXpO8OWzIZaj6m2xGJ9nAMQwC/m86VgOsugPAojeXt0CfC8hvJ9qqDZzWKWl3o3QJ9U HcEPnb9WTrkJA+YR+Zva7EYe1zhBA7PrnLXGedEHqX7scz/4SZcrRqcGhx8Qn/yapwJE k0dpvLSVugxHF0v51NzevPQQRtBsFwuf0QGGNoqszofw+6Z6VrAwfrp3RvM/eSz5nfxr QNxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QUHjbP246dWqX0f+av17blUVb8XRzL1XnP4Qjksj4tw=; b=jZQOejDKvOdtcm9/VkaxUCoIqlSjsO9dvfcm1a6Ba/k78EJrD6QoyLBZOAr0nHbi5U 0FHU4dxvn5s4BLhINkw7Q3hEAlKdFljMv488x4pp2LBu063bnYoImCf+90+pmmtOm8DO TNZWaitbHDZr381WCzu8d/vsmsOELJxReFhggnW+9ZQRdzyh+Exr61nIsQgrsPuPbAX2 kUwJq1lZR0uW07ui/+bhbTXSy9UJjRRKOJ4mLnvG0fv79FaE3bUP3x3HIiz0cn81DKox sz9JIdMuTcsiWiPMmLVQFP6WXho3e3jK2sLYAEzZCW8AXHmUfImIBenbG4g93ZkVjX/h uU7A== X-Gm-Message-State: AOAM530lmXJh/mOLDHjqYRSXCb7ycesTHIc3TCSYElZXgOoxgXmf0Y4y /jeHbfosep42IzQGL3sAsDw= X-Google-Smtp-Source: ABdhPJwg/hQW8qohDDXP3LEPpiBEVLTGEoytjks9ZSIvF4x4FkmIHBTqJ4FC6t/2OsmDe2cLq4OweA== X-Received: by 2002:a05:620a:133b:: with SMTP id p27mr10305729qkj.354.1622336373078; Sat, 29 May 2021 17:59:33 -0700 (PDT) Received: from shaak.xiphos.ca (198-48-202-89.cpe.pppoe.ca. [198.48.202.89]) by smtp.gmail.com with ESMTPSA id z1sm6382601qki.47.2021.05.29.17.59.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 May 2021 17:59:32 -0700 (PDT) From: Liam Beguin To: liambeguin@gmail.com, peda@axentia.se, jic23@kernel.org, lars@metafoo.de, pmeerw@pmeerw.net Cc: linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, robh+dt@kernel.org Subject: [PATCH v1 5/9] iio: afe: rescale: add support for temperature sensors Date: Sat, 29 May 2021 20:59:13 -0400 Message-Id: <20210530005917.20953-6-liambeguin@gmail.com> X-Mailer: git-send-email 2.30.1.489.g328c10930387 In-Reply-To: <20210530005917.20953-1-liambeguin@gmail.com> References: <20210530005917.20953-1-liambeguin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org From: Liam Beguin Add support for various linear temperature sensors. temperature-sense-rtd is used when the measured temperature is a function of the sensor's resistance (like RTD sensors). temperature-sense-current is used when the measured temperature is a function of the sensor's output current (like the AD590) temperature-sense-amplifier is used when the measured temperature is a function of the sensor's voltage (like the LTC2997) Signed-off-by: Liam Beguin --- drivers/iio/afe/iio-rescale.c | 141 ++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) diff --git a/drivers/iio/afe/iio-rescale.c b/drivers/iio/afe/iio-rescale.c index 3bd1f11f21db..eb53d833bf7c 100644 --- a/drivers/iio/afe/iio-rescale.c +++ b/drivers/iio/afe/iio-rescale.c @@ -222,10 +222,133 @@ static int rescale_voltage_divider_props(struct device *dev, return 0; } +static int rescale_temp_sense_rtd_props(struct device *dev, + struct rescale *rescale) +{ + u32 factor; + u32 alpha; + u32 iexc; + u32 tmp; + int ret; + u32 r0; + + ret = device_property_read_u32(dev, "excitation-current-microamp", + &iexc); + if (ret) { + dev_err(dev, "failed to read excitation-current-microamp: %d\n", + ret); + return ret; + } + + ret = device_property_read_u32(dev, "alpha-micro-ohms-per-ohm-celsius", + &alpha); + if (ret) { + dev_err(dev, "failed to read alpha-micro-ohms-per-celsius: %d\n", + ret); + return ret; + } + + ret = device_property_read_u32(dev, "r-naught-ohms", &r0); + if (ret) { + dev_err(dev, "failed to read r-naught-ohms: %d\n", ret); + return ret; + } + + /* + * The transfer function: + * + * - V(T) = R(T) * iexc + * - R(T) = r0 * (1 + alpha * T) + * + * T = 1 / (alpha * r0 * iexc) * (V - r0 * iexc) + */ + tmp = r0 * iexc * alpha / 1000000; + factor = gcd(tmp, 1000000); + rescale->numerator = 1000000 / factor; + rescale->denominator = tmp / factor; + + rescale->offset = -1 * ((r0 * iexc) / 1000); + + return 0; +} + +static int rescale_temp_sense_current_props(struct device *dev, + struct rescale *rescale) +{ + u32 alpha; + u32 sense; + int ret; + + ret = device_property_read_u32(dev, "sense-resistor-ohms", &sense); + if (ret) { + dev_err(dev, "failed to read the sense resistance: %d\n", ret); + return ret; + } + + ret = device_property_read_u32(dev, "alpha-micro-amps-per-degree", + &alpha); + if (ret) { + dev_err(dev, "failed to read alpha-micro-amps-per-degree: %d\n", + ret); + return ret; + } + + /* + * The transfer function: + * + * - V(K) = Rsense * Isense(K) + * - K = Isense(K) / alpha + * - C = K - 273.15 + * + * C = 1 / (Rsense * alpha) * (V - 273.15 * Rsense * alpha) + */ + rescale->numerator = 1000000; + rescale->denominator = alpha * sense; + + if (device_property_read_bool(dev, "use-kelvin-scale")) + rescale->offset = -1 * ((27315 * alpha * sense) / 100000); + + return 0; +} + +static int rescale_temp_sense_amplifier_props(struct device *dev, + struct rescale *rescale) +{ + u32 alpha; + int ret; + + ret = device_property_read_u32(dev, "alpha-micro-volts-per-degree", + &alpha); + if (ret) { + dev_err(dev, "failed to read alpha-micro-volts-per-degree: %d\n", + ret); + return ret; + } + + /* + * The transfer function: + * + * - K = V(K) / alpha + * - C = K - 273.15 + * + * C = 1 / (alpha) * (V - 273.15 * alpha) + */ + rescale->numerator = 1000000; + rescale->denominator = alpha; + + if (device_property_read_bool(dev, "use-kelvin-scale")) + rescale->offset = -1 * ((27315 * alpha) / 100000); + + return 0; +} + enum rescale_variant { CURRENT_SENSE_AMPLIFIER, CURRENT_SENSE_SHUNT, VOLTAGE_DIVIDER, + TEMP_SENSE_RTD, + TEMP_SENSE_CURRENT, + TEMP_SENSE_AMPLIFIER, }; static const struct rescale_cfg rescale_cfg[] = { @@ -241,6 +364,18 @@ static const struct rescale_cfg rescale_cfg[] = { .type = IIO_VOLTAGE, .props = rescale_voltage_divider_props, }, + [TEMP_SENSE_RTD] = { + .type = IIO_TEMP, + .props = rescale_temp_sense_rtd_props, + }, + [TEMP_SENSE_CURRENT] = { + .type = IIO_TEMP, + .props = rescale_temp_sense_current_props, + }, + [TEMP_SENSE_AMPLIFIER] = { + .type = IIO_TEMP, + .props = rescale_temp_sense_amplifier_props, + }, }; static const struct of_device_id rescale_match[] = { @@ -250,6 +385,12 @@ static const struct of_device_id rescale_match[] = { .data = &rescale_cfg[CURRENT_SENSE_SHUNT], }, { .compatible = "voltage-divider", .data = &rescale_cfg[VOLTAGE_DIVIDER], }, + { .compatible = "temperature-sense-rtd", + .data = &rescale_cfg[TEMP_SENSE_RTD], }, + { .compatible = "temperature-sense-current", + .data = &rescale_cfg[TEMP_SENSE_CURRENT], }, + { .compatible = "temperature-sense-amplifier", + .data = &rescale_cfg[TEMP_SENSE_AMPLIFIER], }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, rescale_match); From patchwork Sun May 30 00:59:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liam Beguin X-Patchwork-Id: 12288055 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7DF1EC47082 for ; Sun, 30 May 2021 00:59:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6144461107 for ; Sun, 30 May 2021 00:59:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229710AbhE3BBU (ORCPT ); Sat, 29 May 2021 21:01:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60106 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229736AbhE3BBQ (ORCPT ); Sat, 29 May 2021 21:01:16 -0400 Received: from mail-qk1-x733.google.com (mail-qk1-x733.google.com [IPv6:2607:f8b0:4864:20::733]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B3519C06138A; Sat, 29 May 2021 17:59:36 -0700 (PDT) Received: by mail-qk1-x733.google.com with SMTP id j184so8012629qkd.6; Sat, 29 May 2021 17:59:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JnqLIa5mgKuFptyC1mSB5xtRSuUDg8keZCubojCgino=; b=oG56CJKepdRVk3v0PioJss3qcfbcczF3d5fGoelHQ/1iyKFD1zjyL31WBNt5KwO3/u +LIBr6rHLrygxTJ3/2uaRH1+qvxI3/8kueceHkR03F8jspX2tv7qoWALPFipZviITkUB Qg7fieio+GTFOy9mjX47axtxFZSpl5qjHLz/61NyUH6jyBd1tLzS02OZx9OTK+lSGJeU YyItC2XhKS8xJuWSuUhmO9hPocGbjeqYDvmN0avBCW0OPbaVM9tgWKss/DHSKxuZvk+n QRJu45+NG9Nj5o0ALck7VYfZoNDKFlufHenbHRSR94NcyfB1+KJ/8rMka46E4NQzKUnq sS6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JnqLIa5mgKuFptyC1mSB5xtRSuUDg8keZCubojCgino=; b=OrT97QQ6Ad5bjZMDFaqdrrIBeHOEh+cPuex4tkT6xAhUg+Hwr79KEN4xXDqSMD2v0b T/4zTzdlkPxaJox2c1ANAHoUeJQVTr+T5iASwt9fFkN44KFUo2nnWXtC3hRI8u0p0vK6 KwmgZre2eabrPAudHOVI+fDwPeoCURxTdKtru5VvQxgGBUQc9O3lc8wK6cBC/lkX207Q n8EuDnmtbzXt6Qsan1fYRuQkPpUrtnA7ofw6lt/SxXu4+GXCqcIXx0JfjYG8mMuG/03U 34D2D7FIEYITReoysm6Hbz6KgzPXxJ3iWMCAyZ+l3E/ka0CUux2mqbZnfCHRNobVqISt d80Q== X-Gm-Message-State: AOAM532knZK+1vdV9S8zD4mzGcTBoGnKz8fECH+jF6hBM6xuWwet1cif tiCJGSNxtjTT486dHnpzJqs6hHKH1EKmrg== X-Google-Smtp-Source: ABdhPJwH/NP0PT2T46ua+79svieDA/IJph0YsCTXUYTw44bpEi7tTFN7JqElyrSLnBBAfEBDggidOQ== X-Received: by 2002:a37:8f05:: with SMTP id r5mr5058764qkd.26.1622336374207; Sat, 29 May 2021 17:59:34 -0700 (PDT) Received: from shaak.xiphos.ca (198-48-202-89.cpe.pppoe.ca. [198.48.202.89]) by smtp.gmail.com with ESMTPSA id z1sm6382601qki.47.2021.05.29.17.59.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 May 2021 17:59:33 -0700 (PDT) From: Liam Beguin To: liambeguin@gmail.com, peda@axentia.se, jic23@kernel.org, lars@metafoo.de, pmeerw@pmeerw.net Cc: linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, robh+dt@kernel.org Subject: [PATCH v1 6/9] dt-bindings: iio: afe: update MAINTAINERS file Date: Sat, 29 May 2021 20:59:14 -0400 Message-Id: <20210530005917.20953-7-liambeguin@gmail.com> X-Mailer: git-send-email 2.30.1.489.g328c10930387 In-Reply-To: <20210530005917.20953-1-liambeguin@gmail.com> References: <20210530005917.20953-1-liambeguin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org From: Liam Beguin The IIO Analog Front End devicetree bindings files have been update to yaml. Make sure the MAINTAINERS file matches the tree. Signed-off-by: Liam Beguin --- MAINTAINERS | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 9450e052f1b1..d3ab0ccc34ab 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8719,9 +8719,9 @@ IIO UNIT CONVERTER M: Peter Rosin L: linux-iio@vger.kernel.org S: Maintained -F: Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.txt -F: Documentation/devicetree/bindings/iio/afe/current-sense-shunt.txt -F: Documentation/devicetree/bindings/iio/afe/voltage-divider.txt +F: Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.yaml +F: Documentation/devicetree/bindings/iio/afe/current-sense-shunt.yaml +F: Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml F: drivers/iio/afe/iio-rescale.c IKANOS/ADI EAGLE ADSL USB DRIVER From patchwork Sun May 30 00:59:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liam Beguin X-Patchwork-Id: 12288057 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A8684C47097 for ; Sun, 30 May 2021 00:59:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8B6A161185 for ; Sun, 30 May 2021 00:59:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229746AbhE3BBU (ORCPT ); Sat, 29 May 2021 21:01:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60112 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229748AbhE3BBR (ORCPT ); Sat, 29 May 2021 21:01:17 -0400 Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CDB25C06138D; Sat, 29 May 2021 17:59:37 -0700 (PDT) Received: by mail-qt1-x831.google.com with SMTP id v4so5560803qtp.1; Sat, 29 May 2021 17:59:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=P6V6t8hE+Gu6eo3I8d/U+TwOs3wXsrPEKOAhCz4/hV8=; b=JnFhXtun9geW3UTMOIhO07Y+aB29Pxalh5B77e91YMF+qhJvxARUtnPlFg5zHNs2Zd 4hLI/U1Kf64+wHEVBAsq9/7XXFQNq3G5g48WIYyUKP5rNGN4lnafSJ7+NXXeelHKKm6c dddKLi4hDuK4nygbrHTCOeKaebdew0skDRkUStT7Ou/OEyYwikFGi6kyjFjENjOzYIIB 0eDHlL0Bs7IyFLLcUEDd7jsyXsQJL4q3vIGgUmeBLc27ndkCVQuUkUB+uIMyRK/yltkX kmrZLSs1I+NolSoWAvyJ2k8L077tpIHqUujKTOYwO/QFK+xQFXHGUyaqB5SdFUp4K4eJ TCmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=P6V6t8hE+Gu6eo3I8d/U+TwOs3wXsrPEKOAhCz4/hV8=; b=FpS8ZT9hIPHiASPEgrhLqXIqTlE/D2h7vxK1VqOGOTagZg6IMzgnQeqHGLryRrgZIH yJGgF2VeXpyIXaXgD3YN6vmDvaqTN7SCn4HOinj1mjo6L2T7AzIQViFmL/F/EUGRryMA vZB4frbwfC3saWIDo+hfDW8EBH6Eg6L28PsuCQSpsuOmNKAMFNtmfcZ+9N6zGtTGF/+f SNT34+1xaR/pr5TttmCiM+h5xV1o1SpfF5JN7diEnl33YH2TZ5B70DoWB9KBLdkVkAZD adYH91aXn43ds4BrNeVkv1EymY6i7r0YTHbGjqT9oqUoQsMaxoSrrMTQML9iHIoYxnAR YTfg== X-Gm-Message-State: AOAM532vYO8VtB5lTfcoEs/ccWMQrHiOhxVb7HaI0oNMGJxfaeY8ZAko O3ZP/WWcLab8azfGT38tWtI= X-Google-Smtp-Source: ABdhPJxQSVPTH6TgQf6TNMH+y/b51NwnbwkI/uxSzfZmNzh/EbrdFEDqImKr5McPa19xCJAf+dVn5A== X-Received: by 2002:a05:622a:44:: with SMTP id y4mr9512991qtw.258.1622336376951; Sat, 29 May 2021 17:59:36 -0700 (PDT) Received: from shaak.xiphos.ca (198-48-202-89.cpe.pppoe.ca. [198.48.202.89]) by smtp.gmail.com with ESMTPSA id z1sm6382601qki.47.2021.05.29.17.59.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 May 2021 17:59:36 -0700 (PDT) From: Liam Beguin To: liambeguin@gmail.com, peda@axentia.se, jic23@kernel.org, lars@metafoo.de, pmeerw@pmeerw.net Cc: linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, robh+dt@kernel.org Subject: [PATCH v1 7/9] dt-bindings: iio: afe: add binding for temperature-sense-rtd Date: Sat, 29 May 2021 20:59:15 -0400 Message-Id: <20210530005917.20953-8-liambeguin@gmail.com> X-Mailer: git-send-email 2.30.1.489.g328c10930387 In-Reply-To: <20210530005917.20953-1-liambeguin@gmail.com> References: <20210530005917.20953-1-liambeguin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org From: Liam Beguin An ADC is often used to measure other quantities indirectly. This binding describe one cases, the measurement of a temperature through the voltage across an RTD resistor such as a PT1000. Signed-off-by: Liam Beguin --- .../iio/afe/temperature-sense-rtd.yaml | 65 +++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 66 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml diff --git a/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml b/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml new file mode 100644 index 000000000000..4798eda6e533 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml @@ -0,0 +1,65 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/afe/temperature-sense-rtd.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Temperature Sense RTD + +maintainers: + - Liam Beguin + +description: | + When an io-channel measures the output voltage across an RTD such as a + PT1000, the interesting measurement is almost always the corresponding + temperature, not the voltage output. This binding describes such a circuit. + +properties: + compatible: + const: temperature-sense-rtd + + io-channels: + maxItems: 1 + description: | + Channel node of a voltage io-channel. + + '#io-channel-cells': + const: 1 + + excitation-current-microamp: + description: The current fed through the RTD sensor. + + alpha-micro-ohms-per-ohm-celsius: + description: | + Linear approximation of the resistance versus temperature relationship + between 0 and 100 degrees Celsius. + + Pure platinum has an alpha of 3925. Industry standards such as IEC60751 + and ASTM E-1137 specify an alpha of 3850. + + r-naught-ohms: + description: | + Resistance of the sensor at 0 degrees Celsius. + Common values are 100 for PT100 and 1000 for PT1000. + +additionalProperties: false +required: + - compatible + - io-channels + - excitation-current-microamp + - alpha-micro-ohms-per-ohm-celsius + - r-naught-ohms + +examples: + - | + pt1000_1: iio-rescale0 { + compatible = "temperature-sense-rtd"; + #io-channel-cells = <1>; + io-channels = <&temp_adc1 0>; + + excitation-current-microamp = <1000>; + alpha-micro-ohms-per-ohm-celsius = <3908>; + r-naught-ohms = <1000>; + }; + +... diff --git a/MAINTAINERS b/MAINTAINERS index d3ab0ccc34ab..a7279af85adb 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8721,6 +8721,7 @@ L: linux-iio@vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.yaml F: Documentation/devicetree/bindings/iio/afe/current-sense-shunt.yaml +F: Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml F: Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml F: drivers/iio/afe/iio-rescale.c From patchwork Sun May 30 00:59:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liam Beguin X-Patchwork-Id: 12288059 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CC9E8C47091 for ; Sun, 30 May 2021 00:59:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B0205610FC for ; Sun, 30 May 2021 00:59:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229814AbhE3BBX (ORCPT ); Sat, 29 May 2021 21:01:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60120 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229751AbhE3BBS (ORCPT ); Sat, 29 May 2021 21:01:18 -0400 Received: from mail-qt1-x835.google.com (mail-qt1-x835.google.com [IPv6:2607:f8b0:4864:20::835]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B8E13C061342; Sat, 29 May 2021 17:59:38 -0700 (PDT) Received: by mail-qt1-x835.google.com with SMTP id a15so5592695qta.0; Sat, 29 May 2021 17:59:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eM/AgXZ1tPcK96JeOBgvMwuUfYGi+k7+FBTbEFk9D58=; b=lore6e0w8lcgK/ddDTsUw/KlFvUGRtmIVDQUbxzSnSzwPcBHMzOEGMZ8E5Qx+YqHZu 4BNGIbQkFCAZ/Gvq+j7q8KYsxhtGa2MlqVMudmZfgDyaSkHG1e65+4e10SUgt899xwut YUof2vQ0PwJrmcN5lLs1RlXQ6V0i/3XMf4jMLEbjHRpL6gALnKtiALBKhjx6aqXWW6nw NdfbxbYQp8xUyJZG2qYYiBNUUolNAPh09RR6dlNrNOLahrE4XGV1Ya/DNvlRTybXAWR7 hmFmdRGRZ2b/jJVRo3VIqPpBAQAQBAnnVOR45EC33KejtM+X2z0JrduBUxc8giLLjPlZ 2fjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eM/AgXZ1tPcK96JeOBgvMwuUfYGi+k7+FBTbEFk9D58=; b=XLAZ448bu4MkZagBM9kwsa6D3jOUGYgvM4OaGTHblRXOF5nW3Yiq8lNmC2zD0vbWED dZ1RbTm3UkZcsD/ABv4yYfKxu7gs1W8nKw+sNY09DXpVOFT7mCfmi5sWv0IAFwjNhWhw 4W5J+cucbbPNKjeS9m2HUnTM37YKpeALNuwyr5UJzHgGUsFsa6wuAnIcR/lYv7l0hczd /B9phhr0oyOTGsbQJ6qAfeFecbXUmsOhdWgpyinYrI3dAOCSpdfEohnemea1aUjGt4gt 7UAzI/oXgF6Zt2i4lJMGTzPm17qLyE+hLRwxPrscCvsER54wHu6NFs/TrHWO/Zr28HwS vC+g== X-Gm-Message-State: AOAM530AoghnLF/JegLKWJ3hLIJOh+jrgDV7asQREzkIXDGLgAI28Ziv LtkJ3uwLlnW7m39DGjBLR0s= X-Google-Smtp-Source: ABdhPJzH5XlOvgyiyEsIZqThTCzzZPHjjp8y/2r2CJk1MmLYPxCBXh6PKen/90roKrOR9vU2KpS+Eg== X-Received: by 2002:a05:622a:449:: with SMTP id o9mr9643408qtx.145.1622336377945; Sat, 29 May 2021 17:59:37 -0700 (PDT) Received: from shaak.xiphos.ca (198-48-202-89.cpe.pppoe.ca. [198.48.202.89]) by smtp.gmail.com with ESMTPSA id z1sm6382601qki.47.2021.05.29.17.59.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 May 2021 17:59:37 -0700 (PDT) From: Liam Beguin To: liambeguin@gmail.com, peda@axentia.se, jic23@kernel.org, lars@metafoo.de, pmeerw@pmeerw.net Cc: linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, robh+dt@kernel.org Subject: [PATCH v1 8/9] dt-bindings: iio: afe: add binding for temperature-sense-current Date: Sat, 29 May 2021 20:59:16 -0400 Message-Id: <20210530005917.20953-9-liambeguin@gmail.com> X-Mailer: git-send-email 2.30.1.489.g328c10930387 In-Reply-To: <20210530005917.20953-1-liambeguin@gmail.com> References: <20210530005917.20953-1-liambeguin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org From: Liam Beguin An ADC is often used to measure other quantities indirectly. This binding describe one cases, the measurement of a temperature through a current sense amplifier (such as an AD590) and a sense resistor. Signed-off-by: Liam Beguin --- .../iio/afe/temperature-sense-current.yaml | 61 +++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 62 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/afe/temperature-sense-current.yaml diff --git a/Documentation/devicetree/bindings/iio/afe/temperature-sense-current.yaml b/Documentation/devicetree/bindings/iio/afe/temperature-sense-current.yaml new file mode 100644 index 000000000000..1bac74486102 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/afe/temperature-sense-current.yaml @@ -0,0 +1,61 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/afe/temperature-sense-current.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Temperature Sense Current + +maintainers: + - Liam Beguin + +description: | + When an io-channel measures the output voltage for a temperature current + sense amplifier such as the AD950, the interesting measurement is almost + always the corresponding temperature, not the voltage output. + This binding describes such a circuit. + +properties: + compatible: + const: temperature-sense-current + + io-channels: + maxItems: 1 + description: | + Channel node of a voltage io-channel. + + '#io-channel-cells': + const: 1 + + sense-resistor-ohms: + description: The sense resistance. + + alpha-micro-amps-per-degree: + description: | + Linear output current gain of the temperature IC. + + use-kelvin-scale: + type: boolean + description: | + Boolean indicating if alpha uses Kelvin degrees instead of Celsius. + +additionalProperties: false +required: + - compatible + - io-channels + - sense-resistor-ohms + - alpha-micro-amps-per-degree + +examples: + - | + ad590: iio-rescale0 { + compatible = "temperature-sense-current"; + #io-channel-cells = <1>; + io-channels = <&temp_adc 2>; + + sense-resistor-ohms = <8060>; + use-kelvin-scale; + alpha-micro-amps-per-degree = <1>; + }; + +... diff --git a/MAINTAINERS b/MAINTAINERS index a7279af85adb..0eb7fcd94b66 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8721,6 +8721,7 @@ L: linux-iio@vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.yaml F: Documentation/devicetree/bindings/iio/afe/current-sense-shunt.yaml +F: Documentation/devicetree/bindings/iio/afe/temperature-sense-current.yaml F: Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml F: Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml F: drivers/iio/afe/iio-rescale.c From patchwork Sun May 30 00:59:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liam Beguin X-Patchwork-Id: 12288061 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1287CC47082 for ; Sun, 30 May 2021 00:59:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id EA94060FF0 for ; Sun, 30 May 2021 00:59:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229763AbhE3BBZ (ORCPT ); Sat, 29 May 2021 21:01:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60106 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229711AbhE3BBS (ORCPT ); Sat, 29 May 2021 21:01:18 -0400 Received: from mail-qt1-x836.google.com (mail-qt1-x836.google.com [IPv6:2607:f8b0:4864:20::836]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C4D1FC061349; Sat, 29 May 2021 17:59:39 -0700 (PDT) Received: by mail-qt1-x836.google.com with SMTP id c15so5551032qte.6; Sat, 29 May 2021 17:59:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tKiBv8SqRWswr8z7Bsl/7/WuL9D2vpQOGyxVKImo6UE=; b=YD4MojyU5VsvDpuAE927XF5te4GbhcoFFrPKaT7XLIQ+jgV2pu5Stn4oRNMs9Folpl D8Ci35CJBYSGwj5Z3FUxzlEfQe0jKAG7+3fLsZiD4xoUvjY+gi4mZfh8DSwKx+C04WlH ZhGcRMJkOpGQ55O48xFaLJbaP0BciQ1xDAMufHWJLmdarKq2j+dKSx+QWjs5Dtd1X+li wkdEMjveCtrk2X6OXbjcBQHzYqI3mRNQNtzLkn4WhHfc/6DSJHYUelmOiI4DtpyOjsuH kw4uXOwP+fgmc6kpw+Put3FYqO6VryQPD5syJY82QBsuyBcqxx/dpzTtI6G9iMmqamQf cdDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tKiBv8SqRWswr8z7Bsl/7/WuL9D2vpQOGyxVKImo6UE=; b=qqdiLqkWj1GznetlnMT8bAtN0XtxkNnYsMxsS+FNJlj99WfXuxSYJXF0b+Ok9pbS/9 Xhj2A1X3GNXEbg10ip6zDiaPyvdwYwhLtTvGHaNDa3FjsM4rAuSKcO730TkuXdjnqLjM Sw72OUqD+L2Ow4qf/7WEYQG/qsMsMhZ03mZNEFcTT6XyqhqPk3Nageq0uQU7eQ9xfxMC zKMixj8lJqWRfE1QOSaL6lGKOjbi2SuAT+zt+13+p8S7542P3yy4PYrAfKCZiqYFbCBH T1upaE2tN0T9PzvC3WwRWVGyWB3MDXDEHRDswMPODjVleTcnwMjJgoiVNQCS/ExoAvZX A1iw== X-Gm-Message-State: AOAM533vnyOx7ZdryQbFgJV5meincBuBj9vbLRq2/bhQDPDeTLJhy2sL +f+6PqVQoKsZeKoiygJv0zY= X-Google-Smtp-Source: ABdhPJyoKDTAs8PrRuRQCDpoLPMkOr3GOLt6qxRAAEx6R4vsnAgOv91qMLEcUhoiNFxqgBu8vmrj4A== X-Received: by 2002:ac8:6699:: with SMTP id d25mr9502077qtp.326.1622336378921; Sat, 29 May 2021 17:59:38 -0700 (PDT) Received: from shaak.xiphos.ca (198-48-202-89.cpe.pppoe.ca. [198.48.202.89]) by smtp.gmail.com with ESMTPSA id z1sm6382601qki.47.2021.05.29.17.59.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 May 2021 17:59:38 -0700 (PDT) From: Liam Beguin To: liambeguin@gmail.com, peda@axentia.se, jic23@kernel.org, lars@metafoo.de, pmeerw@pmeerw.net Cc: linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, robh+dt@kernel.org Subject: [PATCH v1 9/9] dt-bindings: iio: afe: add binding for temperature-sense-amplifier Date: Sat, 29 May 2021 20:59:17 -0400 Message-Id: <20210530005917.20953-10-liambeguin@gmail.com> X-Mailer: git-send-email 2.30.1.489.g328c10930387 In-Reply-To: <20210530005917.20953-1-liambeguin@gmail.com> References: <20210530005917.20953-1-liambeguin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org From: Liam Beguin An ADC is often used to measure other quantities indirectly. This binding describe one cases, the measurement of a temperature through a voltage sense amplifier such as the LTC2997. Signed-off-by: Liam Beguin --- .../iio/afe/temperature-sense-amplifier.yaml | 55 +++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 56 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/afe/temperature-sense-amplifier.yaml diff --git a/Documentation/devicetree/bindings/iio/afe/temperature-sense-amplifier.yaml b/Documentation/devicetree/bindings/iio/afe/temperature-sense-amplifier.yaml new file mode 100644 index 000000000000..015413cbffbc --- /dev/null +++ b/Documentation/devicetree/bindings/iio/afe/temperature-sense-amplifier.yaml @@ -0,0 +1,55 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/afe/temperature-sense-amplifier.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Temperature Sense Amplifier + +maintainers: + - Liam Beguin + +description: | + When an io-channel measures the output voltage of a temperature IC such as + the LTC2997, the interesting measurement is almost always the corresponding + temperature, not the voltage output. This binding describes such a circuit. + +properties: + compatible: + const: temperature-sense-amplifier + + io-channels: + maxItems: 1 + description: | + Channel node of a voltage io-channel. + + '#io-channel-cells': + const: 1 + + alpha-micro-volts-per-degree: + description: | + Output voltage gain of the temperature IC. + + use-kelvin-scale: + type: boolean + description: | + Boolean indicating if alpha uses Kelvin degrees instead of Celsius. + +additionalProperties: false +required: + - compatible + - io-channels + - alpha-micro-volts-per-degree + +examples: + - | + znq_temp: iio-rescale0 { + compatible = "temperature-sense-amplifier"; + #io-channel-cells = <1>; + io-channels = <&temp_adc 3>; + + use-kelvin-scale; + alpha-micro-volts-per-degree = <4000>; + }; + +... diff --git a/MAINTAINERS b/MAINTAINERS index 0eb7fcd94b66..f224bd8e6125 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8721,6 +8721,7 @@ L: linux-iio@vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.yaml F: Documentation/devicetree/bindings/iio/afe/current-sense-shunt.yaml +F: Documentation/devicetree/bindings/iio/afe/temperature-sense-amplifier.yaml F: Documentation/devicetree/bindings/iio/afe/temperature-sense-current.yaml F: Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml F: Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml