Questions about i2c.c (TMP102 temperature sensor)

Oleksandr Tymoshenko gonzo at bluezbox.com
Tue Dec 6 02:42:34 UTC 2016


> On Dec 5, 2016, at 12:49 AM, Emmanuel Vadot <manu at bidouilliste.com> wrote:
> 
> On Fri, 2 Dec 2016 13:11:34 -0800
> Oleksandr Tymoshenko <gonzo at bluezbox.com> wrote:
> 
>> Switching freebsd-embedded@ to freebsd-arm@ since the former does not get as much attention as the latter.

.. skipped ..

> I have an updated version of i2c(8) which support I2CRDWR here :
> https://github.com/evadot/freebsd/tree/i2c_rdrw/usr.sbin/i2c
> 
> I didn't commit it just because I want to make I2CRDWR the default
> since there is iicbus_transfer_gen. I just need to make sure that it
> works almost everwhere (it does on allwinner board where the driver
> doesn't support I2CRDWR at least).
> 
> Can you test using i2c(8) from my branch with your device ?

It works on RPi2 with TMP102 attached. Although rdwr is off by default,
I had to pass -x option to enable that behavior. I went through I2C drivers
in HEAD and that’s iicbus methods they support (TRANSFER is the name
of the method for RDWR):

TI: TRANSFER, RESET
i.MX: START, STOP, REPEATED START, RESET, READ, WRITE, TRANSFER
Vybrid: START, STOP, REPEATED START, RESET, READ, WRITE, TRANSFER
Exynos: START, STOP, REPEATED START, RESET, READ, WRITE, TRANSFER
Allwinner: TRANSFER, RESET
Tegra: TRANSFER, RESET
Broadcom: TRANSFER, RESET
AT91: TRANSFER, RESET
powerpc/powermac/kiic.c: TRANSFER
powerpc/mpc85xx/i2c.c: START, STOP, REPEATED START, RESET, READ, WRITE, TRANSFER
XLR: START, STOP, REPEATED START, RESET, READ, WRITE, TRANSFER

So in theory it should work on all these platforms





More information about the freebsd-arm mailing list