I had received a new order of product containing a BMI270. For some reason, my BMI270-Sensor-API based code that was running perfectly fine on a previous build of that same product fails at the CHIP ID check in the bmi270_init. It is returning 0x26 instead of 0x24.
I had thought that it was speed related since it's off by one bit, so I tried changing the SPI speed. I tried several speeds from 400kHz - 8MHz but all gave the same result. I modified the CHIP ID check code to also accept 0x26 and this allowed the structure to be initialized. Furthermore, the subsequent calls to the BMI2 library return a BMI2_OK. However, it doesn't seem to actually work or at least the interrupts don't seem to fire. Again, the exact same binary working as expected on batch of product.
Examined the chip and found that the markings on the "working" BMI270 says "5L-U4K" (may be an "O" instead of a "U"). The "non-working" BMI270 says "5N-OKC". See attached pictures. So finally, took the chip from the working board and reflowed onto the new board. Suddenly works.
Anyway, kind of long-winded but questions are:
1) What is the "5N-OKC" chip? What product do you have that reports CHIP ID as 0x26? My hope is that you simply sent the wrong but footprint compatible part to my CM.
2) If it is an IMU type chip, can you please provide some documentation for it so I can make the appropriate changes to the software? I have 350 of a 400 unit batch that was built probably from the same reel. I would prefer to just make a software change to fix this. Please don't tell me that these are just defective BMI270 chips. I don't really have the time, nor can I afford to have all these units reworked.
You can check it first from the official Bosch distributor who purchased the chip. They know the specific shipping information as you bought stock from them.