USB FS and I2C clock conflict

I am using F429 in my project. The USB FS is required 168Mhz clocking, but the I2C need 180MHz in order to use 400khz speed. When I set the clocking to 168MHz and set the I2C speed to 100khz, the I2C always stop after a short running.Anyone has the idea how can I solve the conflict issue?Thanks

It doesn't have to run at 400 KHz, most I2C parts should be able to run from just above DC to 400 KHz. That you have to run at 374 KHz won't make the part fail. It should work fine at 100 KHz, so look deeper in to what's actually going on with the bus, and the part.

Last time I looked at the I2C peripheral you could play games with the duty cycle, and either 50/50 or 16/9 (25 clocks)

The I2C chips is STMPE1600QTR which is used to expand some DIO. I think the 168MHz should be work since the datasheet says it support up to 400kHz. With 168Mhz, if I just read DI, it looks work well, but if I write DO, the bus always get crash. the SCL signal is gong after crash.Any idea what's happen?