new PRCM breakage: 2430 FB
I just noticed that with the new PRCM reorg, the 2430 LCD is no longer powering on. I'll dig into it tomorrow, but any pointers would be appreciated.
Kevin
Kevin,
Quoted 3 lines
I just noticed that with the new PRCM reorg, the 2430 LCD is no longer powering on. I'll dig into it tomorrow, but any pointers would be appreciated.
If you mean the LCD is not powering ON, then it's an issue with T2 LDO configuration. We use T2 LDO to enable power to 2430 UI board. If LCD is ON but we are not able display anything then it could be due to dss1_fclk / dss2_fclk.
Regards,
Khasim
Quoted 8 lines · Khasim
Kevin,
Quoted 3 lines
I just noticed that with the new PRCM reorg, the 2430 LCD is no longer powering on. I'll dig into it tomorrow, but any pointers would be appreciated.
If you mean the LCD is not powering ON, then it's an issue with T2 LDO configuration. We use T2 LDO to enable power to 2430 UI board. If LCD is ON but we are not able display anything then it could be due to
dss1_fclk/dss2_fclk.
Thanks for the pointer. I haven't had a chance to dig on this yet...
FWIW, the panel doesn't seem to be powering on (no backlight, etc.) And during boot the dispc layer says that the reset failed:
omapfb omapfb: soft reset failed
omapfb omapfb: controller initialization failed (-19)
Kevin
Paul Walmsley
maintainerQuoted 6 lines · Kevin Hilman
FWIW, the panel doesn't seem to be powering on (no backlight, etc.) And during boot the dispc layer says that the reset failed:
omapfb omapfb: soft reset failed
omapfb omapfb: controller initialization failed (-19)
Hi Kevin,
the 'soft reset failed' message is coming from drivers/video/omap/dispc.c:1391.
The only PRCM-related code near that function is the display clock enable code, which, as Khasim mentioned, uses dss_ick, dss1_fck, and dss_54m_fck. I just went back and checked the PRCM changes for those three clocks and omap2_clk_enable(), and they look good.
Could be a TWL4030 problem given the lack of power.
git-bisect perhaps?
Unfortunately, no 2430 SDP here, or I'd take a closer look.
- Paul
Hi Paul / Kevin:
I looked some more into this code,
Quoted 4 lines
the 'soft reset failed' message is coming from
drivers/video/omap/dispc.c:1391.
Yes it's failing. Actually for a DSS reset to be successful all the DSS clocks (iclk and fclk) including TVout 54M fclk should be enabled otherwise the reset bit doesn't get cleared. I think this is what is happening now. I tried enabling dss2_fck also but this didn't succeed either.
May be we were doing something wrong before and Paul's patches are doing some thing as per TRM :).
Quoted 5 lines
The only PRCM-related code near that function is the display clock enable code, which, as Khasim mentioned, uses
dss_ick,dss1_fck, anddss_54m_fck. I just went back and checked the PRCM changes for those three clocks andomap2_clk_enable(), and they look good.
I have to put some debugger to see if all required clocks are ON before hitting this reset logic.
Is this reset logic passing for 2420? I didn't try this.
Quoted 2 lines
Could be a TWL4030 problem given the lack of power.
No, its not a TWL4030 power enable problem. As the reset logic fails, it returns with an error in ctrl_init. The control doesn't even enter the T2-LDO enabling functions.
Quoted 4 lines
git-bisect perhaps?
Unfortunately, no 2430 SDP here, or I'd take a closer look.
Can we bypass reset logic for 2430 ? he he he .. :)
Regards,
Khasim
Quoted 6 lines
Quoted 3 lines
omapfb omapfb: soft reset failed
omapfb omapfb: controller initialization failed (-19)
Hi Kevin,
Quoted 7 lines
the 'soft reset failed' message is coming from
drivers/video/omap/dispc.c:1391.The only PRCM-related code near that function is the display clock enable code, which, as Khasim mentioned, uses
dss_ick,dss1_fck, anddss_54m_fck. I just went back and checked the PRCM changes for those three clocks andomap2_clk_enable(), and they look good.
The 2420 usually gives something like that for DSS.
If you just look at the IDLST bit it won't show accessible. The DSS is supposed to be a combination initiator/target. However the target side is not internally hooked up.
The status bit won't show proper status unless the DSS initiator is out of mute. I've found a write to the OCP wrapper will result in it coming to life. This was one of the exceptions when compared to other modules. There is a deterministic wait time which can be applied after turning on clocks.
Generally, after sleep you apply this, and then do the write to wake. If you do a read you will get an abort.
Regards,
Richard W.
Quoted 2 lines
Could be a TWL4030 problem given the lack of power.
Actually the LDO enabling logic should not be part of LCD, the UI Board peripherals TouchScreen, LCD, IrDA~ depends on this.
This functionality should be moved to board dependent files and should be independently called from respective drivers (all), the usage count should control the enable/disable part.
With existing logic Touchsceen will not work if LCD is disabled.
Kevin, do you want me to modify this part?
Regards,
Khasim
Quoted 7 lines
The 2420 usually gives something like that for DSS.
If you just look at the IDLST bit it won't show accessible. The DSS is supposed to be a combination initiator/target. However the target side is not internally hooked up.
Quoted 9 lines
The status bit won't show proper status unless the DSS initiator is out of mute. I've found a write to the OCP wrapper will result in it coming to life. This was one of the exceptions when compared to other modules. There is a deterministic wait time which can be applied after turning on clocks.
Generally, after sleep you apply this, and then do the write to wake. If you do a read you will get an abort.
I gave a quick try with 2420 and it works fine. We might have to work on Richard's suggestions for 2430 DSS Clock logic.
Regards,
Khasim
Quoted 3 lines · Kevin Hilman
I just noticed that with the new PRCM reorg, the 2430 LCD is no longer powering on. I'll dig into it tomorrow, but any pointers would be appreciated.
Hi Kevin,
I think I may have found the problem. Could you give the attached patch a test?
thanks,
- Paul
--- arch/arm/mach-omap2/clock.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/mach-omap2/clock.h +1 -1
@@ -1071,7 +1071,7 @@ static struct clk dss_54m_fck = { /* Alt .flags = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X | RATE_FIXED | RATE_PROPAGATES, .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1), - .enable_bit = OMAP24XX_EN_DSS2_SHIFT, + .enable_bit = OMAP24XX_EN_TV_SHIFT, .recalc = &omap2_propagate_rate, };
Quoted 10 lines · Paul Walmsley
Quoted 3 lines · Kevin Hilman
I just noticed that with the new PRCM reorg, the 2430 LCD is no longer powering on. I'll dig into it tomorrow, but any pointers would be appreciated.
Hi Kevin,
I think I may have found the problem. Could you give the attached patch a test?
Paul,
Thanks for digging. It indeed helps. The backlight comes on, but then omapfb starts spitting out other errors:
omapfb omapfb: irq error status 00e2
omapfb omapfb: irq error status 0040
omapfb omapfb: irq error status 40e2
omapfb omapfb: irq error status 4040
omapfb omapfb: irq error status 4040
printk: 343155 messages suppressed.
omapfb omapfb: irq error status 4040
printk: 354528 messages suppressed.
[....]
I haven't dug any deeper on this yet. I'll be on vacation next week, then at OLS the week after, so unless anyone else does, I won't be able to dig more until early July.
Kevin