• Magnus Damm's avatar
    i2c: fix i2c-sh_mobile timing issues · 4eb00c9f
    Magnus Damm authored
    This patch teaches the i2c-sh_mobile driver to make use of wait irqs.
    Without this patch only dte irqs are used which may lead to overruns
    and cases of missing stop and extra bytes being read on the i2c bus.
    
    Use of wait irqs forces the hardware to pause and wait until the cpu
    is ready. Polling is also reworked in this patch to fix ms delay issues.
    
    Verified with bus analyzer and tested on MigoR and AP325RXA boards.
    Signed-off-by: default avatarMagnus Damm <damm@igel.co.jp>
    Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
    4eb00c9f
i2c-sh_mobile.c 17.8 KB