LCD regs in windows: 44000000 | 03b008f9 010519df 04031a7f 04700004 | ..............p. 44000010 | 84007e00 3f3f3f3f 00000000 00000000 | .~..????........ 44000020 | bc722800 00000000 00000000 00000000 | .(r............. 44000030 | 00000000 00000000 00000010 fffff7f8 | ................ 44000040 | 00aa5500 0000754f 00000000 00000000 | .U..Ou.......... 44000050 | 00200000 00000000 00000000 00000000 | .. ............. 44000060 | 00000000 00000000 00000000 00000000 | ................ 44000070 | 00200000 00000000 00000000 00000000 | .. ............. 44000080 | 00000000 00000000 00000000 00000000 | ................ 44000090 | 00000000 00000000 00000000 00000000 | ................ 440000a0 | 00000000 00000000 00000000 00000000 | ................ 440000b0 | 00000000 00000000 00000000 00000000 | ................ 440000c0 | 00000000 00000000 00000000 00000000 | ................ 440000d0 | 00000000 00000000 00000000 00000000 | ................ 440000e0 | 00000000 00000000 00000000 00000000 | ................ 440000f0 | 00000000 00000000 00000000 00000000 | ................ 44000100 | 00000100 00000000 00000000 00000000 | ................ Wathcing while changing frequency gives: ACSR LCCR3 ACSR bitfield PCD hss xn xl hss freq pixclock 31073110 04700004 0011000100000111 00 110 001 000 10000 4 0 1 16 104Mhz 20.8MHz 310b7210 04700007 0011000100001011 01 110 010 000 10000 7 1 2 16 156Mhz 19.5MHz 328fb218 0470000a 0011001010001111 10 110 010 000 11000 10 2 2 24 208Mhz 18.9MHz so pixclock is ~20MHz set .pixclock to 50000... in linux: PCDDIV = 0 so pixclock = LCLK / 2(PCD + 1) ACCR PCD acsr bits hss hss freq pixclock 30033108 2 0011000000000011 00 110 001 000 01000 0 104 17MHz 328fb218 5 0011001010001111 10 110 010 000 11000 2 208 17MHz all regs LCCR windows linux u-boot 0 03b008f9 003008f9 03b008f9 1 010519df 010519df 010519df 2 04031a7f 04031a7f 04031a7f 3 04700004 04700002 04700005 4 84007e00 00000000 5 3f3f3f3f 00000000 +0x100 00000100 00000100 LCCR0: win: 0000 0011 1011 0000 ... lin: 0000 0000 0011 0000 ... 25: overlay/underlay 24: command interrupt mask 23: lcd read interrupt LCCR4: win: 84007e00 lin: 00000000 apart from win has PCDDIV set, linux has reserveds set to 0, windows doesnt ?? LCCR5 is interrupt masks ------------------ What pxa27x_lcd.dll does on "lcd on" down 001.551 (6217697) 0bb090d4 e5803018 (str) # r3=80000000 r0=00470000 001.677 (27353932) 0bb08d20 e5943000 (ldr) # r3=03b008f9 r4=00470000 001.677 (0001192) 0bb08d3c e5943000 (ldr) # r3=03b008f9 r4=00470000 001.677 (0000435) 0bb08d70 e5843000 (str) # r3=03b008f8 r4=00470000 up 003.366 (-3848409) 0bb09f78 e5933000 (ldr) # r3=03b008f8 003.366 (0024972) 0bb0919c e5863000 (str) # r3=02000080 r6=00470000 003.366 (0000465) 0bb091bc e5a13004 (str) # r3=000001df r1=00470004 003.366 (0000459) 0bb091c0 e5911000 (ldr) # r1=000001df 003.366 (2926061) 0bb091dc e5863008 (str) # r3=0000027f r6=00470000 003.366 (0000872) 0bb091ec e586300c (str) # r3=04000000 r6=00470000 003.366 (0000427) 0bb091f0 e5861010 (str) # r1=00000000 r6=00470000 003.366 (0000410) 0bb09200 e59e3000 (ldr) # r3=02000080 r14=00470000 003.366 (0000529) 0bb09210 e58e3000 (str) # r3=03b008f8 r14=00470000 003.366 (0000412) 0bb09214 e58e0010 (str) # r0=04007e00 r14=00470000 003.366 (0000412) 0bb09218 e58e1014 (str) # r1=3f3f3f3f r14=00470000 003.366 (0000426) 0bb0922c e5813038 (str) # r3=000fffff r1=00470000 003.366 (0000376) 0bb09230 e5812034 (str) # r2=3e3f3f3f r1=00470000 003.366 (0000408) 0bb09e54 e5853018 (str) # r3=00000000 r5=00470000 003.366 (0000427) 0bb09e58 e5853020 (str) # r3=00000000 r5=00470000 003.366 (0000413) 0bb09e6c e5952004 (ldr) # r2=000001df r5=00470000 003.366 (0000437) 0bb09e78 e5853004 (str) # r3=010519df r5=00470000 003.366 (0000412) 0bb09e88 e5951008 (ldr) # r1=0000027f r5=00470000 003.366 (0000468) 0bb09e98 e5853008 (str) # r3=04031a7f r5=00470000 003.366 (0000471) 0bb09eb0 e595200c (ldr) # r2=04000000 r5=00470000 003.366 (0000430) 0bb09ec0 e585300c (str) # r3=04700000 r5=00470000 003.366 (0000681) 0bb09ed4 e5853200 (str) # r3=bc722800 r5=00470000 003.366 (0000794) 0bb09af0 e5923010 (ldr) # r3=04007e00 r2=00470000 003.366 (0000429) 0bb09af8 e5823010 (str) # r3=84007e00 r2=00470000 003.366 (0000407) 0bb09afc e592300c (ldr) # r3=04700000 r2=00470000 003.366 (0000379) 0bb09b08 e582300c (str) # r3=04700004 r2=00470000 003.366 (0000467) 0bb09edc e5953000 (ldr) # r3=03b008f8 r5=00470000 003.366 (0000380) 0bb09eec e5853000 (str) # r3=03b008f9 r5=00470000 Resume into boot script ibit irqs 25 ibit irqs 26 ibit irqs 29 set kernel "\SD Card\Image" set ramaddr 0xbc000000 set ramsize 0x08000000 set cmdline "root=1792 rootdelay=3 rw init=/sbin/init" set mtype 1653 set kernelcrc 0 set fbduringboot 1 set forcedbduringboot 1 set resumeptr 0xbc000800 set trace p2v (0xbc000800) resumeintoboot #define LCCR0 __REG (0x44000000) /* LCD Controller Control Register 0 */ #define LCCR1 __REG (0x44000004) /* LCD Controller Control Register 1 */ #define LCCR2 __REG (0x44000008) /* LCD Controller Control Register 2 */ #define LCCR3 __REG (0x4400000C) /* LCD Controller Control Register 3 */ #define LCCR4 __REG (0x44000010) /* LCD Controller Control Register 3 */ #define DFBR0 __REG (0x44000020) /* DMA Channel 0 Frame Branch Register */ #define DFBR1 __REG (0x44000024) /* DMA Channel 1 Frame Branch Register */ #define LCSR __REG (0x44000038) /* LCD Controller Status Register */ #define LIIDR __REG (0x4400003C) /* LCD Controller Interrupt ID Register */ #define TMEDRGBR __REG (0x44000040) /* TMED RGB Seed Register */ #define TMEDCR __REG (0x44000044) /* TMED Control Register */ what to send, the same from tracing and from memory 0x00007003, 0x00007200, 0x00007000, 0x00007210, 0x00007010, 0x000072af, 0x00007011, 0x00007200, 0x00007012, 0x00007200, 0x00007013, 0x00007206, 0x00007014, 0x00007206, 0x00007015, 0x00007270, 0x00007016, 0x0000721f, 0x00007017, 0x00007207, 0x00007018, 0x00007207, 0x00007019, 0x00007233, 0x00007002, 0x00007200, 0x00007001, 0x00007210, 0x00007005, 0x00007224, 0x00007006, 0x00007245, 0x0000701a, 0x00007202, 0x0000701b, 0x00007251, 0x00007020, 0x00007224, 0x00007021, 0x0000720b, 0x00007022, 0x00007219, 0x00007023, 0x0000720c, 0x00007024, 0x00007207, 0x00007025, 0x00007219, 0x00007026, 0x00007213, 0x00007027, 0x00007210, 0x00007028, 0x00007202, 0x00007029, 0x00007202, 0x0000702a, 0x00007202, 0x0000702b, 0x00007204, 0x0000702c, 0x0000720b, 0x0000702d, 0x00007219, 0x0000702e, 0x0000720c, 0x0000702f, 0x00007207, 0x00007030, 0x00007219, 0x00007031, 0x00007213, 0x00007032, 0x00007210, 0x00007033, 0x00007202, 0x00007034, 0x00007202, 0x00007035, 0x00007202, 0x00007050, 0x00007202, 0x00007053, 0x00007200, 0x00007054, 0x00007244, 0x00007055, 0x00007244, 0x00007056, 0x0000720a, 0x00007059, 0x0000720b, 0x0000705a, 0x00007204, 0x0000705b, 0x000072ca, 0x0000705c, 0x00007204, 0x0000705d, 0x0000720a, 0x0000705e, 0x00007210, 0x0000705f, 0x0000721d, 0x00007062, 0x00007230, 0x00007063, 0x0000721d, 0x00007066, 0x00007250, 0x00007067, 0x0000721d, 0x00007070, 0x0000726d, 0x00007071, 0x00007214, 0x00007076, 0x000072ff, 0x00007079, 0x00007202, 0x00007000, 0x00007200, State in in linux with screen out: 0x44000000 = 0x003008f9 0x44000004 = 0x010519df 0x44000008 = 0x04031a7f 0x4400000c = 0x0470000a 0x44000010 = 0x80000000 0x44000014 = 0x00000000 0x44000018 = 0x00000000 0x4400001c = 0x00000000 0x44000020 = 0x00000000 0x44000024 = 0x00000000 0x4400002c = 0x00000000 0x44000030 = 0x00000000 0x44000034 = 0x00000000 0x44000038 = 0x00000010 0x4400003c = 0x00000000 0x44000040 = 0x00aa5500 0x44000044 = 0x0000754f 0x44000048 = 0x00000000 0x4400004c = 0x00000000 0x44000050 = 0x00200000 0x44000054 = 0x00000000 0x44000058 = 0x00000000 0x4400005c = 0x00000000 0x44000060 = 0x00000000 0x44000064 = 0x00000000 0x44000068 = 0x00000000 0x4400006c = 0x00000000