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.
I am using MADC module of TPS65950 for light sensor needs. I am using channel 2 of MADC module. The read has timed out, as did reads for all other channels, I’ve tried. I did some preliminary debug of the MADC and found the reason of the failure. It’s once the ADC conversion doesn’t start, the EOC_SW1 bit in the CTRL_SW1 register (completion indication of conversion) never goes to 1. Further debug shows that, as soon as the MADC is powered on by setting CTRL1 [0] MADCON bit to 1, the BUSY bit of CTRL_SW1 turns on and never turns off. The permanent busy state of MADC means that the conversion never completes. I went through the TPS65950 datasheet and see that it doesn’t need the clock setup if the default configuration of the MADC is used (HFCLKIN signal is 26 MHz).
I have reached to a reason why conversation doesn't start and has permanent busy status.
The register GPBR1 determines MADC clocks configuration. Its default state (on power on) must be 0x90 (HFCLK enable and default MADC_CLK enable). Unfortunetelly it is set to o.
So a question, what is a reason of defalt state changing on power-on?
Can you also check what is your HFCLK frequency? And do you program any other clock in HFCLK_FREQ register.
Secondly the ROM Code is coded such that if your HFCLK frequency is not 26MhZ it will automatically clear the DEFAULT_MADC_CLK_EN bit during the bootup sequence.
The start-up code doesn't configure GPBR1 register and puts its faith in default (power on) value
Hi Vladimir,
We have seen that the OMAP ROM code does change values for GPBR1 register. We have seen this and confirmed on our boards. If possible, please read back the value when the ROM code executes. I dont know if this is possible for you.
Best way is to write the default value back after the boot-up code or nodify the boot-up code. I had heard this problem from another customer and hence had a post on the forum - http://e2e.ti.com/forums/p/3265/12036.aspx#12036
Please refer to it and let me know if it fixes the problem.
Thank you.
OK, It isn't problem. I can initialize it on start-up. I'd like only to know that that behavior is expectable.
Thanks.
The GPBR1 has a different value (other than default) because of the ROM code. You will not have any issues if you change the value at start-up.