Skip to first unread message


Apr 4, 2018, 3:05:03 AM4/4/18
to BeagleBoard

Hi All,

I am using a beaglebone black and a custom board based off it.

On the BBB, I am running Debian Linux 7 (Linux 3.8-13)

On the custom board, I am running Angstrom distribution.

On both boards, when I run i2cdetect -F 2, they give the same results, as below:

Functionalities implemented by /dev/i2c-2:

I2C                              yes

SMBus Quick Command              no

SMBus Send Byte                  yes

SMBus Receive Byte               yes

SMBus Write Byte                 yes

SMBus Read Byte                  yes

SMBus Write Word                 yes

SMBus Read Word                  yes

SMBus Process Call               yes

SMBus Block Write                yes

SMBus Block Read                 no

SMBus Block Process Call         no

SMBus PEC                        yes

I2C Block Write                  yes

I2C Block Read                   yes


I REALLY need to use the PROCESS_CALL functionality of the I2C.

The question is: does the PROCESS_CALL functionality rely on the hardware? 

if it is just software, any patches or drivers I could use so I could support it on my hardware? 

I have searched the web with regard to this, but have not found any answers.

I am hoping this community would be able to help.

Thanks in advance,



Apr 4, 2018, 11:00:18 AM4/4/18
to BeagleBoard

There is nothing at the hardware level that is uniquely required by the "Process Call" transaction.

You might have to hack into the low level I2C driver to implement it.

It looks like a simple 2 byte write followed by a restart and a two byte read in a single transaction.

Most I2C chips would properly respond to a 2 byte write transaction, followed by a two byte read transaction, which could be implemented, if you can stand the extra overhead of two shorter transactions.

I would recommend migrating off of Angstrom, if you can, since I don't think it is supported any longer on the BBB.

--- Graham

Reply all
Reply to author
0 new messages