Message ID | 20230113194959.3276433-3-hugo@hugovil.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp464873wrt; Fri, 13 Jan 2023 12:22:01 -0800 (PST) X-Google-Smtp-Source: AMrXdXteu09/kScPA2am27sZD7BTmbih3MsFhwakepKeWLTQeFIplrFlU9hsNn+j5o4bgibv8R6E X-Received: by 2002:a17:907:390:b0:84d:2f09:661 with SMTP id ss16-20020a170907039000b0084d2f090661mr24484387ejb.1.1673641321018; Fri, 13 Jan 2023 12:22:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673641321; cv=none; d=google.com; s=arc-20160816; b=UIh5jgx6IDn+yEnbn2keLJPfbxWWxhBchZOUr5bgzOBAvT0KJMR+Dt46tATORvdRRU s6/dOdpHDpJ+HBPwIN7t0TQzaiE/D2J/j95rUC1nWZu0Y9kXpj+GIfY57tT5tE7+Vqob Uh6W1b/Q9eYuaqlhpZ+Ds200DDosQHAWG0HMELE9ftbRi4JKzeWX2u8ygopG6sK0zu1x ULvno5jnOR16H0Mdi2rUtfkL1hxc8KIobixxCKeyUJvG2eBK+MS47WHvSANTwdrh1cCx Qr89tSWRI5VEQ115rYrogYIB7rh0+Sf8qPDFBJ0zv8F4V4ce0Zc2wH6w+TsPuoNxDjYk RWgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from:dkim-signature; bh=MzT+FeQLKa//TLnfFaf1hfOuJqIQoyYV+YS7hdueDjo=; b=BXK/4OUTKT/BMWwD+kxudyT/JLiTf9EhNmhtntcSGADMJdhKA1uuLlx8GYLSa8KIPy CJMEEK1IMETUmGyyEeSmao922LMO70J+w9Ii5BfOFetO2OFmDwzq9hMT5ovcN5r0AVOe DJU6YLYkJFYYhn3dghTo3SsjOyu+n2TH4u4xw3B4HeGuH+xVt5/nRPRWY520VyIQLJq2 aT7/Gy+DeWUW2PN8yl9MYYJr1/94HXPMaKwlWBTw7owcNj2u3yWjsttG6khQkup0/Wy/ mI0EDLE55SLrvU3zGH51kzNFcwpnZo+bDedlo+45wNC5i7iOj3rsLtYepmU+ZU4y9wOR qqNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=rnEyYfxf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u5-20020a170906654500b0084c950a7956si16880486ejn.144.2023.01.13.12.21.36; Fri, 13 Jan 2023 12:22:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=rnEyYfxf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229633AbjAMTuo (ORCPT <rfc822;andrewvogler123@gmail.com> + 99 others); Fri, 13 Jan 2023 14:50:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229525AbjAMTuc (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Fri, 13 Jan 2023 14:50:32 -0500 Received: from mail.hugovil.com (mail.hugovil.com [162.243.120.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ED7FA63F51; Fri, 13 Jan 2023 11:50:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hugovil.com ; s=x; h=Subject:Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=MzT+FeQLKa//TLnfFaf1hfOuJqIQoyYV+YS7hdueDjo=; b=rnEyYfxfvFkdfcxi870hutULuP XYXkcSTjScKpojA0ELRyVQYSCbK5tQvvw0a8LdRV82aQ0CuvxdhJSn6iVMxUd15QNlr7GMMBqzgYr Y0MefnJX48RMaJJxQvdtVulx77HHj/HRXlKSyJKzqzaWLoGp43a/p3d5WiJVctzIBs1A=; Received: from modemcable168.174-80-70.mc.videotron.ca ([70.80.174.168]:41188 helo=pettiford.lan) by mail.hugovil.com with esmtpa (Exim 4.92) (envelope-from <hugo@hugovil.com>) id 1pGQ4C-0000pu-Rt; Fri, 13 Jan 2023 14:50:23 -0500 From: Hugo Villeneuve <hugo@hugovil.com> To: hvilleneuve@dimonoff.com, jic23@kernel.org, lars@metafoo.de, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, hugo@hugovil.com Date: Fri, 13 Jan 2023 14:49:59 -0500 Message-Id: <20230113194959.3276433-3-hugo@hugovil.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230113194959.3276433-1-hugo@hugovil.com> References: <20230113194959.3276433-1-hugo@hugovil.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 70.80.174.168 X-SA-Exim-Mail-From: hugo@hugovil.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 Subject: [PATCH v3 2/2] dt-bindings: iio: adc: add Texas Instruments ADS7924 X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.hugovil.com) Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754940122234586444?= X-GMAIL-MSGID: =?utf-8?q?1754940122234586444?= |
Series |
iio: adc: ti-ads7924: add Texas Instruments ADS7924 driver
|
|
Commit Message
Hugo Villeneuve
Jan. 13, 2023, 7:49 p.m. UTC
From: Hugo Villeneuve <hvilleneuve@dimonoff.com> Add device tree bindings document for the Texas Instruments ADS7924 ADC. Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com> --- .../bindings/iio/adc/ti,ads7924.yaml | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml
Comments
On 13/01/2023 20:49, Hugo Villeneuve wrote: > From: Hugo Villeneuve <hvilleneuve@dimonoff.com> > > Add device tree bindings document for the Texas Instruments ADS7924 > ADC. > > Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com> > --- > .../bindings/iio/adc/ti,ads7924.yaml | 112 ++++++++++++++++++ > 1 file changed, 112 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml > > diff --git a/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml b/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml > new file mode 100644 > index 000000000000..24bbf95383b4 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml > @@ -0,0 +1,112 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/adc/ti,ads7924.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: TI ADS7924 4 channels 12 bits I2C analog to digital converter > + > +maintainers: > + - Hugo Villeneuve <hvilleneuve@dimonoff.com> > + > +description: | > + Texas Instruments ADS7924 4 channels 12 bits I2C analog to digital converter > + > + Specifications: > + https://www.ti.com/lit/gpn/ads7924 > + > +properties: > + compatible: > + const: ti,ads7924 > + > + reg: > + maxItems: 1 > + > + vref-supply: > + description: > + The regulator supply for the ADC reference voltage (AVDD) > + > + reset-gpios: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + "#io-channel-cells": > + const: 1 > + > +patternProperties: > + "^channel@[0-3]+$": > + $ref: adc.yaml > + > + description: | > + Represents the external channels which are connected to the ADC. > + > + properties: > + reg: > + description: | > + The channel number. It can have up to 4 channels numbered from 0 to 3. > + items: > + - minimum: 0 > + maximum: 3 > + > + label: > + description: | > + Unique name to identify the channel. Drop description, it's coming from adc.yaml. Just "label: true" > + > + required: > + - reg > + > + additionalProperties: false You are not allowing anything else from adc.yaml. Is it on purpose? > + > +additionalProperties: false > + > +required: > + - compatible > + - reg > + - vref-supply > + - "#address-cells" > + - "#size-cells" > + Best regards, Krzysztof
On Sun, 15 Jan 2023 15:57:21 +0100 Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > On 13/01/2023 20:49, Hugo Villeneuve wrote: > > From: Hugo Villeneuve <hvilleneuve@dimonoff.com> > > > > Add device tree bindings document for the Texas Instruments ADS7924 > > ADC. > > > > Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com> > > --- > > .../bindings/iio/adc/ti,ads7924.yaml | 112 ++++++++++++++++++ > > 1 file changed, 112 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml > > > > diff --git a/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml b/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml > > new file mode 100644 > > index 000000000000..24bbf95383b4 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml > > @@ -0,0 +1,112 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/iio/adc/ti,ads7924.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: TI ADS7924 4 channels 12 bits I2C analog to digital converter > > + > > +maintainers: > > + - Hugo Villeneuve <hvilleneuve@dimonoff.com> > > + > > +description: | > > + Texas Instruments ADS7924 4 channels 12 bits I2C analog to digital converter > > + > > + Specifications: > > + https://www.ti.com/lit/gpn/ads7924 > > + > > +properties: > > + compatible: > > + const: ti,ads7924 > > + > > + reg: > > + maxItems: 1 > > + > > + vref-supply: > > + description: > > + The regulator supply for the ADC reference voltage (AVDD) > > + > > + reset-gpios: > > + maxItems: 1 > > + > > + interrupts: > > + maxItems: 1 > > + > > + "#address-cells": > > + const: 1 > > + > > + "#size-cells": > > + const: 0 > > + > > + "#io-channel-cells": > > + const: 1 > > + > > +patternProperties: > > + "^channel@[0-3]+$": > > + $ref: adc.yaml > > + > > + description: | > > + Represents the external channels which are connected to the ADC. > > + > > + properties: > > + reg: > > + description: | > > + The channel number. It can have up to 4 channels numbered from 0 to 3. > > + items: > > + - minimum: 0 > > + maximum: 3 > > + > > + label: > > + description: | > > + Unique name to identify the channel. > > Drop description, it's coming from adc.yaml. Just "label: true" Done. > > + > > + required: > > + - reg > > + > > + additionalProperties: false > > You are not allowing anything else from adc.yaml. Is it on purpose? I am really not an expert with this Yaml stuff, and reading the documentation makes me probably more confused than before reading it :) But one thing that is for sure is that these other properties in adc.yaml are not used in my driver: bipolar diff-channels settling-time-us oversampling-ratio So is it Ok then to use "additionalProperties: false"? I think so, but what is your recommandation? Thank you, Hugo. > > + > > +additionalProperties: false > > + > > +required: > > + - compatible > > + - reg > > + - vref-supply > > + - "#address-cells" > > + - "#size-cells" > > + > > Best regards, > Krzysztof > >
On Sun, 15 Jan 2023 16:43:26 +0000 Jonathan Cameron <jic23@kernel.org> wrote: > On Sun, 15 Jan 2023 11:22:05 -0500 > Hugo Villeneuve <hugo@hugovil.com> wrote: > > > On Sun, 15 Jan 2023 15:57:21 +0100 > > Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > > > > On 13/01/2023 20:49, Hugo Villeneuve wrote: > > > > From: Hugo Villeneuve <hvilleneuve@dimonoff.com> > > > > > > > > Add device tree bindings document for the Texas Instruments ADS7924 > > > > ADC. > > > > > > > > Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com> > > > > --- > > > > .../bindings/iio/adc/ti,ads7924.yaml | 112 ++++++++++++++++++ > > > > 1 file changed, 112 insertions(+) > > > > create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml > > > > > > > > diff --git a/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml b/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml > > > > new file mode 100644 > > > > index 000000000000..24bbf95383b4 > > > > --- /dev/null > > > > +++ b/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml > > > > @@ -0,0 +1,112 @@ > > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > > > +%YAML 1.2 > > > > +--- > > > > +$id: http://devicetree.org/schemas/iio/adc/ti,ads7924.yaml# > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > > + > > > > +title: TI ADS7924 4 channels 12 bits I2C analog to digital converter > > > > + > > > > +maintainers: > > > > + - Hugo Villeneuve <hvilleneuve@dimonoff.com> > > > > + > > > > +description: | > > > > + Texas Instruments ADS7924 4 channels 12 bits I2C analog to digital converter > > > > + > > > > + Specifications: > > > > + https://www.ti.com/lit/gpn/ads7924 > > > > + > > > > +properties: > > > > + compatible: > > > > + const: ti,ads7924 > > > > + > > > > + reg: > > > > + maxItems: 1 > > > > + > > > > + vref-supply: > > > > + description: > > > > + The regulator supply for the ADC reference voltage (AVDD) > > > > + > > > > + reset-gpios: > > > > + maxItems: 1 > > > > + > > > > + interrupts: > > > > + maxItems: 1 > > > > + > > > > + "#address-cells": > > > > + const: 1 > > > > + > > > > + "#size-cells": > > > > + const: 0 > > > > + > > > > + "#io-channel-cells": > > > > + const: 1 > > > > + > > > > +patternProperties: > > > > + "^channel@[0-3]+$": > > > > + $ref: adc.yaml > > > > + > > > > + description: | > > > > + Represents the external channels which are connected to the ADC. > > > > + > > > > + properties: > > > > + reg: > > > > + description: | > > > > + The channel number. It can have up to 4 channels numbered from 0 to 3. > > > > + items: > > > > + - minimum: 0 > > > > + maximum: 3 > > > > + > > > > + label: > > > > + description: | > > > > + Unique name to identify the channel. > > > > > > Drop description, it's coming from adc.yaml. Just "label: true" > > > > Done. > > > > > > + > > > > + required: > > > > + - reg > > > > + > > > > + additionalProperties: false > > > > > > You are not allowing anything else from adc.yaml. Is it on purpose? > > > > I am really not an expert with this Yaml stuff, and reading the documentation makes me probably more confused than before reading it :) > > > > But one thing that is for sure is that these other properties in adc.yaml are not used in my driver: > > > > bipolar > > diff-channels > > settling-time-us > > oversampling-ratio > > > > So is it Ok then to use "additionalProperties: false"? I think so, but what is your recommandation? > > Makes sense to me. Whilst there are lots of things a channel can support, most > of them are hardware related and not universal. Ok, I think I am finally beginning to see the light here :) So I will then leave "additionalProperties: false". I will send a V4 soon with all the latest changes. Thank you, Hugo. > Jonathan > > > > > Thank you, > > Hugo. > > > > > > > > + > > > > +additionalProperties: false > > > > + > > > > +required: > > > > + - compatible > > > > + - reg > > > > + - vref-supply > > > > + - "#address-cells" > > > > + - "#size-cells" > > > > + > > > > > > Best regards, > > > Krzysztof > > > > > > > > > > > >
On Sun, 15 Jan 2023 11:22:05 -0500 Hugo Villeneuve <hugo@hugovil.com> wrote: > On Sun, 15 Jan 2023 15:57:21 +0100 > Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > > On 13/01/2023 20:49, Hugo Villeneuve wrote: > > > From: Hugo Villeneuve <hvilleneuve@dimonoff.com> > > > > > > Add device tree bindings document for the Texas Instruments ADS7924 > > > ADC. > > > > > > Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com> > > > --- > > > .../bindings/iio/adc/ti,ads7924.yaml | 112 ++++++++++++++++++ > > > 1 file changed, 112 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml b/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml > > > new file mode 100644 > > > index 000000000000..24bbf95383b4 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml > > > @@ -0,0 +1,112 @@ > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/iio/adc/ti,ads7924.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: TI ADS7924 4 channels 12 bits I2C analog to digital converter > > > + > > > +maintainers: > > > + - Hugo Villeneuve <hvilleneuve@dimonoff.com> > > > + > > > +description: | > > > + Texas Instruments ADS7924 4 channels 12 bits I2C analog to digital converter > > > + > > > + Specifications: > > > + https://www.ti.com/lit/gpn/ads7924 > > > + > > > +properties: > > > + compatible: > > > + const: ti,ads7924 > > > + > > > + reg: > > > + maxItems: 1 > > > + > > > + vref-supply: > > > + description: > > > + The regulator supply for the ADC reference voltage (AVDD) > > > + > > > + reset-gpios: > > > + maxItems: 1 > > > + > > > + interrupts: > > > + maxItems: 1 > > > + > > > + "#address-cells": > > > + const: 1 > > > + > > > + "#size-cells": > > > + const: 0 > > > + > > > + "#io-channel-cells": > > > + const: 1 > > > + > > > +patternProperties: > > > + "^channel@[0-3]+$": > > > + $ref: adc.yaml > > > + > > > + description: | > > > + Represents the external channels which are connected to the ADC. > > > + > > > + properties: > > > + reg: > > > + description: | > > > + The channel number. It can have up to 4 channels numbered from 0 to 3. > > > + items: > > > + - minimum: 0 > > > + maximum: 3 > > > + > > > + label: > > > + description: | > > > + Unique name to identify the channel. > > > > Drop description, it's coming from adc.yaml. Just "label: true" > > Done. > > > > + > > > + required: > > > + - reg > > > + > > > + additionalProperties: false > > > > You are not allowing anything else from adc.yaml. Is it on purpose? > > I am really not an expert with this Yaml stuff, and reading the documentation makes me probably more confused than before reading it :) > > But one thing that is for sure is that these other properties in adc.yaml are not used in my driver: > > bipolar > diff-channels > settling-time-us > oversampling-ratio > > So is it Ok then to use "additionalProperties: false"? I think so, but what is your recommandation? Makes sense to me. Whilst there are lots of things a channel can support, most of them are hardware related and not universal. Jonathan > > Thank you, > Hugo. > > > > > + > > > +additionalProperties: false > > > + > > > +required: > > > + - compatible > > > + - reg > > > + - vref-supply > > > + - "#address-cells" > > > + - "#size-cells" > > > + > > > > Best regards, > > Krzysztof > > > > > >
On 15/01/2023 17:32, Hugo Villeneuve wrote: >>>>> + required: >>>>> + - reg >>>>> + >>>>> + additionalProperties: false >>>> >>>> You are not allowing anything else from adc.yaml. Is it on purpose? >>> >>> I am really not an expert with this Yaml stuff, and reading the documentation makes me probably more confused than before reading it :) >>> >>> But one thing that is for sure is that these other properties in adc.yaml are not used in my driver: >>> >>> bipolar >>> diff-channels >>> settling-time-us >>> oversampling-ratio >>> >>> So is it Ok then to use "additionalProperties: false"? I think so, but what is your recommandation? >> >> Makes sense to me. Whilst there are lots of things a channel can support, most >> of them are hardware related and not universal. > > Ok, I think I am finally beginning to see the light here :) > > So I will then leave "additionalProperties: false". > > I will send a V4 soon with all the latest changes. > Just to clarify - we talk about hardware, not your Linux driver. What your driver uses or doesn't, should not matter here that much. Best regards, Krzysztof
On Sun, 15 Jan 2023 20:17:24 +0100 Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > On 15/01/2023 17:32, Hugo Villeneuve wrote: > >>>>> + required: > >>>>> + - reg > >>>>> + > >>>>> + additionalProperties: false > >>>> > >>>> You are not allowing anything else from adc.yaml. Is it on purpose? > >>> > >>> I am really not an expert with this Yaml stuff, and reading the documentation makes me probably more confused than before reading it :) > >>> > >>> But one thing that is for sure is that these other properties in adc.yaml are not used in my driver: > >>> > >>> bipolar > >>> diff-channels > >>> settling-time-us > >>> oversampling-ratio > >>> > >>> So is it Ok then to use "additionalProperties: false"? I think so, but what is your recommandation? > >> > >> Makes sense to me. Whilst there are lots of things a channel can support, most > >> of them are hardware related and not universal. > > > > Ok, I think I am finally beginning to see the light here :) > > > > So I will then leave "additionalProperties: false". > > > > I will send a V4 soon with all the latest changes. > > > > Just to clarify - we talk about hardware, not your Linux driver. What > your driver uses or doesn't, should not matter here that much. Hi, the following properties are definitely not supported by the hardware: bipolar diff-channels oversampling-ratio does this means that we should add these lines? bipolar: false diff-channels: false oversampling-ratio: false as for settling-time-us, I am not sure of its usage and if its related to this hardware. Hugo. > Best regards, > Krzysztof > >
On Sun, 15 Jan 2023 15:11:39 -0500 Hugo Villeneuve <hugo@hugovil.com> wrote: > On Sun, 15 Jan 2023 20:17:24 +0100 > Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > > On 15/01/2023 17:32, Hugo Villeneuve wrote: > > >>>>> + required: > > >>>>> + - reg > > >>>>> + > > >>>>> + additionalProperties: false > > >>>> > > >>>> You are not allowing anything else from adc.yaml. Is it on purpose? > > >>> > > >>> I am really not an expert with this Yaml stuff, and reading the documentation makes me probably more confused than before reading it :) > > >>> > > >>> But one thing that is for sure is that these other properties in adc.yaml are not used in my driver: > > >>> > > >>> bipolar > > >>> diff-channels > > >>> settling-time-us > > >>> oversampling-ratio > > >>> > > >>> So is it Ok then to use "additionalProperties: false"? I think so, but what is your recommandation? > > >> > > >> Makes sense to me. Whilst there are lots of things a channel can support, most > > >> of them are hardware related and not universal. > > > > > > Ok, I think I am finally beginning to see the light here :) > > > > > > So I will then leave "additionalProperties: false". > > > > > > I will send a V4 soon with all the latest changes. > > > > > > > Just to clarify - we talk about hardware, not your Linux driver. What > > your driver uses or doesn't, should not matter here that much. Indeed. The hardware does not support bipolar inputs, differential channels or oversampling ratios as all of those require specific silicon that is not in this particular device. Technically you could emulate oversampling but there is no reason to do that in kernel and no drivers do so + then it would not be a feature of the hardware anyway so wouldn't belong in DT. > > Hi, > the following properties are definitely not supported by the hardware: > bipolar > diff-channels > oversampling-ratio > > does this means that we should add these lines? > bipolar: false > diff-channels: false > oversampling-ratio: false > > as for settling-time-us, I am not sure of its usage and if its related to this hardware. That's used for devices that will delay their ADC sampling if there is a mux that is changing which pin is being internally connected to a single shared ADC. It requires hardware support, which isn't present in this device. Jonathan > > Hugo. > > > > Best regards, > > Krzysztof > > > > > >
diff --git a/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml b/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml new file mode 100644 index 000000000000..24bbf95383b4 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml @@ -0,0 +1,112 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/adc/ti,ads7924.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: TI ADS7924 4 channels 12 bits I2C analog to digital converter + +maintainers: + - Hugo Villeneuve <hvilleneuve@dimonoff.com> + +description: | + Texas Instruments ADS7924 4 channels 12 bits I2C analog to digital converter + + Specifications: + https://www.ti.com/lit/gpn/ads7924 + +properties: + compatible: + const: ti,ads7924 + + reg: + maxItems: 1 + + vref-supply: + description: + The regulator supply for the ADC reference voltage (AVDD) + + reset-gpios: + maxItems: 1 + + interrupts: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + "#io-channel-cells": + const: 1 + +patternProperties: + "^channel@[0-3]+$": + $ref: adc.yaml + + description: | + Represents the external channels which are connected to the ADC. + + properties: + reg: + description: | + The channel number. It can have up to 4 channels numbered from 0 to 3. + items: + - minimum: 0 + maximum: 3 + + label: + description: | + Unique name to identify the channel. + + required: + - reg + + additionalProperties: false + +additionalProperties: false + +required: + - compatible + - reg + - vref-supply + - "#address-cells" + - "#size-cells" + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/gpio/gpio.h> + i2c { + #address-cells = <1>; + #size-cells = <0>; + + adc@48 { + compatible = "ti,ads7924"; + reg = <0x48>; + vref-supply = <&ads7924_reg>; + reset-gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + interrupts = <25 IRQ_TYPE_EDGE_FALLING>; + interrupt-parent = <&gpio>; + #address-cells = <1>; + #size-cells = <0>; + channel@0 { + reg = <0>; + label = "CH0"; + }; + channel@1 { + reg = <1>; + label = "CH1"; + }; + channel@2 { + reg = <2>; + label = "CH2"; + }; + channel@3 { + reg = <3>; + label = "CH3"; + }; + }; + }; +...