1ea52c212SAlexandru Tachici# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2ea52c212SAlexandru Tachici# Copyright 2020 Analog Devices Inc. 3ea52c212SAlexandru Tachici%YAML 1.2 4ea52c212SAlexandru Tachici--- 5bc4be551SFabio Estevam$id: http://devicetree.org/schemas/iio/dac/adi,ad5770r.yaml# 6ea52c212SAlexandru Tachici$schema: http://devicetree.org/meta-schemas/core.yaml# 7ea52c212SAlexandru Tachici 8ea52c212SAlexandru Tachicititle: Analog Devices AD5770R DAC device driver 9ea52c212SAlexandru Tachici 10ea52c212SAlexandru Tachicimaintainers: 11065cd7e7SAlexandru Tachici - Alexandru Tachici <alexandru.tachici@analog.com> 12ea52c212SAlexandru Tachici 13ea52c212SAlexandru Tachicidescription: | 14ea52c212SAlexandru Tachici Bindings for the Analog Devices AD5770R current DAC device. Datasheet can be 15ea52c212SAlexandru Tachici found here: 16ea52c212SAlexandru Tachici https://www.analog.com/media/en/technical-documentation/data-sheets/AD5770R.pdf 17ea52c212SAlexandru Tachici 18ea52c212SAlexandru Tachiciproperties: 19ea52c212SAlexandru Tachici compatible: 20ea52c212SAlexandru Tachici enum: 21ea52c212SAlexandru Tachici - adi,ad5770r 22ea52c212SAlexandru Tachici 23ea52c212SAlexandru Tachici reg: 24ea52c212SAlexandru Tachici maxItems: 1 25ea52c212SAlexandru Tachici 26ea52c212SAlexandru Tachici avdd-supply: 27ea52c212SAlexandru Tachici description: 28ea52c212SAlexandru Tachici AVdd voltage supply. Represents two different supplies in the datasheet 29ea52c212SAlexandru Tachici that are in fact the same. 30ea52c212SAlexandru Tachici 31ea52c212SAlexandru Tachici iovdd-supply: 32ea52c212SAlexandru Tachici description: 33ea52c212SAlexandru Tachici Voltage supply for the chip interface. 34ea52c212SAlexandru Tachici 35ea52c212SAlexandru Tachici vref-supply: 36ea52c212SAlexandru Tachici description: Specify the voltage of the external reference used. 37ea52c212SAlexandru Tachici Available reference options are 1.25 V or 2.5 V. If no 38ea52c212SAlexandru Tachici external reference declared then the device will use the 39ea52c212SAlexandru Tachici internal reference of 1.25 V. 40ea52c212SAlexandru Tachici 41ea52c212SAlexandru Tachici adi,external-resistor: 42ea52c212SAlexandru Tachici description: Specify if an external 2.5k ohm resistor is used. If not 43ea52c212SAlexandru Tachici specified the device will use an internal 2.5k ohm resistor. 44ea52c212SAlexandru Tachici The precision resistor is used for reference current generation. 45ea52c212SAlexandru Tachici type: boolean 46ea52c212SAlexandru Tachici 47ea52c212SAlexandru Tachici reset-gpios: 48ea52c212SAlexandru Tachici description: GPIO spec for the RESET pin. If specified, it will be 49ea52c212SAlexandru Tachici asserted during driver probe. 50ea52c212SAlexandru Tachici maxItems: 1 51ea52c212SAlexandru Tachici 524828556dSRob Herring '#address-cells': 534828556dSRob Herring const: 1 544828556dSRob Herring 554828556dSRob Herring '#size-cells': 564828556dSRob Herring const: 0 574828556dSRob Herring 582cf3818fSAlexandru Tachici channel@0: 59ea52c212SAlexandru Tachici description: Represents an external channel which are 60ea52c212SAlexandru Tachici connected to the DAC. Channel 0 can act both as a current 61ea52c212SAlexandru Tachici source and sink. 62ea52c212SAlexandru Tachici type: object 63*c682c963SRob Herring additionalProperties: false 64ea52c212SAlexandru Tachici 65ea52c212SAlexandru Tachici properties: 662cf3818fSAlexandru Tachici reg: 67ea52c212SAlexandru Tachici description: This represents the channel number. 68ea52c212SAlexandru Tachici const: 0 69ea52c212SAlexandru Tachici 70ea52c212SAlexandru Tachici adi,range-microamp: 71ea52c212SAlexandru Tachici description: Output range of the channel. 72ea52c212SAlexandru Tachici oneOf: 73ea52c212SAlexandru Tachici - items: 742cf3818fSAlexandru Tachici - const: 0 752cf3818fSAlexandru Tachici - const: 300000 762cf3818fSAlexandru Tachici - items: 772cf3818fSAlexandru Tachici - const: -60000 782cf3818fSAlexandru Tachici - const: 0 792cf3818fSAlexandru Tachici - items: 802cf3818fSAlexandru Tachici - const: -60000 812cf3818fSAlexandru Tachici - const: 300000 82ea52c212SAlexandru Tachici 832cf3818fSAlexandru Tachici channel@1: 84ea52c212SAlexandru Tachici description: Represents an external channel which are 85ea52c212SAlexandru Tachici connected to the DAC. 86ea52c212SAlexandru Tachici type: object 87*c682c963SRob Herring additionalProperties: false 88ea52c212SAlexandru Tachici 89ea52c212SAlexandru Tachici properties: 902cf3818fSAlexandru Tachici reg: 91ea52c212SAlexandru Tachici description: This represents the channel number. 92ea52c212SAlexandru Tachici const: 1 93ea52c212SAlexandru Tachici 94ea52c212SAlexandru Tachici adi,range-microamp: 95ea52c212SAlexandru Tachici description: Output range of the channel. 962cf3818fSAlexandru Tachici items: 972cf3818fSAlexandru Tachici - const: 0 982cf3818fSAlexandru Tachici - enum: [140000, 250000] 99ea52c212SAlexandru Tachici 1002cf3818fSAlexandru Tachici channel@2: 101ea52c212SAlexandru Tachici description: Represents an external channel which are 102ea52c212SAlexandru Tachici connected to the DAC. 103ea52c212SAlexandru Tachici type: object 104*c682c963SRob Herring additionalProperties: false 105ea52c212SAlexandru Tachici 106ea52c212SAlexandru Tachici properties: 1072cf3818fSAlexandru Tachici reg: 108ea52c212SAlexandru Tachici description: This represents the channel number. 109ea52c212SAlexandru Tachici const: 2 110ea52c212SAlexandru Tachici 111ea52c212SAlexandru Tachici adi,range-microamp: 112ea52c212SAlexandru Tachici description: Output range of the channel. 1132cf3818fSAlexandru Tachici items: 1142cf3818fSAlexandru Tachici - const: 0 1152cf3818fSAlexandru Tachici - enum: [55000, 150000] 116ea52c212SAlexandru Tachici 117ea52c212SAlexandru TachicipatternProperties: 118ea52c212SAlexandru Tachici "^channel@([3-5])$": 119ea52c212SAlexandru Tachici type: object 120*c682c963SRob Herring additionalProperties: false 121ea52c212SAlexandru Tachici description: Represents the external channels which are connected to the DAC. 122ea52c212SAlexandru Tachici properties: 1232cf3818fSAlexandru Tachici reg: 124ea52c212SAlexandru Tachici description: This represents the channel number. 125ea52c212SAlexandru Tachici minimum: 3 126ea52c212SAlexandru Tachici maximum: 5 127ea52c212SAlexandru Tachici 128ea52c212SAlexandru Tachici adi,range-microamp: 129ea52c212SAlexandru Tachici description: Output range of the channel. 1302cf3818fSAlexandru Tachici items: 1312cf3818fSAlexandru Tachici - const: 0 1322cf3818fSAlexandru Tachici - enum: [45000, 100000] 133ea52c212SAlexandru Tachici 134ea52c212SAlexandru Tachicirequired: 135ea52c212SAlexandru Tachici - reg 1362cf3818fSAlexandru Tachici - channel@0 1372cf3818fSAlexandru Tachici - channel@1 1382cf3818fSAlexandru Tachici - channel@2 1392cf3818fSAlexandru Tachici - channel@3 1402cf3818fSAlexandru Tachici - channel@4 1412cf3818fSAlexandru Tachici - channel@5 142ea52c212SAlexandru Tachici 14325d04699SKrzysztof KozlowskiallOf: 14425d04699SKrzysztof Kozlowski - $ref: /schemas/spi/spi-peripheral-props.yaml# 14525d04699SKrzysztof Kozlowski 14625d04699SKrzysztof KozlowskiunevaluatedProperties: false 1476fdc6e23SRob Herring 148ea52c212SAlexandru Tachiciexamples: 149ea52c212SAlexandru Tachici - | 150ea52c212SAlexandru Tachici spi { 151ea52c212SAlexandru Tachici #address-cells = <1>; 152ea52c212SAlexandru Tachici #size-cells = <0>; 153ea52c212SAlexandru Tachici 154ea52c212SAlexandru Tachici ad5770r@0 { 1557d6243aaSFabio Estevam compatible = "adi,ad5770r"; 156ea52c212SAlexandru Tachici reg = <0>; 157ea52c212SAlexandru Tachici spi-max-frequency = <1000000>; 158ea52c212SAlexandru Tachici vref-supply = <&vref>; 159ea52c212SAlexandru Tachici adi,external-resistor; 160ea52c212SAlexandru Tachici reset-gpios = <&gpio 22 0>; 1612cf3818fSAlexandru Tachici #address-cells = <1>; 1622cf3818fSAlexandru Tachici #size-cells = <0>; 163ea52c212SAlexandru Tachici 164ea52c212SAlexandru Tachici channel@0 { 1652cf3818fSAlexandru Tachici reg = <0>; 1662cf3818fSAlexandru Tachici adi,range-microamp = <0 300000>; 167ea52c212SAlexandru Tachici }; 168ea52c212SAlexandru Tachici 169ea52c212SAlexandru Tachici channel@1 { 1702cf3818fSAlexandru Tachici reg = <1>; 171ea52c212SAlexandru Tachici adi,range-microamp = <0 140000>; 172ea52c212SAlexandru Tachici }; 173ea52c212SAlexandru Tachici 174ea52c212SAlexandru Tachici channel@2 { 1752cf3818fSAlexandru Tachici reg = <2>; 176ea52c212SAlexandru Tachici adi,range-microamp = <0 55000>; 177ea52c212SAlexandru Tachici }; 178ea52c212SAlexandru Tachici 179ea52c212SAlexandru Tachici channel@3 { 1802cf3818fSAlexandru Tachici reg = <3>; 181ea52c212SAlexandru Tachici adi,range-microamp = <0 45000>; 182ea52c212SAlexandru Tachici }; 183ea52c212SAlexandru Tachici 184ea52c212SAlexandru Tachici channel@4 { 1852cf3818fSAlexandru Tachici reg = <4>; 186ea52c212SAlexandru Tachici adi,range-microamp = <0 45000>; 187ea52c212SAlexandru Tachici }; 188ea52c212SAlexandru Tachici 189ea52c212SAlexandru Tachici channel@5 { 1902cf3818fSAlexandru Tachici reg = <5>; 191ea52c212SAlexandru Tachici adi,range-microamp = <0 45000>; 192ea52c212SAlexandru Tachici }; 193ea52c212SAlexandru Tachici }; 194ea52c212SAlexandru Tachici }; 195ea52c212SAlexandru Tachici... 196