[RFC PATCH 1/5] dt-bindings: ROHM BD79124 ADC/GPO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add binding document for the ROHM BD79124 ADC / GPO.

ROHM BD79124 is a 8-channel, 12-bit ADC. The input pins can also be used
as general purpose outputs. Switching between ADC and GPO is described
using as a pinmux.

Signed-off-by: Matti Vaittinen <mazziesaccount@xxxxxxxxx>
---
 .../devicetree/bindings/mfd/rohm,bd79124.yaml | 111 ++++++++++++++++++
 1 file changed, 111 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd79124.yaml

diff --git a/Documentation/devicetree/bindings/mfd/rohm,bd79124.yaml b/Documentation/devicetree/bindings/mfd/rohm,bd79124.yaml
new file mode 100644
index 000000000000..0d2958e82780
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/rohm,bd79124.yaml
@@ -0,0 +1,111 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/rohm,bd79124.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ROHM BD79124 ADC/GPO
+
+maintainers:
+  - Matti Vaittinen <mazziesaccount@xxxxxxxxx>
+
+description: |
+  The ROHM BD79124 is a 12-bit, 8-channel, SAR ADC. The ADC supports
+  an automatic measurement mode, with an alarm interrupt for out-of-window
+  measurements. ADC input pins can be also configured as general purpose
+  outputs.
+
+properties:
+  compatible:
+    const: rohm,bd79124
+
+  reg:
+    description:
+      I2C slave address.
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  gpio-controller: true
+
+  "#gpio-cells":
+    const: 1
+    description:
+      The pin number.
+
+  vdd-supply: true
+
+  iovdd-supply: true
+
+patternProperties:
+  "^channel@[0-9a-f]+$":
+    type: object
+    $ref: /schemas/iio/adc/adc.yaml#
+    description: Represents ADC channel.
+
+    properties:
+      reg:
+        items:
+          minimum: 1
+          maximum: 8
+
+    required:
+      - reg
+
+    additionalProperties: false
+
+  "-pins$":
+    type: object
+    $ref: /schemas/pinctrl/pinmux-node.yaml
+
+    properties:
+      function:
+        enum: [gpo, adc]
+
+      groups:
+        description:
+          List of pin groups affected by the functions specified in this
+          subnode.
+        items:
+          enum: [ain0, ain1, ain2, ain3, ain4, ain5, ain6, ain7]
+
+      pins:
+        items:
+          enum: [ain0, ain1, ain2, ain3, ain4, ain5, ain6, ain7]
+
+    additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - iovdd-supply
+  - vdd-supply
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/leds/common.h>
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        adc: adc@10 {
+            compatible = "rohm,bd79124";
+            reg = <0x10>;
+            interrupt-parent = <&gpio1>;
+            interrupts = <29 8>;
+            vdd-supply = <&dummyreg>;
+            iovdd-supply = <&dummyreg>;
+
+            adcpins: adc-pins {
+                pins = "ain0", "ain1", "ain5", "ain7";
+                function = "adc";
+            };
+            gpopins: gpo-pins {
+                groups = "ain2", "ain3", "ain4", "ain6";
+                function = "gpo";
+            };
+        };
+    };
-- 
2.48.1

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux