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

firmware/i2c: rewrite I2C implementation #1484

Merged
merged 1 commit into from
Jul 15, 2020
Merged

firmware/i2c: rewrite I2C implementation #1484

merged 1 commit into from
Jul 15, 2020

Commits on Jul 14, 2020

  1. firmware/i2c: rewrite I2C implementation

    * Never drive SDL or SDA high. They are specified to be open
      collector/drain and pulled up by resistive pullups. Driving
      high fails miserably in a multi-master topology (e.g. with
      a USB I2C interface). It would only ever be implemented to
      speed up the bus actively but that's tricky and completely
      unnecessary here.
    * Make the handover states between the I2C protocol phases (start, stop,
      restart, write, read) well defined. Add comments stressing those
      pre/postconditions.
    * Add checks for SDA arbitration failures and stuck SCL.
    * Remove wrong, misleading or redundant comments.
    jordens committed Jul 14, 2020
    Configuration menu
    Copy the full SHA
    d127a01 View commit details
    Browse the repository at this point in the history