Skip to content
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

Community I2C Fallback extended driver #388

Merged
merged 2 commits into from
Jan 26, 2024

Conversation

dexter93
Copy link
Contributor

@dexter93 dexter93 commented Jan 23, 2024

Extends support for actively driving I2C via GPIO push-pull instead of passively through open-drains.
Useful for chips not having open-drain support in the GPIO peripheral.

Defaults to open-drain, selectable by SW_I2C_USE_OPENDRAIN

Compared to the default I2C fallback driver, this one also has further delays added to conform with the I2C protocol where appropriate, should be more stable.
Tested extensively in both open-drain and push-pull config. Both standard and fast mode I2C is achievable reliably

Extends support for actively driving I2C via GPIO push-pull
instead of passively through open-drains. Useful for chips
not having open-drain support in the GPIO peripheral.
Defaults to open-drain, selectable by SW_I2C_USE_OPENDRAIN
@dexter93
Copy link
Contributor Author

dexter93 commented Jan 23, 2024

Currently simply replacing the Chibios i2c fallback driver call in os/hal/ports/{PLATFORM}/LLD/I2C/driver.mk. Support for it offloaded to platform maintainers, example usage in the SN32 family. Let me know if there's a better way to include this.

@dexter93
Copy link
Contributor Author

Closes #389

@fpoussin fpoussin merged commit 2ba13ac into ChibiOS:chibios-21.11.x Jan 26, 2024
1 check passed
@fpoussin
Copy link
Member

All good, thanks!

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.

2 participants