Date: Fri, 20 Oct 2017 09:00:27 -0600 From: Ian Lepore <ian@freebsd.org> To: Mori Hiroki <yamori813@yahoo.co.jp> Cc: "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org> Subject: Re: about iicdev_writeto() on ralink soc Message-ID: <1508511627.1383.48.camel@freebsd.org> In-Reply-To: <641147.96869.qm@web101704.mail.ssk.yahoo.co.jp> References: <641147.96869.qm@web101704.mail.ssk.yahoo.co.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1508511627.1383.48.camel>