[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240619064904.73832-1-kimseer.paller@analog.com>
Date: Wed, 19 Jun 2024 14:48:59 +0800
From: Kim Seer Paller <kimseer.paller@...log.com>
To: <linux-kernel@...r.kernel.org>, <linux-iio@...r.kernel.org>,
<devicetree@...r.kernel.org>
CC: Jonathan Cameron <jic23@...nel.org>,
David Lechner
<dlechner@...libre.com>,
Lars-Peter Clausen <lars@...afoo.de>,
Liam Girdwood
<lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>,
Dimitri Fedrau
<dima.fedrau@...il.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Rob
Herring <robh@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Michael
Hennerich <michael.hennerich@...log.com>,
Nuno Sá
<noname.nuno@...il.com>,
Kim Seer Paller <kimseer.paller@...log.com>
Subject: [PATCH v4 0/5] Add driver for LTC2664 and LTC2672
Generalize the ABI documentation for DAC. The ABI defined for toggle mode
channels:
LTC2664:
* out_voltageY_toggle_en
* out_voltageY_raw0
* out_voltageY_raw1
* out_voltageY_symbol
LTC2672:
* out_currentY_toggle_en
* out_currentY_raw0
* out_currentY_raw1
* out_currentY_symbol
Default channels won't have any of the above ABIs. A channel is toggle capable
if the devicetree 'adi,toggle-mode' flag is set.
changes in v4:
ltc2664:
* Added comments for each field in the ltc2664_chan struct.
* Changed global_toggle data type to bool and updated vref and rfsadj variables
to include units.
* Added 0,0 entry in ltc2672_span_helper to removed the id field from the
ltc2664_chip_info struct.
* Used mul_u64_u32_div helper function from linux/math64.h to avoid integer
overflow during scale calculation.
* Refactored code to use a single template for channel instead of separate
channel arrays.
* Used the devm_regulator_get_enable_read_voltage API for simplifying voltage
retrieval.
ABI:
sysfs-bus-iio:
* Added commit message for the ABI changes.
sysfs-bus-iio-dac:
* Updated the description of toggle_en to clarify autonomous toggling.
* Fixed inconsistent use of spacing and tabs.
Bindings:
* Updated the description for both bindings to include both 12-bit and 16-bit
versions.
changes in v3:
ltc2664:
* Added span sanity check for no match.
* Initialized the variable 'span' to fix build warning.
* Added Reported-by and Closes by tag.
ABI:
* Modified descriptions to make it more generalize.
* Removed MAINTAINERS file entry.
Bindings:
* Changed clr-gpios to reset-gpios.
* Added output range and reset code description for 'adi,manual-span-operation-config'
property in ltc2664 binding.
* Removed the $ref for 'adi,output-range-microamp' due to dt-schema warning
in ltc2672 binding. Added Reported-by and Closes by tag.
* Modified io-channels description and added maxItems constraint.
changes in v2:
ltc2664:
* Updated struct ltc2664_chip_info to include device-specific data for scale,
offset, measurement type, internal vref, manual span support, and rfsadj
support.
* Added a read-only extended info attribute powerdown_mode to indicate the
state that the DAC output enters when the device is powered down.
* Refactored code for setting the span into separate function and directly
returning the span.
* Adjusted memory allocation for st->iio_channels to include null terminator.
* Spaces have been added after { and before }. Each pair of values is now
placed on a separate line.
ABI:
* Generalized the ABI documentation for DAC.
* Added DAC 42kohm_to_gnd powerdown mode.
Bindings:
* Created separate bindings for ltc2664 and ltc2672.
* Added v-pos-supply and v-neg-supply regulator properties.
* Renamed vref-supply to ref-supply based on the datasheet.
* Added io-channels property and specifying the pin for multiplexer output.
* Added vdd0-vdd4 supply properties for ltc2672, although they are not
currently supported in the driver.
* Changed clr-gpios description based on the datasheet.
* Used 4 spaces for example indentation.
Kim Seer Paller (5):
iio: ABI: Generalize ABI documentation for DAC
iio: ABI: add DAC 42kohm_to_gnd powerdown mode
dt-bindings: iio: dac: Add adi,ltc2664.yaml
dt-bindings: iio: dac: Add adi,ltc2672.yaml
iio: dac: ltc2664: Add driver for LTC2664 and LTC2672
Documentation/ABI/testing/sysfs-bus-iio | 1 +
Documentation/ABI/testing/sysfs-bus-iio-dac | 61 ++
.../ABI/testing/sysfs-bus-iio-dac-ltc2688 | 31 -
.../bindings/iio/dac/adi,ltc2664.yaml | 167 ++++
.../bindings/iio/dac/adi,ltc2672.yaml | 158 ++++
MAINTAINERS | 10 +
drivers/iio/dac/Kconfig | 11 +
drivers/iio/dac/Makefile | 1 +
drivers/iio/dac/ltc2664.c | 755 ++++++++++++++++++
9 files changed, 1164 insertions(+), 31 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-dac
create mode 100644 Documentation/devicetree/bindings/iio/dac/adi,ltc2664.yaml
create mode 100644 Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml
create mode 100644 drivers/iio/dac/ltc2664.c
base-commit: 07d4d0bb4a8ddcc463ed599b22f510d5926c2495
--
2.34.1
Powered by blists - more mailing lists