drivers: adc-dac: ad74416h: ad74414h driver updates#3120
Merged
Conversation
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>
buha
approved these changes
Jun 5, 2026
Contributor
|
merging even though xilinx checks failed, there are issues with the CI right now |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Description
Update ad74414h support to the latest release version of the part.
PR Type
PR Checklist