This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Problems with PWM0 on TPS65950

Hello,

 

I'm wondering if anyone else is having trouble with the PWM outputs on this chip.  We've only tried the PWM0 signal which is connected to an LCD backlight driver.  The problem is that certain duty cycle values seem to lock up the hardware (PWM controller, not entire chip).  Once the PWM controller locks up, the brightness gets stuck to fully on and I think it takes a power cycle to fix.  Also, the full range of values is not available but with these other problems, we are not sure yet if the backlight chip just doesn't like the really low duty cycles.  Can anyone share their experiences and possibly code sources?  There isn't a heck of a lot to this controller and it happens within the Linux kernel driver and also by sending straight I2C commands to set the registers manually.  One of my software guys seems convinced this is an errata issue and should be of concern to TI.

 

Thanks.

  • Hi,

    Can you provide your PWM settings with the working duty cycle and with non-working duty cycle settings.

    There should not be any problem with the frequency settings.

     

    Regards,

    Gandhar.

     

  • Here is an examp;e to refer:

    I am pasting the four registers that I used to program for PWM0. I do not have a system board with me. I have tried the following settings in the past and have observed the output on the scope to check the change in duty cycle with different values in the ON and OFF registers.

    register_write    INTBR_GPBR1    0x00000005
    register_write    INTBR_PMBR1    0x00000004
    register_write    pwmPWM0_PWM0ON    0x00000002
    register_write    pwmPWM0_PWM0OFF    0x0000007F

    I am not sure why things would be different if this code is used with a backlight/LCD. Try to use these values and probe the PWM0 output on the scope to ensure things are ok to that point. If this is correct then you can debug LCD/backlight as the next step.

    Regards,

    Gandhar.

     

  • Hi,

     

    This problem is basically solved now.  The LCD backlight chip was most of the problem but the only issue with the PWM0/1 (only ones I checked) is that when PWMx_ON == PWMx_OFF, the duty cycle jumps to 100% instead of 0% as you would expect.  This means that as you lower the duty and try to hit zero, the backlight would suddenly go to full brightness.  Conditional code had to be added to treat this case different than any other setting and now it works fine.