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
@github-actions github-actions bot force-pushed the mirror_ci/jic23/iio/testing branch 7 times, most recently from a879dd2 to e47e82c Compare December 13, 2025 00:00
@github-actions github-actions bot force-pushed the mirror_ci/jic23/iio/testing branch 2 times, most recently 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 <[email protected]>

--- 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 <[email protected]>
@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 <[email protected]>
Co-authored-by: Michael Hennerich <[email protected]>
Signed-off-by: Alexandru Ardelean <[email protected]>
Signed-off-by: Michael Hennerich <[email protected]>
Signed-off-by: Rodrigo Alencar <[email protected]>
use guard() from cleanup for mutex locking.
replace mutex_init() for devm_mutex_init().

Signed-off-by: Rodrigo Alencar <[email protected]>
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 <[email protected]>
@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 <[email protected]>
@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 4 times, most recently from 2d1c47d to d06d4c7 Compare December 20, 2025 00:00
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.

4 participants