Message ID | 20240619064904.73832-5-kimseer.paller@analog.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | Add driver for LTC2664 and LTC2672 | expand |
On Wed, Jun 19, 2024 at 02:49:03PM +0800, Kim Seer Paller wrote: > +patternProperties: > + "^channel@[0-4]$": > + type: object > + additionalProperties: false > + > + properties: > + reg: > + description: The channel number representing the DAC output channel. > + maximum: 4 > + > + adi,toggle-mode: > + description: > + Set the channel as a toggle enabled channel. Toggle operation enables > + fast switching of a DAC output between two different DAC codes without > + any SPI transaction. > + type: boolean > + > + adi,output-range-microamp: > + description: Specify the channel output full scale range. > + enum: [3125000, 6250000, 12500000, 25000000, 50000000, 100000000, > + 200000000, 300000000] IIO folks, is this sort of thing common/likely to exist on other DACs?
On Wed, 19 Jun 2024 18:57:59 +0100 Conor Dooley <conor@kernel.org> wrote: > On Wed, Jun 19, 2024 at 02:49:03PM +0800, Kim Seer Paller wrote: > > +patternProperties: > > + "^channel@[0-4]$": > > + type: object > > + additionalProperties: false > > + > > + properties: > > + reg: > > + description: The channel number representing the DAC output channel. > > + maximum: 4 > > + > > + adi,toggle-mode: > > + description: > > + Set the channel as a toggle enabled channel. Toggle operation enables > > + fast switching of a DAC output between two different DAC codes without > > + any SPI transaction. > > + type: boolean > > + > > + adi,output-range-microamp: > > + description: Specify the channel output full scale range. > > + enum: [3125000, 6250000, 12500000, 25000000, 50000000, 100000000, > > + 200000000, 300000000] > > IIO folks, is this sort of thing common/likely to exist on other DACs? Fair point. It is probably time to conclude this is at least moderately common and generalize it - which will need a dac.yaml similar to the one we have for ADCs in adc/adc.yaml. That will need to make this a per channel node property (same as the adc ones). I'd also expect it to always take 2 values. In many cases the first will be 0 but that is fine. Jonathan
On Sun, Jun 23, 2024 at 02:43:39PM +0100, Jonathan Cameron wrote: > On Wed, 19 Jun 2024 18:57:59 +0100 > Conor Dooley <conor@kernel.org> wrote: > > > On Wed, Jun 19, 2024 at 02:49:03PM +0800, Kim Seer Paller wrote: > > > +patternProperties: > > > + "^channel@[0-4]$": > > > + type: object > > > + additionalProperties: false > > > + > > > + properties: > > > + reg: > > > + description: The channel number representing the DAC output channel. > > > + maximum: 4 > > > + > > > + adi,toggle-mode: > > > + description: > > > + Set the channel as a toggle enabled channel. Toggle operation enables > > > + fast switching of a DAC output between two different DAC codes without > > > + any SPI transaction. > > > + type: boolean > > > + > > > + adi,output-range-microamp: > > > + description: Specify the channel output full scale range. > > > + enum: [3125000, 6250000, 12500000, 25000000, 50000000, 100000000, > > > + 200000000, 300000000] > > > > IIO folks, is this sort of thing common/likely to exist on other DACs? > > Fair point. It is probably time to conclude this is at least moderately common > and generalize it - which will need a dac.yaml similar to the one we have for > ADCs in adc/adc.yaml. That will need to make this a per channel node > property (same as the adc ones). Looks like it is already per channel node? > I'd also expect it to always take 2 values. In many cases the first will be 0 > but that is fine. What would that first value represent?
On Sun, 23 Jun 2024 15:03:47 +0100 Conor Dooley <conor@kernel.org> wrote: > On Sun, Jun 23, 2024 at 02:43:39PM +0100, Jonathan Cameron wrote: > > On Wed, 19 Jun 2024 18:57:59 +0100 > > Conor Dooley <conor@kernel.org> wrote: > > > > > On Wed, Jun 19, 2024 at 02:49:03PM +0800, Kim Seer Paller wrote: > > > > +patternProperties: > > > > + "^channel@[0-4]$": > > > > + type: object > > > > + additionalProperties: false > > > > + > > > > + properties: > > > > + reg: > > > > + description: The channel number representing the DAC output channel. > > > > + maximum: 4 > > > > + > > > > + adi,toggle-mode: > > > > + description: > > > > + Set the channel as a toggle enabled channel. Toggle operation enables > > > > + fast switching of a DAC output between two different DAC codes without > > > > + any SPI transaction. > > > > + type: boolean > > > > + > > > > + adi,output-range-microamp: > > > > + description: Specify the channel output full scale range. > > > > + enum: [3125000, 6250000, 12500000, 25000000, 50000000, 100000000, > > > > + 200000000, 300000000] > > > > > > IIO folks, is this sort of thing common/likely to exist on other DACs? > > > > Fair point. It is probably time to conclude this is at least moderately common > > and generalize it - which will need a dac.yaml similar to the one we have for > > ADCs in adc/adc.yaml. That will need to make this a per channel node > > property (same as the adc ones). > > Looks like it is already per channel node? Absolutely - but that is a bit fiddlier to do in a generic file so I just meant make sure to enforce that in a similar fashion to adc.yaml. > > > I'd also expect it to always take 2 values. In many cases the first will be 0 > > but that is fine. > > What would that first value represent? Hmm. For voltage equivalent they are often not zero based so it would be the negative. I have no idea if there are current dacs that act as both sources and sinks... So maybe voltage one which should be done in this series as well needs to be 2 value and current variant maybe not. Jonathan
> -----Original Message----- > From: Jonathan Cameron <jic23@kernel.org> > Sent: Sunday, June 23, 2024 9:44 PM > To: Conor Dooley <conor@kernel.org> > Cc: Paller, Kim Seer <KimSeer.Paller@analog.com>; linux- > kernel@vger.kernel.org; linux-iio@vger.kernel.org; devicetree@vger.kernel.org; > David Lechner <dlechner@baylibre.com>; Lars-Peter Clausen > <lars@metafoo.de>; Liam Girdwood <lgirdwood@gmail.com>; Mark Brown > <broonie@kernel.org>; Dimitri Fedrau <dima.fedrau@gmail.com>; Krzysztof > Kozlowski <krzk+dt@kernel.org>; Rob Herring <robh@kernel.org>; Conor > Dooley <conor+dt@kernel.org>; Hennerich, Michael > <Michael.Hennerich@analog.com>; Nuno Sá <noname.nuno@gmail.com> > Subject: Re: [PATCH v4 4/5] dt-bindings: iio: dac: Add adi,ltc2672.yaml > > [External] > > On Wed, 19 Jun 2024 18:57:59 +0100 > Conor Dooley <conor@kernel.org> wrote: > > > On Wed, Jun 19, 2024 at 02:49:03PM +0800, Kim Seer Paller wrote: > > > +patternProperties: > > > + "^channel@[0-4]$": > > > + type: object > > > + additionalProperties: false > > > + > > > + properties: > > > + reg: > > > + description: The channel number representing the DAC output > channel. > > > + maximum: 4 > > > + > > > + adi,toggle-mode: > > > + description: > > > + Set the channel as a toggle enabled channel. Toggle operation > enables > > > + fast switching of a DAC output between two different DAC codes > without > > > + any SPI transaction. > > > + type: boolean > > > + > > > + adi,output-range-microamp: > > > + description: Specify the channel output full scale range. > > > + enum: [3125000, 6250000, 12500000, 25000000, 50000000, > 100000000, > > > + 200000000, 300000000] > > > > IIO folks, is this sort of thing common/likely to exist on other DACs? > > Fair point. It is probably time to conclude this is at least moderately common > and generalize it - which will need a dac.yaml similar to the one we have for > ADCs in adc/adc.yaml. That will need to make this a per channel node property > (same as the adc ones). Should I proceed with generalizing common DAC properties in this series and does this mean somehow removing these common properties from existing DAC bindings? > > I'd also expect it to always take 2 values. In many cases the first will be 0 but > that is fine. > > Jonathan
On Mon, Jun 24, 2024 at 03:26:26PM +0000, Paller, Kim Seer wrote: > > > > -----Original Message----- > > From: Jonathan Cameron <jic23@kernel.org> > > Sent: Sunday, June 23, 2024 9:44 PM > > To: Conor Dooley <conor@kernel.org> > > Cc: Paller, Kim Seer <KimSeer.Paller@analog.com>; linux- > > kernel@vger.kernel.org; linux-iio@vger.kernel.org; devicetree@vger.kernel.org; > > David Lechner <dlechner@baylibre.com>; Lars-Peter Clausen > > <lars@metafoo.de>; Liam Girdwood <lgirdwood@gmail.com>; Mark Brown > > <broonie@kernel.org>; Dimitri Fedrau <dima.fedrau@gmail.com>; Krzysztof > > Kozlowski <krzk+dt@kernel.org>; Rob Herring <robh@kernel.org>; Conor > > Dooley <conor+dt@kernel.org>; Hennerich, Michael > > <Michael.Hennerich@analog.com>; Nuno Sá <noname.nuno@gmail.com> > > Subject: Re: [PATCH v4 4/5] dt-bindings: iio: dac: Add adi,ltc2672.yaml > > > > [External] > > > > On Wed, 19 Jun 2024 18:57:59 +0100 > > Conor Dooley <conor@kernel.org> wrote: > > > > > On Wed, Jun 19, 2024 at 02:49:03PM +0800, Kim Seer Paller wrote: > > > > +patternProperties: > > > > + "^channel@[0-4]$": > > > > + type: object > > > > + additionalProperties: false > > > > + > > > > + properties: > > > > + reg: > > > > + description: The channel number representing the DAC output > > channel. > > > > + maximum: 4 > > > > + > > > > + adi,toggle-mode: > > > > + description: > > > > + Set the channel as a toggle enabled channel. Toggle operation > > enables > > > > + fast switching of a DAC output between two different DAC codes > > without > > > > + any SPI transaction. > > > > + type: boolean > > > > + > > > > + adi,output-range-microamp: > > > > + description: Specify the channel output full scale range. > > > > + enum: [3125000, 6250000, 12500000, 25000000, 50000000, > > 100000000, > > > > + 200000000, 300000000] > > > > > > IIO folks, is this sort of thing common/likely to exist on other DACs? > > > > Fair point. It is probably time to conclude this is at least moderately common > > and generalize it - which will need a dac.yaml similar to the one we have for > > ADCs in adc/adc.yaml. That will need to make this a per channel node property > > (same as the adc ones). > > Should I proceed with generalizing common DAC properties in this series and does I think so, yes. > this mean somehow removing these common properties from existing DAC bindings? I think that that one is up to Jonathan. > > I'd also expect it to always take 2 values. In many cases the first will be 0 but > > that is fine. > > > > Jonathan >
On Mon, 24 Jun 2024 18:00:24 +0100 Conor Dooley <conor@kernel.org> wrote: > On Mon, Jun 24, 2024 at 03:26:26PM +0000, Paller, Kim Seer wrote: > > > > > > > -----Original Message----- > > > From: Jonathan Cameron <jic23@kernel.org> > > > Sent: Sunday, June 23, 2024 9:44 PM > > > To: Conor Dooley <conor@kernel.org> > > > Cc: Paller, Kim Seer <KimSeer.Paller@analog.com>; linux- > > > kernel@vger.kernel.org; linux-iio@vger.kernel.org; devicetree@vger.kernel.org; > > > David Lechner <dlechner@baylibre.com>; Lars-Peter Clausen > > > <lars@metafoo.de>; Liam Girdwood <lgirdwood@gmail.com>; Mark Brown > > > <broonie@kernel.org>; Dimitri Fedrau <dima.fedrau@gmail.com>; Krzysztof > > > Kozlowski <krzk+dt@kernel.org>; Rob Herring <robh@kernel.org>; Conor > > > Dooley <conor+dt@kernel.org>; Hennerich, Michael > > > <Michael.Hennerich@analog.com>; Nuno Sá <noname.nuno@gmail.com> > > > Subject: Re: [PATCH v4 4/5] dt-bindings: iio: dac: Add adi,ltc2672.yaml > > > > > > [External] > > > > > > On Wed, 19 Jun 2024 18:57:59 +0100 > > > Conor Dooley <conor@kernel.org> wrote: > > > > > > > On Wed, Jun 19, 2024 at 02:49:03PM +0800, Kim Seer Paller wrote: > > > > > +patternProperties: > > > > > + "^channel@[0-4]$": > > > > > + type: object > > > > > + additionalProperties: false > > > > > + > > > > > + properties: > > > > > + reg: > > > > > + description: The channel number representing the DAC output > > > channel. > > > > > + maximum: 4 > > > > > + > > > > > + adi,toggle-mode: > > > > > + description: > > > > > + Set the channel as a toggle enabled channel. Toggle operation > > > enables > > > > > + fast switching of a DAC output between two different DAC codes > > > without > > > > > + any SPI transaction. > > > > > + type: boolean > > > > > + > > > > > + adi,output-range-microamp: > > > > > + description: Specify the channel output full scale range. > > > > > + enum: [3125000, 6250000, 12500000, 25000000, 50000000, > > > 100000000, > > > > > + 200000000, 300000000] > > > > > > > > IIO folks, is this sort of thing common/likely to exist on other DACs? > > > > > > Fair point. It is probably time to conclude this is at least moderately common > > > and generalize it - which will need a dac.yaml similar to the one we have for > > > ADCs in adc/adc.yaml. That will need to make this a per channel node property > > > (same as the adc ones). > > > > Should I proceed with generalizing common DAC properties in this series and does > > I think so, yes. Yes, that would great. > > > this mean somehow removing these common properties from existing DAC bindings? > > I think that that one is up to Jonathan. We can deprecate them. At somepoint we can remove them form the documented bindings but we will need to keep them in drivers forever (which won't be costly in this case). Jonathan > > > > I'd also expect it to always take 2 values. In many cases the first will be 0 but > > > that is fine. > > > > > > Jonathan > > >
> -----Original Message----- > From: Jonathan Cameron <Jonathan.Cameron@Huawei.com> > Sent: Tuesday, June 25, 2024 1:38 AM > To: Conor Dooley <conor@kernel.org> > Cc: Paller, Kim Seer <KimSeer.Paller@analog.com>; Jonathan Cameron > <jic23@kernel.org>; linux-kernel@vger.kernel.org; linux-iio@vger.kernel.org; > devicetree@vger.kernel.org; David Lechner <dlechner@baylibre.com>; Lars- > Peter Clausen <lars@metafoo.de>; Liam Girdwood <lgirdwood@gmail.com>; > Mark Brown <broonie@kernel.org>; Dimitri Fedrau <dima.fedrau@gmail.com>; > Krzysztof Kozlowski <krzk+dt@kernel.org>; Rob Herring <robh@kernel.org>; > Conor Dooley <conor+dt@kernel.org>; Hennerich, Michael > <Michael.Hennerich@analog.com>; Nuno Sá <noname.nuno@gmail.com> > Subject: Re: [PATCH v4 4/5] dt-bindings: iio: dac: Add adi,ltc2672.yaml > > [External] > > On Mon, 24 Jun 2024 18:00:24 +0100 > Conor Dooley <conor@kernel.org> wrote: > > > On Mon, Jun 24, 2024 at 03:26:26PM +0000, Paller, Kim Seer wrote: > > > > > > > > > > -----Original Message----- > > > > From: Jonathan Cameron <jic23@kernel.org> > > > > Sent: Sunday, June 23, 2024 9:44 PM > > > > To: Conor Dooley <conor@kernel.org> > > > > Cc: Paller, Kim Seer <KimSeer.Paller@analog.com>; linux- > > > > kernel@vger.kernel.org; linux-iio@vger.kernel.org; > devicetree@vger.kernel.org; > > > > David Lechner <dlechner@baylibre.com>; Lars-Peter Clausen > > > > <lars@metafoo.de>; Liam Girdwood <lgirdwood@gmail.com>; Mark > Brown > > > > <broonie@kernel.org>; Dimitri Fedrau <dima.fedrau@gmail.com>; > Krzysztof > > > > Kozlowski <krzk+dt@kernel.org>; Rob Herring <robh@kernel.org>; Conor > > > > Dooley <conor+dt@kernel.org>; Hennerich, Michael > > > > <Michael.Hennerich@analog.com>; Nuno Sá <noname.nuno@gmail.com> > > > > Subject: Re: [PATCH v4 4/5] dt-bindings: iio: dac: Add adi,ltc2672.yaml > > > > > > > > [External] > > > > > > > > On Wed, 19 Jun 2024 18:57:59 +0100 > > > > Conor Dooley <conor@kernel.org> wrote: > > > > > > > > > On Wed, Jun 19, 2024 at 02:49:03PM +0800, Kim Seer Paller wrote: > > > > > > +patternProperties: > > > > > > + "^channel@[0-4]$": > > > > > > + type: object > > > > > > + additionalProperties: false > > > > > > + > > > > > > + properties: > > > > > > + reg: > > > > > > + description: The channel number representing the DAC output > > > > channel. > > > > > > + maximum: 4 > > > > > > + > > > > > > + adi,toggle-mode: > > > > > > + description: > > > > > > + Set the channel as a toggle enabled channel. Toggle operation > > > > enables > > > > > > + fast switching of a DAC output between two different DAC > codes > > > > without > > > > > > + any SPI transaction. > > > > > > + type: boolean > > > > > > + > > > > > > + adi,output-range-microamp: > > > > > > + description: Specify the channel output full scale range. > > > > > > + enum: [3125000, 6250000, 12500000, 25000000, 50000000, > > > > 100000000, > > > > > > + 200000000, 300000000] > > > > > > > > > > IIO folks, is this sort of thing common/likely to exist on other DACs? > > > > > > > > Fair point. It is probably time to conclude this is at least moderately > common > > > > and generalize it - which will need a dac.yaml similar to the one we have > for > > > > ADCs in adc/adc.yaml. That will need to make this a per channel node > property > > > > (same as the adc ones). > > > > > > Should I proceed with generalizing common DAC properties in this series > and does > > > > I think so, yes. > > Yes, that would great. I was wondering who would be the designated maintainer for new dac.yaml? > > > > > this mean somehow removing these common properties from existing DAC > bindings? > > > > I think that that one is up to Jonathan. > > We can deprecate them. At somepoint we can remove them form the > documented bindings > but we will need to keep them in drivers forever (which won't be costly in this > case). > > Jonathan > > > > > > > I'd also expect it to always take 2 values. In many cases the first will be 0 > but > > > > that is fine. > > > > > > > > Jonathan > > > > >
On Tue, Jun 25, 2024 at 03:51:27PM +0000, Paller, Kim Seer wrote: > > > > From: Jonathan Cameron <Jonathan.Cameron@Huawei.com> > > On Mon, 24 Jun 2024 18:00:24 +0100 > > Conor Dooley <conor@kernel.org> wrote: > > > > > On Mon, Jun 24, 2024 at 03:26:26PM +0000, Paller, Kim Seer wrote: > > > > > > > > > > > > > From: Jonathan Cameron <jic23@kernel.org> > > > > > Subject: Re: [PATCH v4 4/5] dt-bindings: iio: dac: Add adi,ltc2672.yaml > > > > > > > > > > > > > > > On Wed, 19 Jun 2024 18:57:59 +0100 > > > > > Conor Dooley <conor@kernel.org> wrote: > > > > > > > > > > > On Wed, Jun 19, 2024 at 02:49:03PM +0800, Kim Seer Paller wrote: > > > > > > > +patternProperties: > > > > > > > + "^channel@[0-4]$": > > > > > > > + type: object > > > > > > > + additionalProperties: false > > > > > > > + > > > > > > > + properties: > > > > > > > + reg: > > > > > > > + description: The channel number representing the DAC output > > > > > channel. > > > > > > > + maximum: 4 > > > > > > > + > > > > > > > + adi,toggle-mode: > > > > > > > + description: > > > > > > > + Set the channel as a toggle enabled channel. Toggle operation > > > > > enables > > > > > > > + fast switching of a DAC output between two different DAC > > codes > > > > > without > > > > > > > + any SPI transaction. > > > > > > > + type: boolean > > > > > > > + > > > > > > > + adi,output-range-microamp: > > > > > > > + description: Specify the channel output full scale range. > > > > > > > + enum: [3125000, 6250000, 12500000, 25000000, 50000000, > > > > > 100000000, > > > > > > > + 200000000, 300000000] > > > > > > > > > > > > IIO folks, is this sort of thing common/likely to exist on other DACs? > > > > > > > > > > Fair point. It is probably time to conclude this is at least moderately > > common > > > > > and generalize it - which will need a dac.yaml similar to the one we have > > for > > > > > ADCs in adc/adc.yaml. That will need to make this a per channel node > > property > > > > > (same as the adc ones). > > > > > > > > Should I proceed with generalizing common DAC properties in this series > > and does > > > > > > I think so, yes. > > > > Yes, that would great. > > I was wondering who would be the designated maintainer for new dac.yaml? I'd suggest Jonathan! > > > > this mean somehow removing these common properties from existing DAC > > bindings? > > > > > > I think that that one is up to Jonathan. > > > > We can deprecate them. At somepoint we can remove them form the > > documented bindings > > but we will need to keep them in drivers forever (which won't be costly in this > > case). Right. Anything where the name _would change_ needs to be deprecated and kept forever. I was thinking more about properties that are defined in multiple locations with the same name, e.g. if "output-range-microvolts" existed in 6 different bindings. Thanks, Conor.
On Tue, 25 Jun 2024 17:20:48 +0100 Conor Dooley <conor@kernel.org> wrote: > On Tue, Jun 25, 2024 at 03:51:27PM +0000, Paller, Kim Seer wrote: > > > > > > > From: Jonathan Cameron <Jonathan.Cameron@Huawei.com> > > > > On Mon, 24 Jun 2024 18:00:24 +0100 > > > Conor Dooley <conor@kernel.org> wrote: > > > > > > > On Mon, Jun 24, 2024 at 03:26:26PM +0000, Paller, Kim Seer wrote: > > > > > > > > > > > > > > > > From: Jonathan Cameron <jic23@kernel.org> > > > > > > > Subject: Re: [PATCH v4 4/5] dt-bindings: iio: dac: Add adi,ltc2672.yaml > > > > > > > > > > > > > > > > > > On Wed, 19 Jun 2024 18:57:59 +0100 > > > > > > Conor Dooley <conor@kernel.org> wrote: > > > > > > > > > > > > > On Wed, Jun 19, 2024 at 02:49:03PM +0800, Kim Seer Paller wrote: > > > > > > > > +patternProperties: > > > > > > > > + "^channel@[0-4]$": > > > > > > > > + type: object > > > > > > > > + additionalProperties: false > > > > > > > > + > > > > > > > > + properties: > > > > > > > > + reg: > > > > > > > > + description: The channel number representing the DAC output > > > > > > channel. > > > > > > > > + maximum: 4 > > > > > > > > + > > > > > > > > + adi,toggle-mode: > > > > > > > > + description: > > > > > > > > + Set the channel as a toggle enabled channel. Toggle operation > > > > > > enables > > > > > > > > + fast switching of a DAC output between two different DAC > > > codes > > > > > > without > > > > > > > > + any SPI transaction. > > > > > > > > + type: boolean > > > > > > > > + > > > > > > > > + adi,output-range-microamp: > > > > > > > > + description: Specify the channel output full scale range. > > > > > > > > + enum: [3125000, 6250000, 12500000, 25000000, 50000000, > > > > > > 100000000, > > > > > > > > + 200000000, 300000000] > > > > > > > > > > > > > > IIO folks, is this sort of thing common/likely to exist on other DACs? > > > > > > > > > > > > Fair point. It is probably time to conclude this is at least moderately > > > common > > > > > > and generalize it - which will need a dac.yaml similar to the one we have > > > for > > > > > > ADCs in adc/adc.yaml. That will need to make this a per channel node > > > property > > > > > > (same as the adc ones). > > > > > > > > > > Should I proceed with generalizing common DAC properties in this series > > > and does > > > > > > > > I think so, yes. > > > > > > Yes, that would great. > > > > I was wondering who would be the designated maintainer for new dac.yaml? > > I'd suggest Jonathan! Sure. Though if anyone else wants to maintain this one they'd be welcome :) > > > > > > this mean somehow removing these common properties from existing DAC > > > bindings? > > > > > > > > I think that that one is up to Jonathan. > > > > > > We can deprecate them. At somepoint we can remove them form the > > > documented bindings > > > but we will need to keep them in drivers forever (which won't be costly in this > > > case). > > Right. Anything where the name _would change_ needs to be deprecated and > kept forever. I was thinking more about properties that are defined in > multiple locations with the same name, e.g. if "output-range-microvolts" > existed in 6 different bindings. > > Thanks, > Conor.
diff --git a/Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml b/Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml new file mode 100644 index 000000000000..0ccf53fb22cc --- /dev/null +++ b/Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml @@ -0,0 +1,158 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/dac/adi,ltc2672.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices LTC2672 DAC + +maintainers: + - Michael Hennerich <michael.hennerich@analog.com> + - Kim Seer Paller <kimseer.paller@analog.com> + +description: | + Analog Devices LTC2672 5 channel, 12-/16-Bit, 300mA DAC + https://www.analog.com/media/en/technical-documentation/data-sheets/ltc2672.pdf + +properties: + compatible: + enum: + - adi,ltc2672 + + reg: + maxItems: 1 + + spi-max-frequency: + maximum: 50000000 + + vcc-supply: + description: Analog Supply Voltage Input. + + v-neg-supply: + description: Negative Supply Voltage Input. + + vdd0-supply: + description: Positive Supply Voltage Input for DAC OUT0. + + vdd1-supply: + description: Positive Supply Voltage Input for DAC OUT1. + + vdd2-supply: + description: Positive Supply Voltage Input for DAC OUT2. + + vdd3-supply: + description: Positive Supply Voltage Input for DAC OUT3. + + vdd4-supply: + description: Positive Supply Voltage Input for DAC OUT4. + + iovcc-supply: + description: Digital Input/Output Supply Voltage. + + ref-supply: + description: + Reference Input/Output. The voltage at the REF pin sets the full-scale + range of all channels. If not provided the internal reference is used and + also provided on the VREF pin. + + reset-gpios: + description: + Active Low Asynchronous Clear Input. A logic low at this level triggered + input clears the device to the default reset code and output range, which + is zero-scale with the outputs off. The control registers are cleared to + zero. + maxItems: 1 + + adi,rfsadj-ohms: + description: + If FSADJ is tied to VCC, an internal RFSADJ (20 kΩ) is selected, which + results in nominal output ranges. When an external resistor of 19 kΩ to + 41 kΩ can be used instead by connecting the resistor between FSADJ and GND + it controls the scaling of the ranges, and the internal resistor is + automatically disconnected. + minimum: 19000 + maximum: 41000 + default: 20000 + + io-channels: + description: + ADC channel to monitor voltages and currents at the MUX pin. + maxItems: 1 + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + +patternProperties: + "^channel@[0-4]$": + type: object + additionalProperties: false + + properties: + reg: + description: The channel number representing the DAC output channel. + maximum: 4 + + adi,toggle-mode: + description: + Set the channel as a toggle enabled channel. Toggle operation enables + fast switching of a DAC output between two different DAC codes without + any SPI transaction. + type: boolean + + adi,output-range-microamp: + description: Specify the channel output full scale range. + enum: [3125000, 6250000, 12500000, 25000000, 50000000, 100000000, + 200000000, 300000000] + + required: + - reg + - adi,output-range-microamp + +required: + - compatible + - reg + - spi-max-frequency + - vcc-supply + - iovcc-supply + - v-neg-supply + +allOf: + - $ref: /schemas/spi/spi-peripheral-props.yaml# + +additionalProperties: false + +examples: + - | + spi { + #address-cells = <1>; + #size-cells = <0>; + dac@0 { + compatible = "adi,ltc2672"; + reg = <0>; + spi-max-frequency = <10000000>; + + vcc-supply = <&vcc>; + iovcc-supply = <&vcc>; + ref-supply = <&vref>; + v-neg-supply = <&vneg>; + + io-channels = <&adc 0>; + + #address-cells = <1>; + #size-cells = <0>; + channel@0 { + reg = <0>; + adi,toggle-mode; + adi,output-range-microamp = <3125000>; + }; + + channel@1 { + reg = <1>; + adi,output-range-microamp = <6250000>; + }; + }; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index 849800d9cbf7..f4a5b5bc8ccc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13081,6 +13081,7 @@ L: linux-iio@vger.kernel.org S: Supported W: https://ez.analog.com/linux-software-drivers F: Documentation/devicetree/bindings/iio/dac/adi,ltc2664.yaml +F: Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml LTC2688 IIO DAC DRIVER M: Nuno Sá <nuno.sa@analog.com>