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

From: alexandru.tachici
Date: Thu Feb 04 2021 - 04:11:45 EST


From: Alexandru Tachici <alexandru.tachici@xxxxxxxxxx>

Document use of configurations in device-tree bindings.

Signed-off-by: Alexandru Tachici <alexandru.tachici@xxxxxxxxxx>
---
.../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.

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

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>;
};
};
};
--
2.20.1