Skip to content

Conversation

@jocelynmass
Copy link

This patch introduces a generic digital potentiometer (digipot) driver interface in Zephyr along with an implementation for the Analog Devices AD528x series.

Key changes:
• Added a digipot driver API to provide a unified interface for controlling digital potentiometers.
• Implemented support for AD5280 and AD5282 devices, including RDAC read/write operations over I2C.
• Added Kconfig and device tree bindings to configure and instantiate AD528x devices.
• Provides basic initialization, wiper position set/get functions, and integration with Zephyr’s device model.

This enables Zephyr applications to use digital potentiometers in a standardized way, making it easier to add support for additional digipot devices in the future.

Tested on:
• STM32 platform using I2C devices configured via device tree.

@github-actions
Copy link

github-actions bot commented Nov 7, 2025

Hello @jocelynmass, and thank you very much for your first pull request to the Zephyr project!
Our Continuous Integration pipeline will execute a series of checks on your Pull Request commit messages and code, and you are expected to address any failures by updating the PR. Please take a look at our commit message guidelines to find out how to format your commit messages, and at our contribution workflow to understand how to update your Pull Request. If you haven't already, please make sure to review the project's Contributor Expectations and update (by amending and force-pushing the commits) your pull request if necessary.
If you are stuck or need help please join us on Discord and ask your question there. Additionally, you can escalate the review when applicable. 😊

@carlescufi
Copy link
Member

Hi @jocelynmass. Thanks for your contribution. Since this introduces a new API, it needs to go through the Architecture WG meeting. Agendas are emailed to the devel@ mailing list, and additional details can be found here:
https://github.com/zephyrproject-rtos/zephyr/wiki/Architecture-Working-Group

@sonarqubecloud
Copy link

sonarqubecloud bot commented Nov 7, 2025

@jocelynmass
Copy link
Author

@carlescufi got it, thanks for your reply. At this point, is there anything I need to do on my side?

@carlescufi
Copy link
Member

carlescufi commented Nov 7, 2025

@carlescufi got it, thanks for your reply. At this point, is there anything I need to do on my side?

Not really, I will schedule your PR to be discussed (may take a couple of weeks depending on how busy the meeting is) and email the mailing list. If you could attend the corresponding meeting it'd be great.

@jocelynmass
Copy link
Author

@carlescufi got it, thanks for your reply. At this point, is there anything I need to do on my side?

Not really, I will schedule your PR to be discussed (may take a couple of weeks depending on how busy the meeting is) and email the mailing list. If you could attend the corresponding meeting it'd be great.

Sounds good, I’ll do my best to join the meeting when this PR comes up

@matt-wood-ct
Copy link
Contributor

First off, great to see this getting contributed, IMO definately worth doing.

One note, it may be worth including some consideration for retained/nv digipots e.g. MCP41U83. Perhaps an optional API for storing/recalling NV value? Some applications I have worked on before use both volatile and non-volatile APIs for different application contexts.

Best, Matt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

5 participants