/* I2C2 register offsets */
#define I2C2_STATUSRAW (*((volatile unsigned int*)0x4819C024))
#define I2C2_CNT (*((volatile unsigned int*)0x4819C098))
#define I2C2_SA (*((volatile unsigned int*)0x4819C0AC))
#define I2C2_DATA (*((volatile unsigned int*)0x4819C09C))
#define I2C2_CON (*((volatile unsigned int*)0x4819C0A4))
#define I2C2_SCLL (*((volatile unsigned int*)0x4819C0B4))
#define I2C2_SCLH (*((volatile unsigned int*)0x4819C0B8))
#define I2C2_PSC (*((volatile unsigned int*)0x4819C0B0))
I couldn't be bothered to setup a header file for this lot, so just stuffed it in the top of my PRU code... Registers for other I2C modules are in the memory map from the am335X_trm