riic SCLK rate is screwy

Ive got a project S5D9 running in SSP 1.7.5 as an upgrade from SSP1.5

I have a lot of stuff out on the I2C buses and the relevant threads are set up as:

 

One thread that talks to iic1 and one peripheral on it.  It runs this as 400KHz clock on the bus and it is not shared.  This thread also [seldom] talks to 2 devices on iic2 through a shared I2C framework and talks to those at 400KHz.

There is another thread that talks to 2 devices on that same iic2 bus through the shared I2C Framework setup.  One device it wants to talk to at 400KHz (fast-mode) and the other device at 100KHz (Standard).

Using this setup, the first thread does talk to all three devices on both buses at 400KHz although it's running iic1 (the only one device) at 450KHz for some reason.  On the shared bus (iic2) it is running the 2 devices it's talking to at 416KHz measured

The second thread sometimes talks to the device set at fast-mode at 416KHz same as thread 1 talking to it's 2 device (but sometimes I've seen it run at 675KHz).  The second device, OTOH, it always wants to talk at 675Khz.  I've set it at Standard and fast-mode and either way, it wants to talk this very high speed.

Top Replies