Skip to content

drivers: adc-dac: ad74416h: ad74414h driver updates#3120

Merged
buha merged 7 commits into
mainfrom
staging/ad74414h-driver-update
Jun 5, 2026
Merged

drivers: adc-dac: ad74416h: ad74414h driver updates#3120
buha merged 7 commits into
mainfrom
staging/ad74414h-driver-update

Conversation

@amiclaus
Copy link
Copy Markdown
Contributor

@amiclaus amiclaus commented Jun 4, 2026

Pull Request Description

Update ad74414h support to the latest release version of the part.

PR Type

  • Bug fix (change that fixes an issue)
  • New feature (change that adds new functionality)
  • Breaking change (has dependencies in other repos or will cause CI to fail)

PR Checklist

  • I have followed the Coding style guidelines
  • I have complied with the Submission Checklist
  • I have performed a self-review of the changes
  • I have commented my code, at least hard-to-understand parts
  • I have build all projects affected by the changes in this PR
  • I have tested in hardware affected projects, at the relevant boards
  • I have signed off all commits from this PR
  • I have updated the documentation (wiki pages, ReadMe etc), if applies

amiclaus added 7 commits June 4, 2026 16:44
The CH_FUNC_SETUP register field is bits [3:0] (4 bits wide), so the
maximum valid value is 0xF. The HART mode encodings were incorrectly
set to 0x10/0x11/0x12 which overflow this 4-bit field. The correct
values per the datasheet are 0xA/0xB/0xC.

Fixes: 7625d89 ("adc-dac: ad74416h: update regmap for silicon v2")
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
The 20SPS with 50/60Hz and HART rejection ADC conversion rate was set
to 0b0010 (2), which is an unspecified value for the CONV_RATE field
bits [11:8]. The correct value per the datasheet is 0b0011 (3).

Fixes: 554b344 ("ad74416: update header masks and enums")
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Fix the ADC conversion range gating for AD74414H:
- Block CONV_RANGE 000 (0V to 12V) which is reserved on AD74414H
- Allow CONV_RANGE 111 (-2.5V to +2.5V) which is supported on AD74414H

Fixes: f3f0d00 ("adc-dac: ad74416h: add support for ad74414h")
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Remove the incorrect AD74414H gate that blocked CONV_MUX values
VSENSEN_TO_AGND (010) and LF_TO_VSENSEN (011). Per the AD74414H
datasheet, all five CONV_MUX options are supported on both devices.

Fixes: f3f0d00 ("adc-dac: ad74416h: add support for ad74414h")
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Remove the incorrect AD74414H gate that blocked DIAG_LVIN and
VSENSEN_C diagnostic sources. Per the AD74414H datasheet, all
diagnostic mux values are supported on both devices.

Fixes: f3f0d00 ("adc-dac: ad74416h: add support for ad74414h")
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Add a missing AD74414H gate in set_channel_vout_range(). The
VOUT_RANGE bit (bit 7) of OUTPUT_CONFIG is reserved on the AD74414H
since it does not support voltage output mode.

Fixes: f3f0d00 ("adc-dac: ad74416h: add support for ad74414h")
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Fix set_channel_i_limit() writing to the wrong register. The I_LIMIT
bit (bit 0) belongs to the OUTPUT_CONFIG register, not CH_FUNC_SETUP.

Add a missing AD74414H gate since I_LIMIT is reserved on the AD74414H
which does not support voltage output mode.

Fixes: f3f0d00 ("adc-dac: ad74416h: add support for ad74414h")
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
@amiclaus amiclaus changed the title Staging/ad74414h driver update drivers: adc-dac: ad74416h: ad74414h driver updates Jun 4, 2026
@buha
Copy link
Copy Markdown
Contributor

buha commented Jun 5, 2026

merging even though xilinx checks failed, there are issues with the CI right now

@buha buha merged commit d426bb8 into main Jun 5, 2026
17 of 19 checks passed
@buha buha deleted the staging/ad74414h-driver-update branch June 5, 2026 11:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants