1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-C 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 # Copyright 2022 Analog Devices Inc. 2 # Copyright 2022 Analog Devices Inc. 3 %YAML 1.2 3 %YAML 1.2 4 --- 4 --- 5 $id: http://devicetree.org/schemas/iio/adc/adi 5 $id: http://devicetree.org/schemas/iio/adc/adi,ad4130.yaml# 6 $schema: http://devicetree.org/meta-schemas/co 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 7 8 title: Analog Devices AD4130 ADC device driver 8 title: Analog Devices AD4130 ADC device driver 9 9 10 maintainers: 10 maintainers: 11 - Cosmin Tanislav <cosmin.tanislav@analog.com 11 - Cosmin Tanislav <cosmin.tanislav@analog.com> 12 12 13 description: | 13 description: | 14 Bindings for the Analog Devices AD4130 ADC. 14 Bindings for the Analog Devices AD4130 ADC. Datasheet can be found here: 15 https://www.analog.com/media/en/technical- 15 https://www.analog.com/media/en/technical-documentation/data-sheets/AD4130-8.pdf 16 16 17 properties: 17 properties: 18 compatible: 18 compatible: 19 enum: 19 enum: 20 - adi,ad4130 20 - adi,ad4130 21 21 22 reg: 22 reg: 23 maxItems: 1 23 maxItems: 1 24 24 25 clocks: 25 clocks: 26 maxItems: 1 26 maxItems: 1 27 description: phandle to the master clock ( 27 description: phandle to the master clock (mclk) 28 28 29 clock-names: 29 clock-names: 30 items: 30 items: 31 - const: mclk 31 - const: mclk 32 32 33 interrupts: 33 interrupts: 34 maxItems: 1 34 maxItems: 1 35 35 36 interrupt-names: 36 interrupt-names: 37 description: | 37 description: | 38 Specify which interrupt pin should be co 38 Specify which interrupt pin should be configured as Data Ready / FIFO 39 interrupt. 39 interrupt. 40 Default if not supplied is int. 40 Default if not supplied is int. 41 enum: 41 enum: 42 - int 42 - int 43 - clk 43 - clk 44 - p2 44 - p2 45 - dout 45 - dout 46 46 47 '#address-cells': 47 '#address-cells': 48 const: 1 48 const: 1 49 49 50 '#size-cells': 50 '#size-cells': 51 const: 0 51 const: 0 52 52 53 '#clock-cells': 53 '#clock-cells': 54 const: 0 54 const: 0 55 55 56 clock-output-names: 56 clock-output-names: 57 maxItems: 1 57 maxItems: 1 58 58 59 refin1-supply: 59 refin1-supply: 60 description: refin1 supply. Can be used as 60 description: refin1 supply. Can be used as reference for conversion. 61 61 62 refin2-supply: 62 refin2-supply: 63 description: refin2 supply. Can be used as 63 description: refin2 supply. Can be used as reference for conversion. 64 64 65 avdd-supply: 65 avdd-supply: 66 description: AVDD voltage supply. Can be u 66 description: AVDD voltage supply. Can be used as reference for conversion. 67 67 68 iovdd-supply: 68 iovdd-supply: 69 description: IOVDD voltage supply. Used fo 69 description: IOVDD voltage supply. Used for the chip interface. 70 70 71 spi-max-frequency: 71 spi-max-frequency: 72 maximum: 5000000 72 maximum: 5000000 73 73 74 adi,ext-clk-freq-hz: 74 adi,ext-clk-freq-hz: 75 description: Specify the frequency of the 75 description: Specify the frequency of the external clock. 76 enum: [76800, 153600] 76 enum: [76800, 153600] 77 default: 76800 77 default: 76800 78 78 79 adi,bipolar: 79 adi,bipolar: 80 description: Specify if the device should 80 description: Specify if the device should be used in bipolar mode. 81 type: boolean 81 type: boolean 82 82 83 adi,vbias-pins: 83 adi,vbias-pins: 84 description: Analog inputs to apply a volt 84 description: Analog inputs to apply a voltage bias of (AVDD − AVSS) / 2 to. 85 $ref: /schemas/types.yaml#/definitions/uin 85 $ref: /schemas/types.yaml#/definitions/uint32-array 86 minItems: 1 86 minItems: 1 87 maxItems: 16 87 maxItems: 16 88 items: 88 items: 89 minimum: 0 89 minimum: 0 90 maximum: 15 90 maximum: 15 91 91 92 required: 92 required: 93 - compatible 93 - compatible 94 - reg 94 - reg 95 - interrupts 95 - interrupts 96 96 97 patternProperties: 97 patternProperties: 98 "^channel@([0-9a-f])$": 98 "^channel@([0-9a-f])$": 99 type: object 99 type: object 100 $ref: adc.yaml 100 $ref: adc.yaml 101 unevaluatedProperties: false 101 unevaluatedProperties: false 102 102 103 properties: 103 properties: 104 reg: 104 reg: 105 description: The channel number. 105 description: The channel number. 106 minimum: 0 106 minimum: 0 107 maximum: 15 107 maximum: 15 108 108 109 diff-channels: 109 diff-channels: 110 description: | 110 description: | 111 Besides the analog inputs available, 111 Besides the analog inputs available, internal inputs can be used. 112 16: Internal temperature sensor. 112 16: Internal temperature sensor. 113 17: AVSS 113 17: AVSS 114 18: Internal reference 114 18: Internal reference 115 19: DGND 115 19: DGND 116 20: (AVDD − AVSS)/6+ 116 20: (AVDD − AVSS)/6+ 117 21: (AVDD − AVSS)/6- 117 21: (AVDD − AVSS)/6- 118 22: (IOVDD − DGND)/6+ 118 22: (IOVDD − DGND)/6+ 119 23: (IOVDD − DGND)/6- 119 23: (IOVDD − DGND)/6- 120 24: (ALDO − AVSS)/6+ 120 24: (ALDO − AVSS)/6+ 121 25: (ALDO − AVSS)/6- 121 25: (ALDO − AVSS)/6- 122 26: (DLDO − DGND)/6+ 122 26: (DLDO − DGND)/6+ 123 27: (DLDO − DGND)/6- 123 27: (DLDO − DGND)/6- 124 28: V_MV_P 124 28: V_MV_P 125 29: V_MV_M 125 29: V_MV_M 126 items: 126 items: 127 minimum: 0 127 minimum: 0 128 maximum: 29 128 maximum: 29 129 129 130 adi,reference-select: 130 adi,reference-select: 131 description: | 131 description: | 132 Select the reference source to use w 132 Select the reference source to use when converting on the 133 specific channel. Valid values are: 133 specific channel. Valid values are: 134 0: REFIN1(+)/REFIN1(−) 134 0: REFIN1(+)/REFIN1(−) 135 1: REFIN2(+)/REFIN2(−) 135 1: REFIN2(+)/REFIN2(−) 136 2: REFOUT/AVSS (Internal reference) 136 2: REFOUT/AVSS (Internal reference) 137 3: AVDD/AVSS 137 3: AVDD/AVSS 138 If not specified, REFIN1 is used. 138 If not specified, REFIN1 is used. 139 $ref: /schemas/types.yaml#/definitions 139 $ref: /schemas/types.yaml#/definitions/uint32 140 enum: [0, 1, 2, 3] 140 enum: [0, 1, 2, 3] 141 default: 0 141 default: 0 142 142 143 adi,excitation-pin-0: 143 adi,excitation-pin-0: 144 description: | 144 description: | 145 Analog input to apply excitation cur 145 Analog input to apply excitation current to while the channel 146 is active. 146 is active. 147 $ref: /schemas/types.yaml#/definitions 147 $ref: /schemas/types.yaml#/definitions/uint32 148 minimum: 0 148 minimum: 0 149 maximum: 15 149 maximum: 15 150 default: 0 150 default: 0 151 151 152 adi,excitation-pin-1: 152 adi,excitation-pin-1: 153 description: | 153 description: | 154 Analog input to apply excitation cur 154 Analog input to apply excitation current to while this channel 155 is active. 155 is active. 156 $ref: /schemas/types.yaml#/definitions 156 $ref: /schemas/types.yaml#/definitions/uint32 157 minimum: 0 157 minimum: 0 158 maximum: 15 158 maximum: 15 159 default: 0 159 default: 0 160 160 161 adi,excitation-current-0-nanoamp: 161 adi,excitation-current-0-nanoamp: 162 description: | 162 description: | 163 Excitation current in nanoamps to be 163 Excitation current in nanoamps to be applied to pin specified in 164 adi,excitation-pin-0 while this chan 164 adi,excitation-pin-0 while this channel is active. 165 enum: [0, 100, 10000, 20000, 50000, 10 165 enum: [0, 100, 10000, 20000, 50000, 100000, 150000, 200000] 166 default: 0 166 default: 0 167 167 168 adi,excitation-current-1-nanoamp: 168 adi,excitation-current-1-nanoamp: 169 description: | 169 description: | 170 Excitation current in nanoamps to be 170 Excitation current in nanoamps to be applied to pin specified in 171 adi,excitation-pin-1 while this chan 171 adi,excitation-pin-1 while this channel is active. 172 enum: [0, 100, 10000, 20000, 50000, 10 172 enum: [0, 100, 10000, 20000, 50000, 100000, 150000, 200000] 173 default: 0 173 default: 0 174 174 175 adi,burnout-current-nanoamp: 175 adi,burnout-current-nanoamp: 176 description: | 176 description: | 177 Burnout current in nanoamps to be ap 177 Burnout current in nanoamps to be applied for this channel. 178 enum: [0, 500, 2000, 4000] 178 enum: [0, 500, 2000, 4000] 179 default: 0 179 default: 0 180 180 181 adi,buffered-positive: 181 adi,buffered-positive: 182 description: Enable buffered mode for 182 description: Enable buffered mode for positive input. 183 type: boolean 183 type: boolean 184 184 185 adi,buffered-negative: 185 adi,buffered-negative: 186 description: Enable buffered mode for 186 description: Enable buffered mode for negative input. 187 type: boolean 187 type: boolean 188 188 189 required: 189 required: 190 - reg 190 - reg 191 - diff-channels 191 - diff-channels 192 192 193 allOf: 193 allOf: 194 - $ref: /schemas/spi/spi-peripheral-props.ya 194 - $ref: /schemas/spi/spi-peripheral-props.yaml# 195 195 196 unevaluatedProperties: false 196 unevaluatedProperties: false 197 197 198 examples: 198 examples: 199 - | 199 - | 200 #include <dt-bindings/interrupt-controller 200 #include <dt-bindings/interrupt-controller/irq.h> 201 201 202 spi { 202 spi { 203 #address-cells = <1>; 203 #address-cells = <1>; 204 #size-cells = <0>; 204 #size-cells = <0>; 205 205 206 adc@0 { 206 adc@0 { 207 compatible = "adi,ad4130"; 207 compatible = "adi,ad4130"; 208 reg = <0>; 208 reg = <0>; 209 209 210 #address-cells = <1>; 210 #address-cells = <1>; 211 #size-cells = <0>; 211 #size-cells = <0>; 212 212 213 spi-max-frequency = <5000000>; 213 spi-max-frequency = <5000000>; 214 interrupts = <27 IRQ_TYPE_EDGE_FALLING 214 interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 215 interrupt-parent = <&gpio>; 215 interrupt-parent = <&gpio>; 216 216 217 channel@0 { 217 channel@0 { 218 reg = <0>; 218 reg = <0>; 219 219 220 adi,reference-select = <2>; 220 adi,reference-select = <2>; 221 221 222 /* AIN8, AIN9 */ 222 /* AIN8, AIN9 */ 223 diff-channels = <8 9>; 223 diff-channels = <8 9>; 224 }; 224 }; 225 225 226 channel@1 { 226 channel@1 { 227 reg = <1>; 227 reg = <1>; 228 228 229 adi,reference-select = <2>; 229 adi,reference-select = <2>; 230 230 231 /* AIN10, AIN11 */ 231 /* AIN10, AIN11 */ 232 diff-channels = <10 11>; 232 diff-channels = <10 11>; 233 }; 233 }; 234 234 235 channel@2 { 235 channel@2 { 236 reg = <2>; 236 reg = <2>; 237 237 238 adi,reference-select = <2>; 238 adi,reference-select = <2>; 239 239 240 /* Temperature Sensor, DGND */ 240 /* Temperature Sensor, DGND */ 241 diff-channels = <16 19>; 241 diff-channels = <16 19>; 242 }; 242 }; 243 243 244 channel@3 { 244 channel@3 { 245 reg = <3>; 245 reg = <3>; 246 246 247 adi,reference-select = <2>; 247 adi,reference-select = <2>; 248 248 249 /* Internal reference, DGND */ 249 /* Internal reference, DGND */ 250 diff-channels = <18 19>; 250 diff-channels = <18 19>; 251 }; 251 }; 252 252 253 channel@4 { 253 channel@4 { 254 reg = <4>; 254 reg = <4>; 255 255 256 adi,reference-select = <2>; 256 adi,reference-select = <2>; 257 257 258 /* DGND, DGND */ 258 /* DGND, DGND */ 259 diff-channels = <19 19>; 259 diff-channels = <19 19>; 260 }; 260 }; 261 }; 261 }; 262 }; 262 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.