BBB/I2C: Read PMIC data

Winston Smith smith.winston.101 at gmail.com
Sat May 3 02:22:39 UTC 2014


On Fri, May 2, 2014 at 8:09 PM, Bernd Walter <ticso at cicely7.cicely.de> wrote:
> So you get valid data.
> Sounds like the interupt handler is working for what it needs, but not
> closing an interrupt down.
> Since most part of acknowleging an interrupt to the hardware is the
> same for all interrupt sources I expect the IIC controller isn't
> made aware that an interrupt was processed.
> One wild guess - without knowing the Sitara IIC controller at all:
> You write and read in one transaction, the controller may issue
> an interrupt on read and write, but only the read is handled, so
> the write interrupt stays active.
> It could also bee that the controler signals other states, which are
> unhandled - e.g. addressed device acknowledge.
> Just read in the datasheet what kind of interrupts it can send.
> Usually it is a flag register.
> Read and printf it in the int service and check if one of the signalled
> interrupts is unhandled.
> Some interrupt sources might need manual shutdown, while others do
> not - e.g. data ready is often automatically done when reading the
> data register and other need to be cleared by writing into a register.

In my testing, the "interrupt storm" warning only occurs if the
transfer size exceeds the FIFO size (which is set at 4).  I'm still
working through the code and the datasheet, but I think it might be
related to how the drain feature works.


More information about the freebsd-arm mailing list