Julius Werner wrote:
We maybe can expand it to have informations like time-out or retry count for a given segment.
One word of caution I'd like to add here is that making this API more complex/powerful requires significant effort, now and in the future.
Not if the architecture is any good.
We already have 4 I2C driver implementations in coreboot, and 4 more are going to be upstreamed soon from the Chromium tree. As we scale up to we'll probably add at least one new driver per SoC vendor, maybe even per SoC. Adding complex functionality like retries to the API will require us to account for it over an over again in every single implementation.
No - that doesn't make any sense. Probably there will be a fair bit of code that can be shared among controllers. There aren't that many ways to implement I²C.
I think the question is really what we would gain from this.
I think it's less about performance and more about an accurate and clean model being available to mainboard code when needed.
//Peter