Message ID | 20231116134655.21052-1-user@HYB-hhAwRlzzMZb (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v4,1/2] dt-bindings: adc: add AD7173 | expand |
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>; + }; + }; + };