Skip to contentSkip to conversation

new PRCM breakage: 2430 FB

DISCUSSION Kevin Hilman 5 participants 10 messages Jun 7, 2007 – Jun 13, 2007

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

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

#1 lore raw

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

#2 lore raw
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

maintainer
#3 lore raw
Quoted 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

#4 lore raw

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, 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.

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

#5 lore raw
In reply to Paul Walmsley
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, 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.

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.

#7 lore raw
In reply to Paul Walmsley
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

#6 lore raw
In reply to Woodruff, Richard
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

#8 lore raw
In reply to Kevin Hilman
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
Index: linux-omap/arch/arm/mach-omap2/clock.h
===================================================================
@@ -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,
 };
 
#9 lore raw
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