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

I2C documentation discrepancy #146

Open
djlowther opened this issue Jul 25, 2024 · 2 comments
Open

I2C documentation discrepancy #146

djlowther opened this issue Jul 25, 2024 · 2 comments
Labels

Comments

@djlowther
Copy link

The information in https://lowrisc.github.io/sonata-system/doc/ip/i2c.html does not accurately reflect the I2C implementation used in this repository.

There is a link to the OpenTitan documentation, but the documentation linked to describes a more recent version of the OpenTitan I2C IP. The actual implementation in this repository appears to come from somewhere around commit 02e36dfabcde185bec3fbe7 in the OpenTitan repository which has a slightly different register interface, particularly in how the NACK'd writes can be detected.

Also, the documentation says that registers 0x00 - 0x10 are not accessible, which is incorrect. We have been able to read meaningful values from register 0x00 (INTR_STATE) (and in fact, it seems to be the only way to detect NACKs in this particular version, since CONTROLLER_EVENTS doesn't exist.

@marnovandermaas
Copy link
Contributor

Thanks for raising this. You're right, the OpenTitan IP block has seen quite a few updates recently. It's probably worth integrating the new IP from upstream to not have to maintain the old version of the documentation here.

@HU90m
Copy link
Member

HU90m commented Jul 25, 2024

For the time being, the old I²C is pretty well documented in https://github.com/microsoft/cheriot-rtos/blob/main/sdk/include/platform/sunburst/platform-i2c.hh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants