I am trying to connect a stm32 with RPI3 (Raspbian Jessie) over I2C and scoping the I2C lines with an oscilloscope. I am using wiringPi library. I set the baud rate to 400k and after few seconds the baud rate drops down to 250k. Same Behaviour happens with 100k/200k rate (drops down to 60k and 120k after few seconds).
The interesting thing I discovered is, when ever there is load on RPi (like running a 1080p youtube video and etc.) the baud rate increase back to normal values (250k->400k or 60k->100k). (Same problem also occurs with RPi2-B)
What am I missing here? Why I2C baud rate is not fixed and related with the load on the RPI?