Re: [PATCH v2 2/2] dt-bindings: iio: adc: ad7124: add config nodes

From: Jonathan Cameron
Date: Sat Feb 06 2021 - 10:27:55 EST


On Thu, 4 Feb 2021 13:35:51 +0200
<alexandru.tachici@xxxxxxxxxx> wrote:

> From: Alexandru Tachici <alexandru.tachici@xxxxxxxxxx>
>
> Document use of configurations in device-tree bindings.
>
> Signed-off-by: Alexandru Tachici <alexandru.tachici@xxxxxxxxxx>

Ignoring discussing in my reply to the cover letter...

This is a breaking change as described. We can't move properties
around without some sort of fullback for them being in the old
location.

> ---
> .../bindings/iio/adc/adi,ad7124.yaml | 72 +++++++++++++++----
> 1 file changed, 57 insertions(+), 15 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
> index fb3d0dae9bae..330064461d0a 100644
> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
> @@ -62,20 +62,19 @@ required:
> - interrupts
>
> patternProperties:
> - "^channel@([0-9]|1[0-5])$":
> - $ref: "adc.yaml"
> + "^config@(2[0-7])$":
> type: object
> description: |
> - Represents the external channels which are connected to the ADC.
> + Represents a channel configuration.
> + See Documentation/devicetree/bindings/iio/adc/adc.txt.

adc.yaml now.


>
> properties:
> reg:
> description: |
> - The channel number. It can have up to 8 channels on ad7124-4
> - and 16 channels on ad7124-8, numbered from 0 to 15.
> + The config number. It can have up to 8 configuration.
> items:
> - minimum: 0
> - maximum: 15
> + minimum: 20
> + maximum: 27

Number then 0-7 please rather than 20-27.

>
> adi,reference-select:
> description: |
> @@ -88,8 +87,6 @@ patternProperties:
> $ref: /schemas/types.yaml#/definitions/uint32
> enum: [0, 1, 3]
>
> - diff-channels: true
> -
> bipolar: true
>
> adi,buffered-positive:
> @@ -100,6 +97,35 @@ patternProperties:
> description: Enable buffered mode for negative input.
> type: boolean
>
> + additionalProperties: false
> +
> + "^channel@([0-9]|1[0-5])$":
> + type: object
> + description: |
> + Represents the external channels which are connected to the ADC.
> + See Documentation/devicetree/bindings/iio/adc/adc.txt.
> +
> + properties:
> + reg:
> + description: |
> + The channel number. It can have up to 8 channels on ad7124-4
> + and 16 channels on ad7124-8, numbered from 0 to 15.
> + items:
> + minimum: 0
> + maximum: 15
> +
> + diff-channels: true
> +
> + adi,configuration:
> + description: |
> + The devices has 8 configuration and ad7124-8 support up to 16 unipolar channels.
> + Each channel can be assigned one configuration. Some channels will be sharing the
> + same configuration.
> + allOf:
> + - $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 20
> + maximum: 27
> +
> required:
> - reg
> - diff-channels
> @@ -127,30 +153,46 @@ examples:
> #address-cells = <1>;
> #size-cells = <0>;
>
> - channel@0 {
> - reg = <0>;
> - diff-channels = <0 1>;
> + config@20 {
> + reg = <20>;
> adi,reference-select = <0>;
> adi,buffered-positive;
> };
>
> - channel@1 {
> - reg = <1>;
> + config@21 {
> + reg = <21>;
> bipolar;
> - diff-channels = <2 3>;
> adi,reference-select = <0>;
> adi,buffered-positive;
> adi,buffered-negative;
> };
>
> + config@22 {
> + reg = <22>;
> + };
> +
> + channel@0 {
> + reg = <0>;
> + diff-channels = <0 1>;
> + adi,configuration = <20>;
> + };
> +
> + channel@1 {
> + reg = <1>;
> + diff-channels = <2 3>;
> + adi,configuration = <21>;
> + };
> +
> channel@2 {
> reg = <2>;
> diff-channels = <4 5>;
> + adi,configuration = <22>;
> };
>
> channel@3 {
> reg = <3>;
> diff-channels = <6 7>;
> + adi,configuration = <22>;
> };
> };
> };