Message ID | 20231116134655.21052-1-user@HYB-hhAwRlzzMZb |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp3219859vqg; Thu, 16 Nov 2023 05:47:12 -0800 (PST) X-Google-Smtp-Source: AGHT+IG8wNHsNEKnEYomqV7pJdkYzL+3dfce+HrcfV5vcksOadee2nuEXPMCXo9aM3vvQgN36dd+ X-Received: by 2002:a05:6a20:549a:b0:187:f23d:f9f2 with SMTP id i26-20020a056a20549a00b00187f23df9f2mr58337pzk.58.1700142432717; Thu, 16 Nov 2023 05:47:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700142432; cv=none; d=google.com; s=arc-20160816; b=DsPkLDGa9ufh3HwHVT0ZIdVSRbuGlV1iH4SATHcyAQPrkXrLqIQCKky93M8Lrc/8aD K4f8eJ4I8GXdGZ10VC2nPPYf+2umPD497coqUMfBqmMnnyE+PcKMi0pbQk9Kr/0dAEdS /9fXL2IP3bmyWF5wJi0iY6WscdRN4/wHPhi9D8yPZ4fliD7R3ZwZQOt/vD1MZ+3/94t0 eOXeDPzVqbiZL1zqpvRLxEo7U38Xu+dnl6b2kaHizPVFU2uDB84nZvcAysdRDbuagftP 7EJ5Kx8jNKQkhgaYV+8VEMSRHPshiSoNa/+zTLfoIz8jNf40MSL37fNLxHW7kXtbxtDJ Gmsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:content-transfer-encoding:mime-version :message-id:date:subject:cc:from:dkim-signature; bh=4riDUNHReIjba9jNFgLy2y8ooHDaaaBbqxL4CyG3VrQ=; fh=Y97aD2gkXRBpjqxU9xmUAl3BetodY8eGXp8ur3XCwyo=; b=MAZQyyNSxC7Yh1/QBtgO1R0zDEUp94Z/Vi2zE96J9FIV3YiZ2dD+DP1D0KdvhqndXA eAJDGV6QLqbb/WQF3XXzLXpIV4RbnL1PfvzmVp+/iDQoj0tBQyZk7ZNgPpNpxVHZNYUc xqDoXf03nfAOHj/PL6VvaTrlD30X/9vdqHh2h233Ux/gEnl1P86UELfyEx/8VH1Ej5e7 g7CATIut1DYMOwVDyLFKPyr3/C2VScHdYj1pAoor/2dOiQF/u4E89EvPpvRg4hRSB3um aIvgkRkWNwg1NOY8VdAZ4nLKtHWZenm9gnhmYTUDlFvfL8PX3at9JKU2ds25O+u7auuS b4Pw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20230601 header.b=MimALJQB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id lk8-20020a17090308c800b001cc6529c7besi13104099plb.88.2023.11.16.05.47.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Nov 2023 05:47:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20230601 header.b=MimALJQB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id EA824820DA1E; Thu, 16 Nov 2023 05:47:11 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345255AbjKPNrH (ORCPT <rfc822;jaysivo@gmail.com> + 30 others); Thu, 16 Nov 2023 08:47:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33446 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231130AbjKPNrF (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Thu, 16 Nov 2023 08:47:05 -0500 Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E710419D; Thu, 16 Nov 2023 05:47:00 -0800 (PST) Received: by mail-lf1-x135.google.com with SMTP id 2adb3069b0e04-507bd19eac8so1065887e87.0; Thu, 16 Nov 2023 05:47:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700142419; x=1700747219; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=4riDUNHReIjba9jNFgLy2y8ooHDaaaBbqxL4CyG3VrQ=; b=MimALJQBksQ7NPyZHU9nhDmLvep4M9MfIidiPBWuVUdopqzLF36NUHyIKaO8IsrMUG U8Sp6Me5k1RNLkshbKnygBGZXn8W9mXuwXWyZYoSbc9ibpmLdZmhbwPWOLPTH6n9LB3J 60DBa4SMq8XCeU9UDTmMfGQtlO8cBEJ3FpCNc3LRY8m0EHyEEXOLJT8nmp/rqpj6wubC pm1xFoXyeTCum6TwZPgKA2s1BQdCoVlJ5QLECTF3qi6vUP6xFI/0HoI1pCrTiztSigON +P8DmC1ySRQ0wF+/XIqaXFtcsO0vnAVQQs+vqZ9MqQy467sl/0JciRAdyuY/mdveM3BX 7bJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700142419; x=1700747219; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4riDUNHReIjba9jNFgLy2y8ooHDaaaBbqxL4CyG3VrQ=; b=YidV1e281O4AgBF4uHTFVH8fEFejfR/zcaf1zTen6F7DYIPRqA9If0od9zdOkYnED9 VWN+wPZWZsnHcK52VOvPKpCyFjtxiC9TihWpbj5hZscdPWAbuP6+iONugBVVjGgsjn/k O0L3mYPW4B5m7fKY668PS9qwjDMQwL6WEiWrnMJibUGRtc8g39EuXCv2z3tbkEStTSIm bAOnY+7K7f4WDb2C2c9bHGaFtTlaBiwrDAgyX8mSK5gG0j1IGZ+ix6dkIQkRPZ9r7eeE XvITZdH1IWRBvUo6umSasQIEHndyBK3Bja1dlF6DuzA7dUQ929oLePpn7xHwHgo6zknT 6uUA== X-Gm-Message-State: AOJu0YzbU4hzRfkEi9rOc6a89t3/VuOHgdMiyX8sMVwOdrwIBVh/e3g/ JxNEYVtJx/3Lth4HgxBkk00= X-Received: by 2002:a19:f808:0:b0:500:9a45:63b with SMTP id a8-20020a19f808000000b005009a45063bmr11482079lff.13.1700142418660; Thu, 16 Nov 2023 05:46:58 -0800 (PST) Received: from HYB-hhAwRlzzMZb.ad.analog.com ([5.2.194.157]) by smtp.gmail.com with ESMTPSA id ov3-20020a170906fc0300b00977cad140a8sm8467005ejb.218.2023.11.16.05.46.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Nov 2023 05:46:58 -0800 (PST) From: mitrutzceclan <mitrutzceclan@gmail.com> X-Google-Original-From: mitrutzceclan <CeclanDumitru> Cc: linus.walleij@linaro.org, brgl@bgdev.pl, andy@kernel.org, linux-gpio@vger.kernel.org, Lars-Peter Clausen <lars@metafoo.de>, Jonathan Cameron <jic23@kernel.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, Michael Walle <michael@walle.cc>, Andy Shevchenko <andy.shevchenko@gmail.com>, Arnd Bergmann <arnd@arndb.de>, ChiaEn Wu <chiaen_wu@richtek.com>, Niklas Schnelle <schnelle@linux.ibm.com>, =?utf-8?q?Leonard_G=C3=B6hrs?= <l.goehrs@pengutronix.de>, Mike Looijmans <mike.looijmans@topic.nl>, Haibo Chen <haibo.chen@nxp.com>, Hugo Villeneuve <hvilleneuve@dimonoff.com>, Ceclan Dumitru <dumitru.ceclan@analog.com>, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Dumitru Ceclan <mitrutzceclan@gmail.com>, Conor Dooley <conor.dooley@microchip.com> Subject: [PATCH v4 1/2] dt-bindings: adc: add AD7173 Date: Thu, 16 Nov 2023 15:46:54 +0200 Message-ID: <20231116134655.21052-1-user@HYB-hhAwRlzzMZb> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 16 Nov 2023 05:47:12 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782728551414899705 X-GMAIL-MSGID: 1782728551414899705 |
Series |
[v4,1/2] dt-bindings: adc: add AD7173
|
|
Commit Message
Ceclan, Dumitru
Nov. 16, 2023, 1:46 p.m. UTC
From: Dumitru Ceclan <mitrutzceclan@gmail.com> The AD7173 family offer a complete integrated Sigma-Delta ADC solution which can be used in high precision, low noise single channel applications or higher speed multiplexed applications. The Sigma-Delta ADC is intended primarily for measurement of signals close to DC but also delivers outstanding performance with input bandwidths out to ~10kHz. Reviewed-by: Conor Dooley <conor.dooley@microchip.com> # except reference_select Signed-off-by: Dumitru Ceclan <mitrutzceclan@gmail.com> --- V3 -> V4 - include supply attributes - add channel attribute for selecting conversion reference .../bindings/iio/adc/adi,ad7173.yaml | 166 ++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml
Comments
On Thu, 16 Nov 2023 15:46:54 +0200, mitrutzceclan wrote: > From: Dumitru Ceclan <mitrutzceclan@gmail.com> > > The AD7173 family offer a complete integrated Sigma-Delta ADC solution > which can be used in high precision, low noise single channel applications > or higher speed multiplexed applications. The Sigma-Delta ADC is intended > primarily for measurement of signals close to DC but also delivers > outstanding performance with input bandwidths out to ~10kHz. > > Reviewed-by: Conor Dooley <conor.dooley@microchip.com> # except reference_select > Signed-off-by: Dumitru Ceclan <mitrutzceclan@gmail.com> > --- > V3 -> V4 > - include supply attributes > - add channel attribute for selecting conversion reference > > .../bindings/iio/adc/adi,ad7173.yaml | 166 ++++++++++++++++++ > 1 file changed, 166 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: ./Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml:109:10: [error] empty value in block mapping (empty-values) dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: properties:required: ['compatible', 'reg', 'interrupts'] is not of type 'object', 'boolean' from schema $id: http://json-schema.org/draft-07/schema# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: allOf:1:then: None is not of type 'object', 'boolean' from schema $id: http://json-schema.org/draft-07/schema# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: allOf:1:else:patternProperties:^channel@[0-9a-f]$:properties:enum: [0, 2, 3] is not of type 'object', 'boolean' from schema $id: http://json-schema.org/draft-07/schema# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: allOf:1:else:patternProperties:^channel@[0-9a-f]$:properties: 'enum' should not be valid under {'$ref': '#/definitions/json-schema-prop-names'} hint: A json-schema keyword was found instead of a DT property name. from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: allOf:1:else:patternProperties:^channel@[0-9a-f]$:properties:enum: [0, 2, 3] is not of type 'object', 'boolean' from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: properties: 'dependencies' should not be valid under {'$ref': '#/definitions/json-schema-prop-names'} hint: A json-schema keyword was found instead of a DT property name. from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: properties: 'required' should not be valid under {'$ref': '#/definitions/json-schema-prop-names'} hint: A json-schema keyword was found instead of a DT property name. from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: properties:dependencies: 'anyOf' conditional failed, one must be fixed: 'refin2-supply' is not one of ['$ref', 'additionalItems', 'additionalProperties', 'allOf', 'anyOf', 'const', 'contains', 'default', 'dependencies', 'dependentRequired', 'dependentSchemas', 'deprecated', 'description', 'else', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'items', 'if', 'minItems', 'minimum', 'maxItems', 'maximum', 'multipleOf', 'not', 'oneOf', 'pattern', 'patternProperties', 'properties', 'required', 'then', 'typeSize', 'unevaluatedProperties', 'uniqueItems'] 'type' was expected from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: properties:required: ['compatible', 'reg', 'interrupts'] is not of type 'object', 'boolean' from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: dependencies: missing type definition Traceback (most recent call last): File "/usr/local/bin/dt-validate", line 8, in <module> sys.exit(main()) ^^^^^^ File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 144, in main sg.check_dtb(filename) File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 89, in check_dtb self.check_subtree(dt, subtree, False, "/", "/", filename) File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 82, in check_subtree self.check_subtree(tree, value, disabled, name, fullname + name, filename) File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 82, in check_subtree self.check_subtree(tree, value, disabled, name, fullname + name, filename) File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 82, in check_subtree self.check_subtree(tree, value, disabled, name, fullname + name, filename) File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 77, in check_subtree self.check_node(tree, subtree, disabled, nodename, fullname, filename) File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 33, in check_node for error in self.validator.iter_errors(node, filter=match_schema_file): File "/usr/local/lib/python3.11/dist-packages/dtschema/validator.py", line 393, in iter_errors for error in self.DtValidator(sch, File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 288, in iter_errors for error in errors: File "/usr/local/lib/python3.11/dist-packages/jsonschema/_validators.py", line 414, in if_ yield from validator.descend(instance, then, schema_path="then") File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 305, in descend for error in self.evolve(schema=schema).iter_errors(instance): File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 288, in iter_errors for error in errors: File "/usr/local/lib/python3.11/dist-packages/jsonschema/_validators.py", line 362, in allOf yield from validator.descend(instance, subschema, schema_path=index) File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 305, in descend for error in self.evolve(schema=schema).iter_errors(instance): File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 288, in iter_errors for error in errors: File "/usr/local/lib/python3.11/dist-packages/jsonschema/_validators.py", line 414, in if_ yield from validator.descend(instance, then, schema_path="then") File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 305, in descend for error in self.evolve(schema=schema).iter_errors(instance): ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 239, in evolve NewValidator = validator_for(schema, default=cls) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 1148, in validator_for if schema is True or schema is False or "$schema" not in schema: ^^^^^^^^^^^^^^^^^^^^^^^ TypeError: argument of type 'NoneType' is not iterable doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20231116134655.21052-1-user@HYB-hhAwRlzzMZb The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On 16/11/2023 14:46, mitrutzceclan wrote: > From: Dumitru Ceclan <mitrutzceclan@gmail.com> > > The AD7173 family offer a complete integrated Sigma-Delta ADC solution > which can be used in high precision, low noise single channel applications > or higher speed multiplexed applications. The Sigma-Delta ADC is intended > primarily for measurement of signals close to DC but also delivers > outstanding performance with input bandwidths out to ~10kHz. > > Reviewed-by: Conor Dooley <conor.dooley@microchip.com> # except reference_select Please drop the tag. You clearly did not test it, so it must be re-reviewed. Do not send code which was not tested. > Signed-off-by: Dumitru Ceclan <mitrutzceclan@gmail.com> > --- > V3 -> V4 > - include supply attributes > - add channel attribute for selecting conversion reference > > .../bindings/iio/adc/adi,ad7173.yaml | 166 ++++++++++++++++++ > 1 file changed, 166 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml > new file mode 100644 > index 000000000000..92aa352b6653 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml > @@ -0,0 +1,166 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +# Copyright 2023 Analog Devices Inc. > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/adc/adi,ad7173.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Analog Devices AD7173 ADC device driver Drop: device driver Bindings are for hardware. > + > +maintainers: > + - Ceclan Dumitru <dumitru.ceclan@analog.com> > + > +description: | > + Bindings for the Analog Devices AD717X ADC's. Datasheets for supported chips: > + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7172-2.pdf > + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7173-8.pdf > + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7175-2.pdf > + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7176-2.pdf > + > +properties: > + compatible: > + enum: > + - adi,ad7172-2 > + - adi,ad7173-8 > + - adi,ad7175-2 > + - adi,ad7176-2 > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 > + > + spi-max-frequency: > + maximum: 20000000 > + > + refin-supply: > + description: external reference supply, can be used as reference for conversion. > + > + refin2-supply: > + description: external reference supply, can be used as reference for conversion. > + > + avdd-supply: > + description: avdd supply, can be used as reference for conversion. > + > + dependencies: Nope, needs testing... See also example-schema. > + refin2-supply: > + properties: > + compatible: > + adi,ad7173-8 > + > + required: Please open example schema and put it in similar place. > + - compatible > + - reg > + - interrupts > + > +patternProperties: > + "^channel@[0-9a-f]$": > + type: object > + $ref: adc.yaml > + unevaluatedProperties: false > + > + properties: > + reg: > + minimum: 0 > + maximum: 15 > + > + diff-channels: > + items: > + minimum: 0 > + maximum: 31 > + > + adi,reference-select: > + description: | > + Select the reference source to use when converting on > + the specific channel. Valid values are: > + 0: REFIN(+)/REFIN(−). > + 1: REFIN2(+)/REFIN2(−) > + 2: REFOUT/AVSS (Internal reference) > + 3: AVDD > + > + External reference 2 only available on ad7173-8. > + If not specified, internal reference used. > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1, 2, 3] > + default: 2 > + > + bipolar: > + type: boolean > + > + required: > + - reg > + - diff-channels > + > +allOf: > + - $ref: /schemas/spi/spi-peripheral-props.yaml# > + > + - if: > + properties: > + compatible: > + contains: > + const: adi,ad7173-8 > + then: ??? Maybe you want to use "not"? > + else: > + patternProperties: > + "^channel@[0-9a-f]$": > + properties: > + enum: [0, 2, 3] > + > +unevaluatedProperties: false > + Best regards, Krzysztof
On Thu, Nov 16, 2023 at 03:54:13PM +0100, Krzysztof Kozlowski wrote: > On 16/11/2023 14:46, mitrutzceclan wrote: > > From: Dumitru Ceclan <mitrutzceclan@gmail.com> > > > > The AD7173 family offer a complete integrated Sigma-Delta ADC solution > > which can be used in high precision, low noise single channel applications > > or higher speed multiplexed applications. The Sigma-Delta ADC is intended > > primarily for measurement of signals close to DC but also delivers > > outstanding performance with input bandwidths out to ~10kHz. > > > > Reviewed-by: Conor Dooley <conor.dooley@microchip.com> # except reference_select > > Please drop the tag. You clearly did not test it, so it must be > re-reviewed. Do not send code which was not tested. yeah, this is vastly different from what I reviewed. I suppose if someone finds it necessary to add a "# except foo" to the end of a tag it is very good signifier that the tag should in fact be removed. > > > Signed-off-by: Dumitru Ceclan <mitrutzceclan@gmail.com> > > --- > > V3 -> V4 > > - include supply attributes > > - add channel attribute for selecting conversion reference > > > > .../bindings/iio/adc/adi,ad7173.yaml | 166 ++++++++++++++++++ > > 1 file changed, 166 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml > > > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml > > new file mode 100644 > > index 000000000000..92aa352b6653 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml > > @@ -0,0 +1,166 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > +# Copyright 2023 Analog Devices Inc. > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/iio/adc/adi,ad7173.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Analog Devices AD7173 ADC device driver > > Drop: device driver > > Bindings are for hardware. > > > + > > +maintainers: > > + - Ceclan Dumitru <dumitru.ceclan@analog.com> > > + > > +description: | > > + Bindings for the Analog Devices AD717X ADC's. Datasheets for supported chips: > > + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7172-2.pdf > > + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7173-8.pdf > > + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7175-2.pdf > > + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7176-2.pdf > > + > > +properties: > > + compatible: > > + enum: > > + - adi,ad7172-2 > > + - adi,ad7173-8 > > + - adi,ad7175-2 > > + - adi,ad7176-2 > > + > > + reg: > > + maxItems: 1 > > + > > + interrupts: > > + maxItems: 1 > > + > > + '#address-cells': > > + const: 1 > > + > > + '#size-cells': > > + const: 0 > > + > > + spi-max-frequency: > > + maximum: 20000000 > > + > > + refin-supply: > > + description: external reference supply, can be used as reference for conversion. > > + > > + refin2-supply: > > + description: external reference supply, can be used as reference for conversion. > > + > > + avdd-supply: > > + description: avdd supply, can be used as reference for conversion. > > + > > + dependencies: > > Nope, needs testing... See also example-schema. > > > > + refin2-supply: > > + properties: > > + compatible: > > + adi,ad7173-8 > > + > > + required: > > Please open example schema and put it in similar place. > > > + - compatible > > + - reg > > + - interrupts > > + > > +patternProperties: > > + "^channel@[0-9a-f]$": > > + type: object > > + $ref: adc.yaml > > + unevaluatedProperties: false > > + > > + properties: > > + reg: > > + minimum: 0 > > + maximum: 15 > > + > > + diff-channels: > > + items: > > + minimum: 0 > > + maximum: 31 > > + > > + adi,reference-select: > > + description: | > > + Select the reference source to use when converting on > > + the specific channel. Valid values are: > > + 0: REFIN(+)/REFIN(−). > > + 1: REFIN2(+)/REFIN2(−) > > + 2: REFOUT/AVSS (Internal reference) > > + 3: AVDD > > + > > + External reference 2 only available on ad7173-8. > > + If not specified, internal reference used. > > + $ref: /schemas/types.yaml#/definitions/uint32 > > + enum: [0, 1, 2, 3] > > + default: 2 I really don't like these properties where integers are mapped to functionalities like this. I'd much rather see a enum of strings where the meaning for these things can be put in & there's no need to look up the binding to figure out what "adi,reference-select = <3>" means. For example having "refin", "refin2", "refout-avss" & "avdd" as the options and therefore "adi,reference-select = "avdd" in a devicetree is a lot more understandable IMO. Cheers, Conor. > > + > > + bipolar: > > + type: boolean > > + > > + required: > > + - reg > > + - diff-channels > > + > > +allOf: > > + - $ref: /schemas/spi/spi-peripheral-props.yaml# > > + > > + - if: > > + properties: > > + compatible: > > + contains: > > + const: adi,ad7173-8 > > + then: > > ??? Maybe you want to use "not"? > > > + else: > > > + patternProperties: > > + "^channel@[0-9a-f]$": > > + properties: > > + enum: [0, 2, 3] > > + > > +unevaluatedProperties: false > > + > > Best regards, > Krzysztof >
Hi Dumitru, kernel test robot noticed the following build warnings: [auto build test WARNING on jic23-iio/togreg] [also build test WARNING on linus/master v6.7-rc1 next-20231117] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/mitrutzceclan/iio-adc-ad7173-add-AD7173-driver/20231116-214919 base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg patch link: https://lore.kernel.org/r/20231116134655.21052-1-user%40HYB-hhAwRlzzMZb patch subject: [PATCH v4 1/2] dt-bindings: adc: add AD7173 compiler: loongarch64-linux-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20231117/202311172002.BPSsTFRY-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <yujie.liu@intel.com> | Closes: https://lore.kernel.org/r/202311172002.BPSsTFRY-lkp@intel.com/ dtcheck warnings: (new ones prefixed by >>) >> Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml:109:10: [error] empty value in block mapping (empty-values) -- >> Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: properties:required: ['compatible', 'reg', 'interrupts'] is not of type 'object', 'boolean' from schema $id: http://json-schema.org/draft-07/schema# >> Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: allOf:1:then: None is not of type 'object', 'boolean' from schema $id: http://json-schema.org/draft-07/schema# >> Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: allOf:1:else:patternProperties:^channel@[0-9a-f]$:properties:enum: [0, 2, 3] is not of type 'object', 'boolean' from schema $id: http://json-schema.org/draft-07/schema# >> Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: allOf:1:else:patternProperties:^channel@[0-9a-f]$:properties: 'enum' should not be valid under {'$ref': '#/definitions/json-schema-prop-names'} hint: A json-schema keyword was found instead of a DT property name. from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# >> Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: allOf:1:else:patternProperties:^channel@[0-9a-f]$:properties:enum: [0, 2, 3] is not of type 'object', 'boolean' from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# >> Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: properties: 'dependencies' should not be valid under {'$ref': '#/definitions/json-schema-prop-names'} hint: A json-schema keyword was found instead of a DT property name. from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# >> Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: properties: 'required' should not be valid under {'$ref': '#/definitions/json-schema-prop-names'} hint: A json-schema keyword was found instead of a DT property name. from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# >> Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: properties:dependencies: 'anyOf' conditional failed, one must be fixed: 'refin2-supply' is not one of ['$ref', 'additionalItems', 'additionalProperties', 'allOf', 'anyOf', 'const', 'contains', 'default', 'dependencies', 'dependentRequired', 'dependentSchemas', 'deprecated', 'description', 'else', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'items', 'if', 'minItems', 'minimum', 'maxItems', 'maximum', 'multipleOf', 'not', 'oneOf', 'pattern', 'patternProperties', 'properties', 'required', 'then', 'typeSize', 'unevaluatedProperties', 'uniqueItems'] 'type' was expected from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# >> Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: properties:required: ['compatible', 'reg', 'interrupts'] is not of type 'object', 'boolean' from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# -- /usr/local/lib/python3.11/dist-packages/dtschema/schemas/reserved-memory/framebuffer.yaml: warning: ignoring duplicate '$id' value 'http://devicetree.org/schemas/reserved-memory/framebuffer.yaml#' /usr/local/lib/python3.11/dist-packages/dtschema/schemas/reserved-memory/memory-region.yaml: warning: ignoring duplicate '$id' value 'http://devicetree.org/schemas/reserved-memory/memory-region.yaml#' /usr/local/lib/python3.11/dist-packages/dtschema/schemas/reserved-memory/reserved-memory.yaml: warning: ignoring duplicate '$id' value 'http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml#' /usr/local/lib/python3.11/dist-packages/dtschema/schemas/reserved-memory/shared-dma-pool.yaml: warning: ignoring duplicate '$id' value 'http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml#' Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml: i2c-alias: missing type definition >> Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml: dependencies: missing type definition Documentation/devicetree/bindings/sound/audio-graph.yaml: convert-sample-format: missing type definition Documentation/devicetree/bindings/serial/8250_omap.yaml: rs485-rts-active-high: missing type definition Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml: dual-lvds-odd-pixels: missing type definition Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml: dual-lvds-even-pixels: missing type definition vim +109 Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 @1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 2 # Copyright 2023 Analog Devices Inc. 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 3 %YAML 1.2 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 4 --- 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 5 $id: http://devicetree.org/schemas/iio/adc/adi,ad7173.yaml# 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 7 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 8 title: Analog Devices AD7173 ADC device driver 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 9 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 10 maintainers: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 11 - Ceclan Dumitru <dumitru.ceclan@analog.com> 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 12 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 13 description: | 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 14 Bindings for the Analog Devices AD717X ADC's. Datasheets for supported chips: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 15 https://www.analog.com/media/en/technical-documentation/data-sheets/AD7172-2.pdf 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 16 https://www.analog.com/media/en/technical-documentation/data-sheets/AD7173-8.pdf 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 17 https://www.analog.com/media/en/technical-documentation/data-sheets/AD7175-2.pdf 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 18 https://www.analog.com/media/en/technical-documentation/data-sheets/AD7176-2.pdf 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 19 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 20 properties: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 21 compatible: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 22 enum: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 23 - adi,ad7172-2 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 24 - adi,ad7173-8 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 25 - adi,ad7175-2 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 26 - adi,ad7176-2 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 27 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 28 reg: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 29 maxItems: 1 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 30 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 31 interrupts: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 32 maxItems: 1 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 33 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 34 '#address-cells': 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 35 const: 1 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 36 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 37 '#size-cells': 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 38 const: 0 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 39 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 40 spi-max-frequency: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 41 maximum: 20000000 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 42 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 43 refin-supply: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 44 description: external reference supply, can be used as reference for conversion. 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 45 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 46 refin2-supply: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 47 description: external reference supply, can be used as reference for conversion. 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 48 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 49 avdd-supply: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 50 description: avdd supply, can be used as reference for conversion. 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 51 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 52 dependencies: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 53 refin2-supply: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 54 properties: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 55 compatible: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 56 adi,ad7173-8 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 57 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 58 required: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 59 - compatible 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 60 - reg 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 61 - interrupts 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 62 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 63 patternProperties: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 64 "^channel@[0-9a-f]$": 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 65 type: object 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 66 $ref: adc.yaml 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 67 unevaluatedProperties: false 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 68 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 69 properties: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 70 reg: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 71 minimum: 0 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 72 maximum: 15 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 73 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 74 diff-channels: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 75 items: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 76 minimum: 0 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 77 maximum: 31 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 78 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 79 adi,reference-select: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 80 description: | 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 81 Select the reference source to use when converting on 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 82 the specific channel. Valid values are: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 83 0: REFIN(+)/REFIN(−). 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 84 1: REFIN2(+)/REFIN2(−) 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 85 2: REFOUT/AVSS (Internal reference) 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 86 3: AVDD 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 87 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 88 External reference 2 only available on ad7173-8. 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 89 If not specified, internal reference used. 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 90 $ref: /schemas/types.yaml#/definitions/uint32 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 91 enum: [0, 1, 2, 3] 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 92 default: 2 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 93 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 94 bipolar: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 95 type: boolean 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 96 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 97 required: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 98 - reg 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 99 - diff-channels 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 100 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 101 allOf: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 102 - $ref: /schemas/spi/spi-peripheral-props.yaml# 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 103 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 104 - if: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 105 properties: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 106 compatible: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 107 contains: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 108 const: adi,ad7173-8 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 @109 then: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 110 else: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 111 patternProperties: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 112 "^channel@[0-9a-f]$": 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 113 properties: 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 114 enum: [0, 2, 3] 6817f96dd6ee22 Dumitru Ceclan 2023-11-16 115
diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml new file mode 100644 index 000000000000..92aa352b6653 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml @@ -0,0 +1,166 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright 2023 Analog Devices Inc. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/adc/adi,ad7173.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices AD7173 ADC device driver + +maintainers: + - Ceclan Dumitru <dumitru.ceclan@analog.com> + +description: | + Bindings for the Analog Devices AD717X ADC's. Datasheets for supported chips: + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7172-2.pdf + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7173-8.pdf + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7175-2.pdf + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7176-2.pdf + +properties: + compatible: + enum: + - adi,ad7172-2 + - adi,ad7173-8 + - adi,ad7175-2 + - adi,ad7176-2 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + spi-max-frequency: + maximum: 20000000 + + refin-supply: + description: external reference supply, can be used as reference for conversion. + + refin2-supply: + description: external reference supply, can be used as reference for conversion. + + avdd-supply: + description: avdd supply, can be used as reference for conversion. + + dependencies: + refin2-supply: + properties: + compatible: + adi,ad7173-8 + + required: + - compatible + - reg + - interrupts + +patternProperties: + "^channel@[0-9a-f]$": + type: object + $ref: adc.yaml + unevaluatedProperties: false + + properties: + reg: + minimum: 0 + maximum: 15 + + diff-channels: + items: + minimum: 0 + maximum: 31 + + adi,reference-select: + description: | + Select the reference source to use when converting on + the specific channel. Valid values are: + 0: REFIN(+)/REFIN(−). + 1: REFIN2(+)/REFIN2(−) + 2: REFOUT/AVSS (Internal reference) + 3: AVDD + + External reference 2 only available on ad7173-8. + If not specified, internal reference used. + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [0, 1, 2, 3] + default: 2 + + bipolar: + type: boolean + + required: + - reg + - diff-channels + +allOf: + - $ref: /schemas/spi/spi-peripheral-props.yaml# + + - if: + properties: + compatible: + contains: + const: adi,ad7173-8 + then: + else: + patternProperties: + "^channel@[0-9a-f]$": + properties: + enum: [0, 2, 3] + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/interrupt-controller/irq.h> + + spi { + #address-cells = <1>; + #size-cells = <0>; + + adc@0 { + compatible = "adi,ad7173-8"; + reg = <0>; + + #address-cells = <1>; + #size-cells = <0>; + + interrupts = <25 IRQ_TYPE_EDGE_FALLING>; + interrupt-parent = <&gpio>; + spi-max-frequency = <5000000>; + + channel@0 { + reg = <0>; + bipolar; + diff-channels = <0 1>; + }; + + channel@1 { + reg = <1>; + diff-channels = <2 3>; + }; + + channel@2 { + reg = <2>; + bipolar; + diff-channels = <4 5>; + }; + + channel@3 { + reg = <3>; + bipolar; + diff-channels = <6 7>; + }; + + channel@4 { + reg = <4>; + diff-channels = <8 9>; + }; + }; + };