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