about iicdev_writeto() on ralink soc

Ian Lepore ian at freebsd.org
Fri Oct 20 15:00:36 UTC 2017


On Fri, 2017-10-20 at 20:24 +0900, Mori Hiroki wrote:
> Hi
> 
> I make mips mediatek iic driver. Mediatek(Ralink) soc(RT2880 and 
> RT3050) is not support nostop option at I2C device. This soc i2c
> device is set transfer length and automatically send stop. And
> Always send device address at first byte.
> 
> your added iicdev_writeto() not work in these soc i2c device.
> 
> 
> 
> https://svnweb.freebsd.org/base?view=revision&revision=321583
> 
> 
> Could you please change single transfer in iicdev_writeto() at
> iiconf.c.
> 
> Regards
> 
> Hiroki Mori

iicdev_writeto() does the correct sequence of operations.

I think if you set the ADDRDIS bit in the device control register and
ignore the NOSTOP flag in the messages, it will work for most slave
devices.  Some slave devices require a repeat-start to work correctly,
and those will never work right on a controller like this.

-- Ian



More information about the freebsd-mips mailing list