Re: hx2490 support?

From: Kevin O'Connor <kevin_at_koconnor.net>
Date: Sat, 13 Jan 2007 22:33:12 -0500

On Sat, Jan 13, 2007 at 08:30:14PM +0000, Tvrtko A. Ursulin wrote:
> On Saturday 13 January 2007 19:15, Kevin O'Connor wrote:
> > Can you (and Tvrtko) dump some critical registers and forward them
> > back to the list?
>
> Sure, here it is:

Please try the patch below. The docs seem to imply that changing
NODESCFETCH on a running channel is bad.

If that doesn't work, you might want to try disabling the "Wait for
DMAs to complete" code - I'm guessing that is where the boot is
failing when only a green line is present.

> HaRET(4)# pd 0x44000000 0x18
> 44000000 | 07b008f9 29114cef 03040d3f 0470000f | .....L.)?.....p.
> 44000010 | 82060000 3f3f3f3f | ....????

This indicates the PXA LCD is on -- so there probably isn't an
external graphics chip.

-Kevin

--- src/mach/arch-pxa.cpp 5 Jan 2007 09:20:28 -0000 1.7
+++ src/mach/arch-pxa.cpp 14 Jan 2007 03:25:00 -0000
@@ -38,8 +38,14 @@
 pxaResetDMA(volatile pxaDMA *dma, int chancount)
 {
     // Set DMAs to Stop state
- for (int i = 0; i < chancount; i++)
- dma->DCSR[i] = DCSR_NODESC | DCSR_ENDINTR | DCSR_STARTINTR | DCSR_BUSERR;
+ for (int i = 0; i < chancount; i++) {
+ uint32 reg = dma->DCSR[i];
+ if (reg & DCSR_STOPSTATE)
+ // Already in stop state.
+ continue;
+ dma->DCSR[i] = ((reg & DCSR_NODESC)
+ | DCSR_ENDINTR | DCSR_STARTINTR | DCSR_BUSERR);
+ }
 
     // Wait for DMAs to complete
     for (int i = 0; i < chancount; i++)
Received on Sat Jan 13 2007 - 22:33:21 EST

This archive was generated by hypermail 2.2.0 : Sat Jan 13 2007 - 22:33:40 EST