Skip to content

drivers: i2c: sam0: multiple edge case failures #38878

@bryan-hunt

Description

@bryan-hunt

Describe the bug

  • Per device datasheets the bus state will be unknown until a transition on SDA is detected or the bus state is set to idle by software
  • Smart mode causes a bus read every time the data register is read - this causes an additional read to be issued after the NACK is set by the host and the stop is never properly issued because the NACK flag is reset by the time the driver attempts to send the stop - this causes issues with some devices.
  • The PR drivers: i2c: sam0: Continue write/read if next message allows it #38482 causes the host to NACK every byte read from a device if data->num_msgs == 1

Impact
I2C driver for many devices does not function properly

Metadata

Metadata

Assignees

Labels

Stalearea: I2CbugThe issue is a bug, or the PR is fixing a bugplatform: Microchip SAMMicrochip SAM Platform (formerly Atmel SAM)priority: lowLow impact/importance bug

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions