[PATCH v2 1/2] dt-bindings: iio: adc: adding dt-bindings for PAC193X

From: marius.cristea
Date: Wed Oct 25 2023 - 09:44:41 EST


From: Marius Cristea <marius.cristea@xxxxxxxxxxxxx>

This is the device tree schema for iio driver for
Microchip PAC193X series of Power Monitors with Accumulator.

Signed-off-by: Marius Cristea <marius.cristea@xxxxxxxxxxxxx>
---
.../bindings/iio/adc/microchip,pac1934.yaml | 146 ++++++++++++++++++
1 file changed, 146 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/microchip,pac1934.yaml

diff --git a/Documentation/devicetree/bindings/iio/adc/microchip,pac1934.yaml b/Documentation/devicetree/bindings/iio/adc/microchip,pac1934.yaml
new file mode 100644
index 000000000000..837053ed8a71
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/microchip,pac1934.yaml
@@ -0,0 +1,146 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/microchip,pac1934.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Microchip PAC1934 Power Monitors with Accumulator
+
+maintainers:
+ - Marius Cristea <marius.cristea@xxxxxxxxxxxxx>
+
+description: |
+ Bindings for the Microchip family of Power Monitors with Accumulator.
+ The datasheet for PAC1931, PAC1932, PAC1933 and PAC1934 can be found here:
+ https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/PAC1931-Family-Data-Sheet-DS20005850E.pdf
+
+properties:
+ compatible:
+ enum:
+ - microchip,pac1931
+ - microchip,pac1932
+ - microchip,pac1933
+ - microchip,pac1934
+
+ reg:
+ maxItems: 1
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+ interrupts:
+ description: IRQ line of the ADC
+ maxItems: 1
+
+ drive-open-drain:
+ description: The IRQ signal is configured as open-drain.
+ type: boolean
+ maxItems: 1
+
+ microchip,slow-io:
+ type: boolean
+ description: |
+ A GPIO used to trigger a change is sampling rate (lowering the chip power consumption).
+ In default mode, if this pin is forced high, sampling rate is forced to eight
+ samples/second. When it is forced low, the sampling rate is 1024 samples/second unless
+ a different sample rate has been programmed.
+
+required:
+ - compatible
+ - reg
+ - "#address-cells"
+ - "#size-cells"
+
+patternProperties:
+ "^channel@[1-4]+$":
+ type: object
+ $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 1 to 4.
+ items:
+ - minimum: 1
+ maximum: 4
+
+ shunt-resistor-micro-ohms:
+ description: |
+ Value in micro Ohms of the shunt resistor connected between
+ the SENSE+ and SENSE- inputs, across which the current is measured. Value
+ is needed to compute the scaling of the measured current.
+
+ label:
+ $ref: /schemas/types.yaml#/definitions/string
+ description: Name of the monitored power rail.
+
+ bipolar:
+ description: Whether the channel is bi-directional.
+ type: boolean
+
+ required:
+ - reg
+ - shunt-resistor-micro-ohms
+
+ additionalProperties: false
+
+allOf:
+ - if:
+ required:
+ - interrupts
+ then:
+ required:
+ - drive-open-drain
+ else:
+ properties:
+ drive-open-drain: false
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pac193x: pac193x@10 {
+ compatible = "microchip,pac1934";
+ reg = <0x10>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ channel@1 {
+ reg = <0x1>;
+ shunt-resistor-micro-ohms = <24900000>;
+ label = "CPU";
+ };
+
+ channel@2 {
+ reg = <0x2>;
+ shunt-resistor-micro-ohms = <49900000>;
+ label = "GPU";
+ };
+
+ channel@3 {
+ reg = <0x3>;
+ shunt-resistor-micro-ohms = <75000000>;
+ label = "MEM";
+ bipolar;
+ };
+
+ channel@4 {
+ reg = <0x4>;
+ shunt-resistor-micro-ohms = <100000000>;
+ label = "NET";
+ bipolar;
+ };
+ };
+ };
+
+...
--
2.34.1