[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240718051834.32270-1-kimseer.paller@analog.com>
Date: Thu, 18 Jul 2024 13:18:28 +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 v8 0/6] 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 v8:
Bindings:
* Fixed mixed indentation in example section for ltc2664 and ltc2672 bindings.
* Added Reviewed-by tag for ltc2664 binding.
changes in v7:
Bindings:
* Reverted DAC bindings to original conditional requirements.
* Added Reviewed-by tag for dac.yaml.
changes in v6:
Bindings:
* Added clarification description for output-range-microvolt property and
modified conditional logic for output-range-microvolt for ltc2664 binding.
* Simplified schema validation logic for DAC binding.
* Added Reviewed-by tag for ltc2672 binding.
changes in v5:
ltc2664:
* Removed return statement for error code in ltc2664_dac_code_read making it a
void function.
* Refactored voltage regulator error handling and logic setting for vref_mv.
* Added Reviewed-by tag.
Bindings:
* Added dac.yaml and generalized DAC common properties.
* Modified ltc2664 binding adding constraints for the adi,manual-span-operation-config
and output-range-microvolt properties.
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:
* Dropped Reviewed-by tag.
* 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 (6):
iio: ABI: Generalize ABI documentation for DAC
iio: ABI: add DAC 42kohm_to_gnd powerdown mode
dt-bindings: iio: dac: Generalize DAC common properties
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 | 181 +++++
.../bindings/iio/dac/adi,ltc2672.yaml | 160 ++++
.../devicetree/bindings/iio/dac/dac.yaml | 50 ++
MAINTAINERS | 10 +
drivers/iio/dac/Kconfig | 11 +
drivers/iio/dac/Makefile | 1 +
drivers/iio/dac/ltc2664.c | 735 ++++++++++++++++++
10 files changed, 1210 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 Documentation/devicetree/bindings/iio/dac/dac.yaml
create mode 100644 drivers/iio/dac/ltc2664.c
base-commit: 1ebab783647a9e3bf357002d5c4ff060c8474a0a
--
2.34.1
Powered by blists - more mailing lists