Skip to content

Conversation

@rodrigo455
Copy link
Collaborator

@rodrigo455 rodrigo455 commented Nov 21, 2025

PR Description

This series modernizes the AD8366 amplifier/attenuator driver and adds support for additional device variants.

  • Adds support for HMC271 (legacy/obsolete part maintained in ADI tree)
  • Adds support for multiple digital step attenuators:
  • ADRF5720: 0.5 dB LSB, 6-Bit, Digital Attenuator, 9 kHz to 40 GHz
  • ADRF5730: 0.5 dB LSB, 6-Bit, Digital Attenuator, 100 MHz to 40 GHz
  • ADRF5731: 2 dB LSB, 4-Bit, Digital Attenuator, 100 MHz to 40 GHz
  • HMC1018A: 1.0 dB LSB GaAs MMIC 5-BIT DIGITAL ATTENUATOR, 0.1 - 30 GHz
  • HMC1019A: 0.5 dB LSB GaAs MMIC 5-BIT DIGITAL ATTENUATOR, 0.1 - 30 GHz

Device Tree Support:

  • Adds device tree binding documentation
  • Adds device tree compatible strings for all supported devices

PR Type

  • Bug fix (a change that fixes an issue)
  • New feature (a change that adds new functionality)
  • Breaking change (a change that affects other repos or cause CIs to fail)

PR Checklist

  • I have conducted a self-review of my own code changes
  • I have compiled my changes, including the documentation
  • I have tested the changes on the relevant hardware
  • I have updated the documentation outside this repo accordingly
  • I have provided links for the relevant upstream lore

@rodrigo455 rodrigo455 marked this pull request as draft November 21, 2025 16:56
@rodrigo455 rodrigo455 force-pushed the staging/jic23_iio_ad8366-update branch from 378f2b8 to df90254 Compare November 21, 2025 17:08
@github-actions github-actions bot force-pushed the mirror_ci/jic23/iio/testing branch 3 times, most recently from 573459b to 3982c2b Compare November 23, 2025 23:59
Copy link
Collaborator

@nunojsa nunojsa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should still add your sob tag for Michael's patches. If you actually change them in any meaningful way you should add co-authored-by tag. See git log for examples

@rodrigo455 rodrigo455 force-pushed the staging/jic23_iio_ad8366-update branch from df90254 to 02e319f Compare November 24, 2025 18:09
@github-actions github-actions bot force-pushed the mirror_ci/jic23/iio/testing branch 7 times, most recently from 7770c62 to 7dea437 Compare November 30, 2025 23:59
@github-actions github-actions bot force-pushed the mirror_ci/jic23/iio/testing branch 5 times, most recently from c477eb9 to 289f20e Compare December 5, 2025 23:59
amiclaus and others added 3 commits December 13, 2025 16:27
Add devicetree bindings for the ADL8113 Low Noise Amplifier.

The bindings include support for specifying gain values of external
amplifiers connected to the two external bypass paths (A and B). These
optional properties allow the gain values to be selectable via the
hardwaregain attribute, enabling complete devicetree description of
the signal chain including external components.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Add support for adl8113 10MHz to 12GHz Low Noise Amplifier with
10MHz to 14GHz bypass switches.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
The device has interrupts allocated according to the datasheet, and
the devicetree already defines the interrupt property. Address existing
warnings by allowing the property.

Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
@github-actions github-actions bot force-pushed the mirror_ci/jic23/iio/testing branch from e47e82c to 0b55a2a Compare December 14, 2025 00:00
kuu-rt and others added 7 commits December 14, 2025 14:44
Add documentation for Texas Instruments ADS1018 and ADS1118
analog-to-digital converters.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Kurt Borja <kuurtb@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Add ti-ads1018 driver for Texas Instruments ADS1018 and ADS1118 SPI
analog-to-digital converters.

This chips' MOSI pin is shared with a data-ready interrupt. Defining
this interrupt in devicetree is optional, therefore we only create an
IIO trigger if one is found.

Handling this interrupt requires some considerations. When enabling the
trigger the CS line is tied low (active), thus we need to hold
spi_bus_lock() too, to avoid state corruption. This is done inside the
set_trigger_state() callback, to let users use other triggers without
wasting a bus lock.

Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Kurt Borja <kuurtb@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This device has e.g. different scaling values than currently
listed devices.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Tomas Melin <tomas.melin@vaisala.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Include headers in ascending order.

Signed-off-by: Tomas Melin <tomas.melin@vaisala.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
The AD9211 is a 10-bit monolithic sampling analog-to-digital converter
optimized for high performance, low power, and ease of use. The product
operates at up to a 300 MSPS conversion rate and is optimized for
outstanding dynamic performance in wideband carrier and broadband systems.

The scale table implemented here is not an exact match with the
datasheet as the table presented there is missing some information.
The reference presents these values as being linear,
but that does not add up. There is information missing in the table.
Implemented scale table matches values at the middle and at the ends,
smoothing the curve towards middle and end.
Impact on end result from deviation in scale factor affects only software
using it for scaling. All the possible hw-settings are also available with
this implementation.

Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/AD9211.pdf
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Tomas Melin <tomas.melin@vaisala.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Adds binding for digital Honeywell ABP2 series pressure and temperature
sensors.
The i2c address is hardcoded and depends on the part number.
There is an optional interrupt that signals the end of conversion.

Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Petre Rodan <petre.rodan@subdimension.ro>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Adds driver for digital Honeywell ABP2 series of board mount
pressure and temperature sensors.

This driver covers 113 different pressure ranges and units on
both i2c and SPI buses.

The communication protocol involves sending two simple commands
to the sensor and there is no register access or a memory map.
For this reason the regmap API was not used.

The i2c address is hardcoded and depends on the part number.

Optional end of conversion interrupt control is present on the
i2c variants of the chips.
The EOC can also be defined for the SPI variants if a non-ABP2
but compatible chip is to be driven.

Tested on two sensors (ABP2MRRT001PDSA3 and ABP2DANT001BA2A3).

ocuments/sps-siot-abp2-series-datasheet-32350268-en.pdf

Datasheet: https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/products/sensors/pressure-sensors/board-mount-pressure-sensors/basic-abp2-series/d
Signed-off-by: Petre Rodan <petre.rodan@subdimension.ro>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
@github-actions github-actions bot force-pushed the mirror_ci/jic23/iio/testing branch from 0b55a2a to efa00f1 Compare December 15, 2025 00:00
This patch series modernizes the AD8366 amplifier/attenuator driver with
several improvements and adds support for additional device variants.

Device Support Expansion:
- Adds support for HMC271 (legacy/obsolete part maintained in ADI tree)
- Adds support for multiple digital step attenuators:
- ADRF5720: 0.5 dB LSB, 6-Bit, Digital Attenuator, 9 kHz to 40 GHz
- ADRF5730: 0.5 dB LSB, 6-Bit, Digital Attenuator, 100 MHz to 40 GHz
- ADRF5731: 2 dB LSB, 4-Bit, Digital Attenuator, 100 MHz to 40 GHz
- HMC1018A: 1.0 dB LSB GaAs MMIC 5-BIT DIGITAL ATTENUATOR, 0.1 - 30 GHz
- HMC1019A: 0.5 dB LSB GaAs MMIC 5-BIT DIGITAL ATTENUATOR, 0.1 - 30 GHz

Device Tree Support:
- Adds device tree binding documentation
- Adds device tree compatible strings for all supported devices

# Describe the purpose of this series. The information you put here
# will be used by the project maintainer to make a decision whether
# your patches should be reviewed, and in what priority order. Please be
# very detailed and link to any relevant discussions or sites that the
# maintainer can review to better understand your proposed changes. If you
# only have a single patch in your series, the contents of the cover
# letter will be appended to the "under-the-cut" portion of the patch.

# Lines starting with # will be removed from the cover letter. You can
# use them to add notes or reminders to yourself. If you want to use
# markdown headers in your cover letter, start the line with ">#".

# You can add trailers to the cover letter. Any email addresses found in
# these trailers will be added to the addresses specified/generated
# during the b4 send stage. You can also run "b4 prep --auto-to-cc" to
# auto-populate the To: and Cc: trailers based on the code being
# modified.

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>

--- b4-submit-tracking ---
# This section is used internally by b4 prep for tracking purposes.
{
  "series": {
    "revision": 1,
    "change-id": "20251121-iio-ad8366-update-56abac58bbca",
    "prefixes": []
  }
}
Add device tree binding documentation for amplifiers and digital
attenuators. This covers different device variants with similar
SPI control.

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
@rodrigo455 rodrigo455 force-pushed the staging/jic23_iio_ad8366-update branch from 02e319f to 30c99ef Compare December 15, 2025 15:42
commodo and others added 3 commits December 15, 2025 16:00
This patch adds support for following digital step attenuators:

 * HMC271A: 1dB LSB 5-Bit Digital Attenuator SMT, 0.7 - 3.7 GHz
 * ADRF5720: 0.5 dB LSB, 6-Bit, Digital Attenuator, 9 kHz to 40 GHz
 * ADRF5730: 0.5 dB LSB, 6-Bit, Digital Attenuator, 100 MHz to 40 GHz
 * ADRF5731: 2 dB LSB, 4-Bit, Digital Attenuator, 100 MHz to 40 GHz
 * HMC1018A: 1.0 dB LSB GaAs MMIC 5-BIT DIGITAL ATTENUATOR, 0.1 - 30 GHz
 * HMC1019A: 0.5 dB LSB GaAs MMIC 5-BIT DIGITAL ATTENUATOR, 0.1 - 30 GHz

Co-authored-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Co-authored-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
use guard() from cleanup for mutex locking.
replace mutex_init() for devm_mutex_init().

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
Device resource managed simplified with:
- voltage regulator managed internally.
- IIO device registration handled with devm_iio_device_register().
- removal of goto's from the probe function.
- ad8366_remove() removed as it is not needed anymore.

Also, dev_err_probe() is used to report probe errors.

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
@rodrigo455 rodrigo455 force-pushed the staging/jic23_iio_ad8366-update branch from 30c99ef to 1b41739 Compare December 15, 2025 16:02
@rodrigo455 rodrigo455 marked this pull request as ready for review December 15, 2025 16:13
@github-actions github-actions bot force-pushed the mirror_ci/jic23/iio/testing branch from efa00f1 to 01aee2b Compare December 16, 2025 00:00
device-tree support achieved dropping the enum ID in favor of an extended
chip info table:
- gain step and number of channels moved to chip info
- pack_code function added to describe how SPI buffer is populated
With this, switch cases on the device type were dropped:
- simplified read_raw and write_raw callbacks
- number of channels retrieved from chip info in probe function

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
@rodrigo455 rodrigo455 force-pushed the staging/jic23_iio_ad8366-update branch from 1b41739 to 1733322 Compare December 16, 2025 09:52
@github-actions github-actions bot force-pushed the mirror_ci/jic23/iio/testing branch 7 times, most recently from 1e4e20b to dbe6769 Compare December 23, 2025 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.