BBB/I2C: Read PMIC data

Winston Smith smith.winston.101 at gmail.com
Fri May 2 20:46:04 UTC 2014


On Fri, May 2, 2014 at 11:30 AM, Warner Losh <imp at bsdimp.com> wrote:
> Only if the kernel is actively accessing them so your transactions are messed up.
> In the kernel, all the bridge knows about is transactions of one flavor or another.
> This may indicate a more fundamental issue going on, either in your belief that
> it is at 24, or in the address (which is 7 bits) gets translated to 8 bits. Try a left
> shift 1 bit.

Alright, figured it out. The "dummy" write that precedes the read is
not a dummy, you're sending a command to the I2C device.  For a
EEPROM, you send it a 2 byte address of where to read.  For the PMIC,
you need to send it a *1-byte* register ID!

I've updated the tool and renamed it `bbb_sysutil.c`:

http://pastebin.com/NhMy9D7d

Here's the output (still working on the "interrupt storm" issue!):

root at beaglebone:~ # ./bbb_sysutil
TPS65217 PMIC @ address 24:
ChipID: E2 TPS65217C rev 1.2
Status: 08 ACPWR
interrupt storm detected on "intr70:"; throttling interrupt source
EEPROM @ address 50: signature=AA:55:33:EE
Model:  A335BNLT0A6A
Serial: 0214BBBK4321


Let me know if there is any more data you want from the PMIC.

-W


More information about the freebsd-arm mailing list