[PATCH v5 1/3] i2c: aspeed: Add slave_enable() to toggle slave mode

Quan Nguyen quan at os.amperecomputing.com
Tue Nov 30 13:08:05 AEDT 2021

On 30/11/2021 02:22, Wolfram Sang wrote:
> Hi,
> I still wonder if we can't get the SSIF BMC driver upstream...

Thanks Wolfram to help bring this up,

This driver was tested with Aspeed ast2500 and we have tried many way to 
avoid using slave_enable() to toggle slave mode but there is no progress.
Our expectation is still to have this driver upstream'ed and I'm 
thinking about testing this driver on other HW and re-post the driver.

>> @all: Plus, I neither like the API (because it doesn't look generic to
>> me but mostly handling one issue needed here) nor do I fully understand
>> the use case. Normally, when a read is requested and the backend needs
>> time to deliver the data, the hardware should stretch the SCL clock
>> until some data register is finally written to. If it doesn't do it for
>> whatever reason, this is a quirky hardware in my book and needs handling
>> in the driver only. So, what is special with this HW? Can't we solve it
>> differently?
> ... for that, it would be great if somebody could answer my questions
> here :)

I have to admit that you are all right with the above comments. The fact 
is we still not be able to find any way to solve this differently. We 
don't own this HW and dont know what happen on this particular issue. 
The SCL clock stretching on this HW does not work as expected and the 
slave_enable() is the only solution for now. I hope if someone could 
help with the issue as well.

Best regards,
- Quan

More information about the Linux-aspeed mailing list