lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210820165927.4524-6-mihail.chindris@analog.com>
Date:   Fri, 20 Aug 2021 16:59:26 +0000
From:   Mihail Chindris <mihail.chindris@...log.com>
To:     <linux-kernel@...r.kernel.org>, <linux-iio@...r.kernel.org>
CC:     <lars@...afoo.de>, <Michael.Hennerich@...log.com>,
        <jic23@...nel.org>, <nuno.sa@...log.com>,
        <dragos.bogdan@...log.com>, <alexandru.ardelean@...log.com>,
        Mihail Chindris <mihail.chindris@...log.com>
Subject: [PATCH v4 5/6] dt-bindings: iio: dac: Add adi,ad3552r.yaml

Add documentation for ad3552r

Signed-off-by: Mihail Chindris <mihail.chindris@...log.com>
---
 .../bindings/iio/dac/adi,ad3552r.yaml         | 185 ++++++++++++++++++
 1 file changed, 185 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml

diff --git a/Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml b/Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml
new file mode 100644
index 000000000000..82ad8335aed8
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml
@@ -0,0 +1,185 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright 2020 Analog Devices Inc.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/dac/adi,ad3552r.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AD2552R DAC device driver
+
+maintainers:
+  - Mihail Chindris <mihail.chindris@...log.com>
+
+description: |
+  Bindings for the Analog Devices AD3552R  DAC device. Datasheet can be
+  found here:
+    https://www.analog.com/media/en/technical-documentation/data-sheets/ad3552r.pdf
+
+properties:
+  compatible:
+    enum:
+      - adi,ad3552r
+
+  reg:
+    maxItems: 1
+
+  spi-max-frequency:
+    maximum: 30000000
+
+  interrupts:
+    maxItems: 1
+
+  reset-gpios:
+    maxItems: 1
+
+  ldac-gpios:
+    description: |
+      If a LDAC gpio is specified it will generate a LDAC pulse each time the
+      trigger handler sends data to the chip.
+    maxItems: 1
+
+  adi,synch_channels: |
+      If set to true, data will be written to the input registers. When a pulse
+      is generated on the LDAC pin data will update the output voltage of both
+      channels if enabled. If ldac-gpios is specified the pulse will be
+      generated by the driver in the interrupt handler. If adi,synch_channels
+      is set to false, data will be written to the DAC registers and the output
+      is updated imediatly after each register is written.
+    type: bool
+
+  adi,vref-select:
+    description: Selection of the voltage reference.
+      The options are
+       - 0 internal source with Vref I/O floating
+       - 1 internal source with Vref I/O at 2.5V.
+       - 2 external source with Vref I/O as input.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [0, 1, 2]
+
+  adi,spi-multi-io-mode:
+    description:  |
+      Select SPI operating mode:
+        - 0: standard.
+        - 1: dual.
+        - 2: quad.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [0, 1, 2]
+
+  adi,ddr:
+    description: Enable or disable double data rate SPI
+    type: boolean
+
+  adi,synchronous-mode:
+    description: Enable or disable synchronous dual SPI mode
+    type: boolean
+
+  adi,sdo-drive-strength:
+    description: |
+      Configure SDIO0 and SDIO1 strength levels:
+        - 0: low SDO drive strength.
+        - 1: medium low SDO drive strength.
+        - 2: medium high SDO drive strength.
+        - 3: high SDO drive strength
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [0, 1, 2, 3]
+
+patternProperties:
+  "^channel@([0-1])$":
+    type: object
+    description: Configurations of the DAC Channels
+    properties:
+      reg:
+          description: Channel number
+          minimum: 0
+          maximum: 1
+
+      adi,output-range:
+        description: |
+          Output range of the channel
+            0: 0 V to 2.5 V
+            1: 0 V to 5 V
+            2: 0 V to 10 V
+            3: -5 V to 5 V
+            4: -10 V to 10 V
+        $ref: /schemas/types.yaml#/definitions/uint32
+        enum: [0, 1, 2, 3, 4]
+
+      custom-output-range-config:
+        type: object
+        description: Configuration of custom range when adi,output-range is set
+                      to custom
+        properties:
+          adi,gain-offset:
+            description: Gain offset
+            $ref: /schemas/types.yaml#/definitions/int32
+            maximum: 511
+            minimum: -511
+          adi,gain-scaling-p:
+            description: |
+              Scaling p:
+               0: 1.0
+               1: 0.5
+               2: 0.25
+               3: 0.125
+            $ref: /schemas/types.yaml#/definitions/uint32
+            enum: [0, 1, 2, 3]
+          adi,gain-scaling-n:
+            description: |
+              Scaling p:
+               0: 1.0
+               1: 0.5
+               2: 0.25
+               3: 0.125
+            $ref: /schemas/types.yaml#/definitions/uint32
+            enum: [0, 1, 2, 3]
+          adi,rfb-ohms:
+            description: Feedback Resistor
+        required:
+          - adi,gain-offset
+          - adi,gain-sacling-p
+          - adi,gain-sacling-n
+          - adi,rfb-ohms
+    required:
+      - reg
+
+    oneOf:
+      # If adi,output-range is missing, custom-output-range-config must be used
+      - required:
+        - adi,output-range
+      - required:
+        - custom-output-range-config
+
+required:
+  - compatible
+  - reg
+  - spi-max-frequency
+
+additionalProperties: false
+
+examples:
+  - |
+    ad3552r {
+            compatible = "adi,ad3552r";
+            reg = <0 0 0 0>;
+            spi-max-frequency = <20000000>;
+            interrupt-parent = <&gpio0>;
+            interrupts = <87 0>;
+            pwms = <&axi_pwm 0 50>;
+            reset-gpios = <&gpio 86 0>;
+            adi,synch_channels;
+            adi,vref-select = <0>;
+            channel@0 {
+                    reg = <0>;
+                    adi,output-range = <0>;
+            };
+            channel@1 {
+                    reg = <1>;
+                    custom-output-range-config {
+                            adi,gain-offset = <5>;
+                            adi,gain-sacling-p = <1>;
+                            adi,gain-sacling-n = <2>;
+                            adi,rfb-ohms = <1>;
+                    };
+          };
+      };
+...
-- 
2.27.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ