Hi all,
I'm working on a driver for I2C on the AM3358 running on a pocketbeagle. I've been writing my code based on this library on github for the am572x, making the relevant changes to play nice with the am3358.
My code is here. The sensor I'm using is confirmed to work on the hardware when accessed from the ARM side (running Linux).
My code gets stuck polling the busy bit, which never clears. Any ideas for what I might be doing wrong?
Couple of other questions about the pins:
I've seen other posts mentioning pin muxing, specifically that I need to disable I2C on the ARM side so that it doesn't interfere with PRU operation. I can't seem to mux the I2C2 pins to be explicitly used for the PRU, only as I2C or GPIO. Is muxing them to GPIO sufficient? Another post also mention disabling I2C in the Linux device tree, is that necessary?
Should I even be using the normal I2C2 pins that I've been using on the Linux side? Or are there specific pins for the PRU I2C interface?
Any help would be greatly appreciated!