Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Dec 2016 08:18:13 +0000
From:      Nick Hibma <Nick@ip-knowhow.com>
To:        Oleksandr Tymoshenko <gonzo@bluezbox.com>
Cc:        Emmanuel Vadot <manu@bidouilliste.com>, "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   Re: Questions about i2c.c (TMP102 temperature sensor)
Message-ID:  <204B3D82-0A92-4742-98F2-8E9A5A0845BB@ip-knowhow.com>
In-Reply-To: <4F71632E-2EFB-417E-898B-394E1C5CC9E8@bluezbox.com>
References:  <9424D7FD-C4B6-43D5-A0C5-76D5BE9ED1DE@ip-knowhow.com> <58B43D61-0B46-4310-868F-D7336585731B@bluezbox.com> <20161205094915.20847444789f803133b56af9@bidouilliste.com> <4F71632E-2EFB-417E-898B-394E1C5CC9E8@bluezbox.com>

index | next in thread | previous in thread | raw e-mail

> 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

Bit banging over the nctgpio GPIO driver in CURRENT is the one I use. It’s part of the AMD SoC package (x86/amd64). I can’t be asked to dig into git to get at the sources, so if someone could send me a tar-ball I can test it here on a PC Engines APU board with .

It guess that bit banging would be a major boost if it works for that because hackers like simple tools like i2c to combine it with rrdtool to graph their whatchamacallits to automate their bing-bong-bang-thingies.

Nick
home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?204B3D82-0A92-4742-98F2-8E9A5A0845BB>