BMI323 fails to start feature engine, acc or gyro. Only reads 0x8000

Hi,

I'm building my own board with a BMI323. I tripple checked the connections, everything seams fine. I've tried resoldering 3 different BMI323 all with the same result. I'm using the latest offical bmi3 github drivers and all the three BMI323 answeres the correct chip ID but fails when soft-resetting and trying to start the feature engine.

BMI323 CAD:ed like this:

I've taken some I2C logs where I ignore the BMI3_E_FEATURE_ENGINE_STATUS error so I can also configure and read the acc+gyro both with a 0x8000 response on all axis:

write to 0x68 ack data: 0x7E 
write to 0x68 ack data: 0xAF 0xDE 
write to 0x68 ack data: 0x12 
write to 0x68 ack data: 0x2C 0x01 
write to 0x68 ack data: 0x14 
write to 0x68 ack data: 0x01 0x00 
write to 0x68 ack data: 0x40 
write to 0x68 ack data: 0x01 0x00 
write to 0x68 ack data: 0x11 
read to 0x68 ack data: 0x00 0x00 0x00 0x00
write to 0x68 ack data: 0x11 
read to 0x68 ack data: 0x00 0x00 0x00 0x00
write to 0x68 ack data: 0x11 
read to 0x68 ack data: 0x00 0x00 0x00 0x00
write to 0x68 ack data: 0x11 
read to 0x68 ack data: 0x00 0x00 0x00 0x00
write to 0x68 ack data: 0x11 
read to 0x68 ack data: 0x00 0x00 0x00 0x00
write to 0x68 ack data: 0x11 
read to 0x68 ack data: 0x00 0x00 0x00 0x00
write to 0x68 ack data: 0x11 
read to 0x68 ack data: 0x00 0x00 0x00 0x00
write to 0x68 ack data: 0x11 
read to 0x68 ack data: 0x00 0x00 0x00 0x00
write to 0x68 ack data: 0x11 
read to 0x68 ack data: 0x00 0x00 0x00 0x00
write to 0x68 ack data: 0x11 
read to 0x68 ack data: 0x00 0x00 0x00 0x00
write to 0x68 ack data: 0x00 
read to 0x68 ack data: 0x00 0x00 0x43 0x11
write to 0x68 ack data: 0x41 
write to 0x68 ack data: 0x05 0x00 
write to 0x68 ack data: 0x42 
write to 0x68 ack data: 0x08 0x10 0x05 0x00 0xFA 0xA0 
write to 0x68 ack data: 0x41 
write to 0x68 ack data: 0x08 0x00 
write to 0x68 ack data: 0x42 
write to 0x68 ack data: 0x1E 0x10 0x03 0x00 0xFA 0xA0 
write to 0x68 ack data: 0x41 
write to 0x68 ack data: 0x1E 0x00 
write to 0x68 ack data: 0x42 
write to 0x68 ack data: 0xB6 0x00 0xFA 0x64 0x64 0x68 
write to 0x68 ack data: 0x41 
write to 0x68 ack data: 0x10 0x00 
write to 0x68 ack data: 0x42 
write to 0x68 ack data: 0x00 0x00 0x33 0x01 0xEC 0xF1 0x50 0x00 0x9A 0xD9 0x7E 0xF6 0x66 0xE6 0x14 0x20 0x0F 0x0E 0xC3 0xF3 0x96 0xA0 0x57 0x0D 
write to 0x68 ack data: 0x41 
write to 0x68 ack data: 0x0D 0x00 
write to 0x68 ack data: 0x42 
write to 0x68 ack data: 0xFA 0x00 0x96 0x20 0x53 0x46 
write to 0x68 ack data: 0x41 
write to 0x68 ack data: 0x1C 0x00 
write to 0x68 ack data: 0x42 
write to 0x68 ack data: 0xD8 0x54 0x32 0x20 
write to 0x68 ack data: 0x21 
read to 0x68 ack data: 0x00 0x00 0x48 0x00
write to 0x68 ack data: 0x3A 
read to 0x68 ack data: 0x00 0x00 0x00 0x00 0x00 0x00
write to 0x68 ack data: 0x3A 
write to 0x68 ack data: 0x00 0x00 0x00 0x01 
write to 0x68 ack data: 0x21 
write to 0x68 ack data: 0x48 0x40 
write to 0x68 ack data: 0x03 
read to 0x68 ack data: 0x00 0x00 0x00 0x80 0x00 0x80 0x00 0x80 0x00 0x80 0x00 0x80 0x00 0x80 0x00 0x80 0x14 0x07 0x00 0x00 0x00 0x00

 

I2C communication looks fine:

 

What am I doing wrong?

8 replies