Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[i2v,dv] Move TP:target_error_intr / i2c_target_unexp_stop to V3
This test is currently broken, and the feature is unused by any test software or mentioned in the programmers guide. It's purpose was to detect invalid bus driving by the I2C-Controller, when a STOP condition was received at an earlier point that expected during a READ transfer. Due to previous RTL changes to enable multi-controller support, new logic has been added to explicitly allow bus arbitration. This logic fundamentally aims to detect another I2C bus-device driving the bus when we (the DUT) expect to be driving it. In the context of an unexpected STOP condition during a READ, any attempt for the I2C-Controller device to drive a STOP will cause the target-mode logic to detect an arbitration failure, and to back-off the transfer, awaiting the next STOP condition. (Due to the open-drain bus signalling scheme, drive-conflicts and hence arbitration failures can only be detected when a party that has released the bus high observes another party driving it low. To signal a stop condition, a low-to-high transition on SDA is required, and hence a drive-conflict and arbitration loss is detected when the other endpoint pulls SDA low, before it can even signal the stop condition). This arbitration failure and back-off happens before the logic that creates the 'UnexpStop' interrupt fires, and hence this interrupt can no longer be triggered. I think this testpoint may possibly be re-written to confirm we can identify an unexpected STOP condition via the arbitration-lost signalling, but it may end up getting dropped altogether. For now, move it to V3. Signed-off-by: Harry Callahan <[email protected]>
- Loading branch information