Tool/software:
We currently have a device thats using the LP55231SQX LED driver with charge pump and when we initialize the chip and begin writing data to the pwm registers the register value is unchanged and the LEDs arent being turned on. Below is the sequence of writes being done (in order) with any intentional delays being added in;
- Write 1 into the "chip enable" bit of the enable register (0x00)
- Delay for 500uS
- We write 0x08 to the misc register (0x36)
- Write 0xFF to the output control LSB register (0x05)
- Write 0x01 to the output control MSB register (0x04)
- Write 0xFA into D1 current control register (0x26)
- Write 0xFA into D2 current control register (0x27)
- Write 0x32 into D3-9 current control registers (0x28- 0x2E)
- Write 0xFF into D1 PWM register (0x16)
- Write 0xFF into D2 PWM register (0x17)
After step 9 and 10 there is no output from those channels, and reading from those registers reads a value of 0x00. The i2c write is succeeding and not returning any errors, reading from the other registers after writing them they all show the correct values, reading from the status register (0x3A) gives us a value of 0x48 (expected without issues)
If the program continues to loop doing step 9 and 10 repeatedly with a 100uS delay eventually the register write works, sometimes its ~1mS and sometimes its 2.5mS before it begins working.
From the datasheet im not seeing any reason that the pwm write is not being accepted, or any other timing delays that are needed. Is there something im missing or some other issue that could be causing the issue with starting the pwm register?