-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
drivers: dac: dacx3608: add broadcast register for synchronized output #74633
base: main
Are you sure you want to change the base?
Conversation
Hello @bbooher, and thank you very much for your first pull request to the Zephyr project! |
Partial implementation for: #73090 |
bcf4a1d
to
cdfd8f8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your PR. Only got two minor comments.
Please be aware that we are currently in feature freeze and need to wait a couple of more days before this could get merged after approval.
cdfd8f8
to
52434ce
Compare
@bbooher Please have a look at the failed compliance check. |
…tput The dacx3608 line supports a broadcast register so all configured channels can output a singular value, simultaneously. This drastically reduces I2C overhead when using multi-channel control. An API addition was necessary to support a global broadcast channel number. The API addition does not break the write_value() implementation for other DAC drivers in the repo. This change is based on an out-of-tree driver developed internally to handle this use case. Alternative to the API change, could be a KConfig option or device tree entry. Also, no support for the Broadcast channel was added to the channel_setup() implementation - this may or may not be confusing. I believe it makes sense to maintain explicit setup calls for each channel intended to be configured. Signed-off-by: Ben Booher <benbooher@pull-repo.com>
52434ce
to
bc54cb7
Compare
I believe it was a mismatch in git username and signed-off-by name. I used the --signoff parameter this time and re-pushed. |
This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree this feature can be added independent of the discussion in #73090 for synchronizing the outputs using the latch pin.
@KwonTae-young Added you as a reviewer as you have contributed another TI DAC driver in the past. |
@martinjaeger @KwonTae-young - Bumping this PR. |
The dacx3608 line supports a broadcast register so all configured channels can output a singular value, simultaneously. This drastically reduces I2C overhead when using multi-channel control. An API addition was necessary to support a global broadcast channel number. The API addition does not break the write_value() implementation for other DAC drivers in the repo. This change is based on an out-of-tree driver developed internally to handle this use case.
Alternative to the API change, could be a KConfig option or device tree entry. Also, no support for the Broadcast channel was added to the channel_setup() implementation - this may or may not be confusing. I believe it makes sense to maintain explicit setup calls for each channel intended to be configured.