1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-C 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/iio/dac/adi 4 $id: http://devicetree.org/schemas/iio/dac/adi,ad5592r.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Analog Devices AD5592R/AD5593R DAC/ADC 7 title: Analog Devices AD5592R/AD5593R DAC/ADC 8 8 9 maintainers: 9 maintainers: 10 - Michael Hennerich <michael.hennerich@analog 10 - Michael Hennerich <michael.hennerich@analog.com> 11 11 12 properties: 12 properties: 13 compatible: 13 compatible: 14 enum: 14 enum: 15 - adi,ad5592r 15 - adi,ad5592r 16 - adi,ad5593r 16 - adi,ad5593r 17 17 18 reg: 18 reg: 19 maxItems: 1 19 maxItems: 1 20 20 21 spi-max-frequency: 21 spi-max-frequency: 22 maximum: 30000000 22 maximum: 30000000 23 23 24 spi-cpol: true 24 spi-cpol: true 25 25 26 "#address-cells": 26 "#address-cells": 27 const: 1 27 const: 1 28 28 29 "#size-cells": 29 "#size-cells": 30 const: 0 30 const: 0 31 31 32 "#io-channel-cells": 32 "#io-channel-cells": 33 const: 1 33 const: 1 34 34 35 vref-supply: 35 vref-supply: 36 description: If not set internal 2.5V refe 36 description: If not set internal 2.5V reference used. 37 37 38 reset-gpios: 38 reset-gpios: 39 maxItems: 1 39 maxItems: 1 40 40 41 gpio-controller: 41 gpio-controller: 42 description: Marks the device node as a GP 42 description: Marks the device node as a GPIO controller. 43 43 44 "#gpio-cells": 44 "#gpio-cells": 45 const: 2 45 const: 2 46 description: 46 description: 47 The first cell is the GPIO number and th 47 The first cell is the GPIO number and the second cell specifies 48 GPIO flags, as defined in <dt-bindings/g 48 GPIO flags, as defined in <dt-bindings/gpio/gpio.h>. 49 49 50 required: 50 required: 51 - compatible 51 - compatible 52 - reg 52 - reg 53 - "#address-cells" 53 - "#address-cells" 54 - "#size-cells" 54 - "#size-cells" 55 55 56 allOf: 56 allOf: 57 - if: 57 - if: 58 properties: 58 properties: 59 compatible: 59 compatible: 60 contains: 60 contains: 61 const: adi,ad5592r 61 const: adi,ad5592r 62 then: 62 then: 63 required: 63 required: 64 - spi-cpol 64 - spi-cpol 65 else: 65 else: 66 properties: 66 properties: 67 spi-cpol: false 67 spi-cpol: false 68 68 69 additionalProperties: false 69 additionalProperties: false 70 70 71 patternProperties: 71 patternProperties: 72 "^(channel@)[0-7]$": 72 "^(channel@)[0-7]$": 73 type: object 73 type: object 74 description: Child node to describe a chan 74 description: Child node to describe a channel 75 properties: 75 properties: 76 reg: 76 reg: 77 minimum: 0 77 minimum: 0 78 maximum: 7 78 maximum: 7 79 79 80 adi,mode: 80 adi,mode: 81 $ref: /schemas/types.yaml#/definitions 81 $ref: /schemas/types.yaml#/definitions/uint32 82 enum: [0, 1, 2, 3, 8] 82 enum: [0, 1, 2, 3, 8] 83 description: | 83 description: | 84 Mode or function of this channel. 84 Mode or function of this channel. 85 Macros specifying the valid values c 85 Macros specifying the valid values can be found in 86 <dt-bindings/iio/adi,ad5592r.h>. 86 <dt-bindings/iio/adi,ad5592r.h>. 87 87 88 The following values are currently s 88 The following values are currently supported: 89 * CH_MODE_UNUSED (the pin is unused) 89 * CH_MODE_UNUSED (the pin is unused) 90 * CH_MODE_ADC (the pin is ADC input) 90 * CH_MODE_ADC (the pin is ADC input) 91 * CH_MODE_DAC (the pin is DAC output 91 * CH_MODE_DAC (the pin is DAC output) 92 * CH_MODE_DAC_AND_ADC (the pin is DA 92 * CH_MODE_DAC_AND_ADC (the pin is DAC output but can be monitored 93 by an ADC, since there is no disad 93 by an ADC, since there is no disadvantage this should be 94 considered as the preferred DAC mo 94 considered as the preferred DAC mode) 95 * CH_MODE_GPIO (the pin is registere 95 * CH_MODE_GPIO (the pin is registered with GPIOLIB) 96 96 97 adi,off-state: 97 adi,off-state: 98 $ref: /schemas/types.yaml#/definitions 98 $ref: /schemas/types.yaml#/definitions/uint32 99 enum: [0, 1, 2, 3] 99 enum: [0, 1, 2, 3] 100 description: | 100 description: | 101 State of this channel when unused or 101 State of this channel when unused or the device gets removed. 102 Macros specifying the valid values 102 Macros specifying the valid values can be found in 103 <dt-bindings/iio/adi,ad5592r.h>. 103 <dt-bindings/iio/adi,ad5592r.h>. 104 * CH_OFFSTATE_PULLDOWN (the pin is p 104 * CH_OFFSTATE_PULLDOWN (the pin is pulled down) 105 * CH_OFFSTATE_OUT_LOW (the pin is o 105 * CH_OFFSTATE_OUT_LOW (the pin is output low) 106 * CH_OFFSTATE_OUT_HIGH (the pin is o 106 * CH_OFFSTATE_OUT_HIGH (the pin is output high) 107 * CH_OFFSTATE_OUT_TRISTATE (the pin 107 * CH_OFFSTATE_OUT_TRISTATE (the pin is tristated output) 108 108 109 required: 109 required: 110 - reg 110 - reg 111 - adi,mode 111 - adi,mode 112 112 113 additionalProperties: false 113 additionalProperties: false 114 114 115 examples: 115 examples: 116 - | 116 - | 117 #include <dt-bindings/iio/adi,ad5592r.h> 117 #include <dt-bindings/iio/adi,ad5592r.h> 118 spi { 118 spi { 119 #address-cells = <1>; 119 #address-cells = <1>; 120 #size-cells = <0>; 120 #size-cells = <0>; 121 121 122 addac@0 { 122 addac@0 { 123 compatible = "adi,ad5592r"; 123 compatible = "adi,ad5592r"; 124 #size-cells = <0>; 124 #size-cells = <0>; 125 #address-cells = <1>; 125 #address-cells = <1>; 126 #gpio-cells = <2>; 126 #gpio-cells = <2>; 127 reg = <0>; 127 reg = <0>; 128 128 129 spi-max-frequency = <1000000>; 129 spi-max-frequency = <1000000>; 130 spi-cpol; 130 spi-cpol; 131 131 132 vref-supply = <&vref>; 132 vref-supply = <&vref>; 133 reset-gpios = <&gpio0 86 0>; 133 reset-gpios = <&gpio0 86 0>; 134 gpio-controller; 134 gpio-controller; 135 135 136 channel@0 { 136 channel@0 { 137 reg = <0>; 137 reg = <0>; 138 adi,mode = <CH_MODE_DAC>; 138 adi,mode = <CH_MODE_DAC>; 139 }; 139 }; 140 channel@1 { 140 channel@1 { 141 reg = <1>; 141 reg = <1>; 142 adi,mode = <CH_MODE_ADC>; 142 adi,mode = <CH_MODE_ADC>; 143 }; 143 }; 144 channel@2 { 144 channel@2 { 145 reg = <2>; 145 reg = <2>; 146 adi,mode = <CH_MODE_DAC_AND_AD 146 adi,mode = <CH_MODE_DAC_AND_ADC>; 147 }; 147 }; 148 channel@3 { 148 channel@3 { 149 reg = <3>; 149 reg = <3>; 150 adi,mode = <CH_MODE_DAC_AND_AD 150 adi,mode = <CH_MODE_DAC_AND_ADC>; 151 adi,off-state = <CH_OFFSTATE_P 151 adi,off-state = <CH_OFFSTATE_PULLDOWN>; 152 }; 152 }; 153 channel@4 { 153 channel@4 { 154 reg = <4>; 154 reg = <4>; 155 adi,mode = <CH_MODE_UNUSED>; 155 adi,mode = <CH_MODE_UNUSED>; 156 adi,off-state = <CH_OFFSTATE_P 156 adi,off-state = <CH_OFFSTATE_PULLDOWN>; 157 }; 157 }; 158 channel@5 { 158 channel@5 { 159 reg = <5>; 159 reg = <5>; 160 adi,mode = <CH_MODE_GPIO>; 160 adi,mode = <CH_MODE_GPIO>; 161 adi,off-state = <CH_OFFSTATE_P 161 adi,off-state = <CH_OFFSTATE_PULLDOWN>; 162 }; 162 }; 163 channel@6 { 163 channel@6 { 164 reg = <6>; 164 reg = <6>; 165 adi,mode = <CH_MODE_GPIO>; 165 adi,mode = <CH_MODE_GPIO>; 166 adi,off-state = <CH_OFFSTATE_P 166 adi,off-state = <CH_OFFSTATE_PULLDOWN>; 167 }; 167 }; 168 channel@7 { 168 channel@7 { 169 reg = <7>; 169 reg = <7>; 170 adi,mode = <CH_MODE_GPIO>; 170 adi,mode = <CH_MODE_GPIO>; 171 adi,off-state = <CH_OFFSTATE_P 171 adi,off-state = <CH_OFFSTATE_PULLDOWN>; 172 }; 172 }; 173 }; 173 }; 174 ad5593r@10 { 174 ad5593r@10 { 175 compatible = "adi,ad5593r"; 175 compatible = "adi,ad5593r"; 176 #size-cells = <0>; 176 #size-cells = <0>; 177 #address-cells = <1>; 177 #address-cells = <1>; 178 #gpio-cells = <2>; 178 #gpio-cells = <2>; 179 reg = <0x10>; 179 reg = <0x10>; 180 gpio-controller; 180 gpio-controller; 181 181 182 channel@0 { 182 channel@0 { 183 reg = <0>; 183 reg = <0>; 184 adi,mode = <CH_MODE_DAC>; 184 adi,mode = <CH_MODE_DAC>; 185 adi,off-state = <CH_OFFSTATE_P 185 adi,off-state = <CH_OFFSTATE_PULLDOWN>; 186 }; 186 }; 187 channel@1 { 187 channel@1 { 188 reg = <1>; 188 reg = <1>; 189 adi,mode = <CH_MODE_ADC>; 189 adi,mode = <CH_MODE_ADC>; 190 adi,off-state = <CH_OFFSTATE_P 190 adi,off-state = <CH_OFFSTATE_PULLDOWN>; 191 }; 191 }; 192 channel@2 { 192 channel@2 { 193 reg = <2>; 193 reg = <2>; 194 adi,mode = <CH_MODE_DAC_AND_AD 194 adi,mode = <CH_MODE_DAC_AND_ADC>; 195 adi,off-state = <CH_OFFSTATE_P 195 adi,off-state = <CH_OFFSTATE_PULLDOWN>; 196 }; 196 }; 197 channel@6 { 197 channel@6 { 198 reg = <6>; 198 reg = <6>; 199 adi,mode = <CH_MODE_GPIO>; 199 adi,mode = <CH_MODE_GPIO>; 200 adi,off-state = <CH_OFFSTATE_P 200 adi,off-state = <CH_OFFSTATE_PULLDOWN>; 201 }; 201 }; 202 }; 202 }; 203 }; 203 }; 204 ... 204 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.