We’re seeing some odd behavior when using the BQ24160.
1. Plug in 5V to BQ24160 USB
2. BQ24160 performs bad source detection, sees that the source is good
3. BQ24160 starts the buck converter and powers SYS
4. A microcontroller powered from SYS starts up programs the BQ24160 USB current limit to 500mA by writing 0x24 to register 2.
5. Microcontroller reads back BQ24160 register 2 and confirms that the current limit has been set (the register reads 0xa4, which makes sense because the RESET bit (bit 7) always reads 1)
6. 400-500ms later, the BQ24160 starts limiting the USB current to 100mA. The microcontroller reads the BQ24160 current limit register (register 2) to see that it’s been set to 0x84 (current limited to 100mA with RESET bit high). Why doesn’t the current limit stay at 500mA?
The datasheet says that D+/D- detection will limit the current based on what the detection finds. However, the datasheet also says that D+/D- detection is only performed in DEFAULT mode, which is before the BQ24160 is programmed over I2C. Is the detection still running even though the BQ24160 is no longer in DEFAULT mode?