Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: iio: dac: adding support for Microchip MCP47FEB02

This is the device tree schema for iio driver for Microchip
MCP47F(E/V)B(0/1/2)1, MCP47F(E/V)B(0/1/2)2, MCP47F(E/V)B(0/1/2)4 and
MCP47F(E/V)B(0/1/2)8 series of buffered voltage output Digital-to-Analog
Converters with nonvolatile or volatile memory and an I2C Interface.

The families support up to 8 output channels.

The devices can be 8-bit, 10-bit and 12-bit.

Signed-off-by: Ariana Lazar <ariana.lazar@microchip.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Ariana Lazar and committed by
Jonathan Cameron
4ba12d30 4e44c635

+308
+302
Documentation/devicetree/bindings/iio/dac/microchip,mcp47feb02.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/iio/dac/microchip,mcp47feb02.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Microchip MCP47F(E/V)B(0/1/2)(1/2/4/8) DAC with I2C Interface Families 8 + 9 + maintainers: 10 + - Ariana Lazar <ariana.lazar@microchip.com> 11 + 12 + description: | 13 + Datasheet for MCP47FEB01, MCP47FEB11, MCP47FEB21, MCP47FEB02, MCP47FEB12, 14 + MCP47FEB22 can be found here: 15 + https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/20005375A.pdf 16 + Datasheet for MCP47FVB01, MCP47FVB11, MCP47FVB21, MCP47FVB02, MCP47FVB12, 17 + MCP47FVB22 can be found here: 18 + https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/20005405A.pdf 19 + Datasheet for MCP47FEB04, MCP47FEB14, MCP47FEB24, MCP47FEB08, MCP47FEB18, 20 + MCP47FEB28, MCP47FVB04, MCP47FVB14, MCP47FVB24, MCP47FVB08, MCP47FVB18, 21 + MCP47FVB28 can be found here: 22 + https://ww1.microchip.com/downloads/aemDocuments/documents/MSLD/ProductDocuments/DataSheets/MCP47FXBX48-Data-Sheet-DS200006368A.pdf 23 + 24 + +------------+--------------+-------------+-------------+------------+ 25 + | Device | Resolution | Channels | Vref number | Memory | 26 + |------------|--------------|-------------|-------------|------------| 27 + | MCP47FEB01 | 8-bit | 1 | 1 | EEPROM | 28 + | MCP47FEB11 | 10-bit | 1 | 1 | EEPROM | 29 + | MCP47FEB21 | 12-bit | 1 | 1 | EEPROM | 30 + |------------|--------------|-------------|-------------|------------| 31 + | MCP47FEB02 | 8-bit | 2 | 1 | EEPROM | 32 + | MCP47FEB12 | 10-bit | 2 | 1 | EEPROM | 33 + | MCP47FEB22 | 12-bit | 2 | 1 | EEPROM | 34 + |------------|--------------|-------------|-------------|------------| 35 + | MCP47FVB01 | 8-bit | 1 | 1 | RAM | 36 + | MCP47FVB11 | 10-bit | 1 | 1 | RAM | 37 + | MCP47FVB21 | 12-bit | 1 | 1 | RAM | 38 + |------------|--------------|-------------|-------------|------------| 39 + | MCP47FVB02 | 8-bit | 2 | 1 | RAM | 40 + | MCP47FVB12 | 10-bit | 2 | 1 | RAM | 41 + | MCP47FVB22 | 12-bit | 2 | 1 | RAM | 42 + |------------|--------------|-------------|-------------|------------| 43 + | MCP47FVB04 | 8-bit | 4 | 2 | RAM | 44 + | MCP47FVB14 | 10-bit | 4 | 2 | RAM | 45 + | MCP47FVB24 | 12-bit | 4 | 2 | RAM | 46 + |------------|--------------|-------------|-------------|------------| 47 + | MCP47FVB08 | 8-bit | 8 | 2 | RAM | 48 + | MCP47FVB18 | 10-bit | 8 | 2 | RAM | 49 + | MCP47FVB28 | 12-bit | 8 | 2 | RAM | 50 + |------------|--------------|-------------|-------------|------------| 51 + | MCP47FEB04 | 8-bit | 4 | 2 | EEPROM | 52 + | MCP47FEB14 | 10-bit | 4 | 2 | EEPROM | 53 + | MCP47FEB24 | 12-bit | 4 | 2 | EEPROM | 54 + |------------|--------------|-------------|-------------|------------| 55 + | MCP47FEB08 | 8-bit | 8 | 2 | EEPROM | 56 + | MCP47FEB18 | 10-bit | 8 | 2 | EEPROM | 57 + | MCP47FEB28 | 12-bit | 8 | 2 | EEPROM | 58 + +------------+--------------+-------------+-------------+------------+ 59 + 60 + properties: 61 + compatible: 62 + enum: 63 + - microchip,mcp47feb01 64 + - microchip,mcp47feb11 65 + - microchip,mcp47feb21 66 + - microchip,mcp47feb02 67 + - microchip,mcp47feb12 68 + - microchip,mcp47feb22 69 + - microchip,mcp47fvb01 70 + - microchip,mcp47fvb11 71 + - microchip,mcp47fvb21 72 + - microchip,mcp47fvb02 73 + - microchip,mcp47fvb12 74 + - microchip,mcp47fvb22 75 + - microchip,mcp47fvb04 76 + - microchip,mcp47fvb14 77 + - microchip,mcp47fvb24 78 + - microchip,mcp47fvb08 79 + - microchip,mcp47fvb18 80 + - microchip,mcp47fvb28 81 + - microchip,mcp47feb04 82 + - microchip,mcp47feb14 83 + - microchip,mcp47feb24 84 + - microchip,mcp47feb08 85 + - microchip,mcp47feb18 86 + - microchip,mcp47feb28 87 + 88 + reg: 89 + maxItems: 1 90 + 91 + "#address-cells": 92 + const: 1 93 + 94 + "#size-cells": 95 + const: 0 96 + 97 + vdd-supply: 98 + description: 99 + Provides power to the chip and it could be used as reference voltage. The 100 + voltage is used to calculate scale. For parts without EEPROM at powerup 101 + this will be the selected as voltage reference. 102 + 103 + vref-supply: 104 + description: | 105 + Vref pin (it could be found as Vref0 into the datasheet) may be used as a 106 + voltage reference when this supply is specified. The internal reference 107 + will be taken into account for voltage reference besides VDD if this supply 108 + does not exist. 109 + 110 + This supply will be voltage reference for the following outputs: 111 + - for single-channel device: Vout0; 112 + - for dual-channel device: Vout0, Vout1; 113 + - for quad-channel device: Vout0, Vout2; 114 + - for octal-channel device: Vout0, Vout2, Vout6, Vout8; 115 + 116 + vref1-supply: 117 + description: | 118 + Vref1 pin may be used as a voltage reference when this supply is specified. 119 + The internal reference will be taken into account for voltage reference 120 + beside VDD if this supply does not exist. 121 + 122 + This supply will be voltage reference for the following outputs: 123 + - for quad-channel device: Vout1, Vout3; 124 + - for octal-channel device: Vout1, Vout3, Vout5, Vout7; 125 + 126 + lat-gpios: 127 + description: 128 + LAT pin to be used as a hardware trigger to synchronously update the DAC 129 + channels. The pin is active Low. It could be also found as LAT0 in 130 + datasheet. 131 + maxItems: 1 132 + 133 + lat1-gpios: 134 + description: 135 + LAT1 pin to be used as a hardware trigger to synchronously update the odd 136 + DAC channels on devices with 4 and 8 channels. The pin is active Low. 137 + maxItems: 1 138 + 139 + microchip,vref-buffered: 140 + type: boolean 141 + description: 142 + Enable buffering of the external Vref/Vref0 pin in cases where the 143 + external reference voltage does not have sufficient current capability in 144 + order not to drop it’s voltage when connected to the internal resistor 145 + ladder circuit. 146 + 147 + microchip,vref1-buffered: 148 + type: boolean 149 + description: 150 + Enable buffering of the external Vref1 pin in cases where the external 151 + reference voltage does not have sufficient current capability in order not 152 + to drop it’s voltage when connected to the internal resistor ladder 153 + circuit. 154 + 155 + patternProperties: 156 + "^channel@[0-7]$": 157 + $ref: dac.yaml 158 + type: object 159 + description: Voltage output channel. 160 + 161 + properties: 162 + reg: 163 + description: The channel number. 164 + minItems: 1 165 + maxItems: 8 166 + 167 + label: 168 + description: Unique name to identify which channel this is. 169 + 170 + required: 171 + - reg 172 + 173 + unevaluatedProperties: false 174 + 175 + required: 176 + - compatible 177 + - reg 178 + - vdd-supply 179 + 180 + allOf: 181 + - if: 182 + properties: 183 + compatible: 184 + contains: 185 + enum: 186 + - microchip,mcp47feb01 187 + - microchip,mcp47feb11 188 + - microchip,mcp47feb21 189 + - microchip,mcp47fvb01 190 + - microchip,mcp47fvb11 191 + - microchip,mcp47fvb21 192 + then: 193 + properties: 194 + lat1-gpios: false 195 + vref1-supply: false 196 + microchip,vref1-buffered: false 197 + channel@0: 198 + properties: 199 + reg: 200 + const: 0 201 + patternProperties: 202 + "^channel@[1-7]$": false 203 + - if: 204 + properties: 205 + compatible: 206 + contains: 207 + enum: 208 + - microchip,mcp47feb02 209 + - microchip,mcp47feb12 210 + - microchip,mcp47feb22 211 + - microchip,mcp47fvb02 212 + - microchip,mcp47fvb12 213 + - microchip,mcp47fvb22 214 + then: 215 + properties: 216 + lat1-gpios: false 217 + vref1-supply: false 218 + microchip,vref1-buffered: false 219 + patternProperties: 220 + "^channel@[0-1]$": 221 + properties: 222 + reg: 223 + enum: [0, 1] 224 + "^channel@[2-7]$": false 225 + - if: 226 + properties: 227 + compatible: 228 + contains: 229 + enum: 230 + - microchip,mcp47fvb04 231 + - microchip,mcp47fvb14 232 + - microchip,mcp47fvb24 233 + - microchip,mcp47feb04 234 + - microchip,mcp47feb14 235 + - microchip,mcp47feb24 236 + then: 237 + patternProperties: 238 + "^channel@[0-3]$": 239 + properties: 240 + reg: 241 + enum: [0, 1, 2, 3] 242 + "^channel@[4-7]$": false 243 + - if: 244 + properties: 245 + compatible: 246 + contains: 247 + enum: 248 + - microchip,mcp47fvb08 249 + - microchip,mcp47fvb18 250 + - microchip,mcp47fvb28 251 + - microchip,mcp47feb08 252 + - microchip,mcp47feb18 253 + - microchip,mcp47feb28 254 + then: 255 + patternProperties: 256 + "^channel@[0-7]$": 257 + properties: 258 + reg: 259 + enum: [0, 1, 2, 3, 4, 5, 6, 7] 260 + - if: 261 + not: 262 + required: 263 + - vref-supply 264 + then: 265 + properties: 266 + microchip,vref-buffered: false 267 + - if: 268 + not: 269 + required: 270 + - vref1-supply 271 + then: 272 + properties: 273 + microchip,vref1-buffered: false 274 + 275 + additionalProperties: false 276 + 277 + examples: 278 + - | 279 + i2c { 280 + 281 + #address-cells = <1>; 282 + #size-cells = <0>; 283 + dac@0 { 284 + compatible = "microchip,mcp47feb02"; 285 + reg = <0>; 286 + vdd-supply = <&vdac_vdd>; 287 + vref-supply = <&vref_reg>; 288 + 289 + #address-cells = <1>; 290 + #size-cells = <0>; 291 + channel@0 { 292 + reg = <0>; 293 + label = "Adjustable_voltage_ch0"; 294 + }; 295 + 296 + channel@1 { 297 + reg = <0x1>; 298 + label = "Adjustable_voltage_ch1"; 299 + }; 300 + }; 301 + }; 302 + ...
+6
MAINTAINERS
··· 15655 15655 F: drivers/iio/potentiometer/mcp4018.c 15656 15656 F: drivers/iio/potentiometer/mcp4531.c 15657 15657 15658 + MCP47FEB02 MICROCHIP DAC DRIVER 15659 + M: Ariana Lazar <ariana.lazar@microchip.com> 15660 + L: linux-iio@vger.kernel.org 15661 + S: Supported 15662 + F: Documentation/devicetree/bindings/iio/dac/microchip,mcp47feb02.yaml 15663 + 15658 15664 MCP4821 DAC DRIVER 15659 15665 M: Anshul Dalal <anshulusr@gmail.com> 15660 15666 L: linux-iio@vger.kernel.org