I'm trying to drive a parallel RGB LCD usign DM365 but I'M NOT ABLE TO OBTAIN ANY SIGNAL OUT FROM DM365.
I'm using khilman_master_2.6.34-rc1 kernel branch.
I've patched davincifb.c in order to manage output=lcd:format=rgb using this function:
________________________________________________
static void davincifb_lcd_rgb_config(int on)
{
if (on) {
/* Reset video encoder module */
dispc_reg_out(VENC_VMOD, 0x0);
/* set hsync pulse width */
dispc_reg_out(VENC_HSPLS, dm->osd0->info.var.hsync_len);
/* set vsync pulse width */
dispc_reg_out(VENC_VSPLS, dm->osd0->info.var.vsync_len);
/* set horizontal interval */
dispc_reg_out(VENC_HINT, dm->osd0->info.var.left_margin + dm->osd0->info.var.right_margin + dm->osd0->info.var.width);
/* set horizontal data valid start position */
dispc_reg_out(VENC_HSTART, dm->osd0->info.var.left_margin);
/* set Horizontal data valid range */
dispc_reg_out(VENC_HVALID, dm->osd0->info.var.width);
/* set Vertical interval */
dispc_reg_out(VENC_VINT, dm->osd0->info.var.upper_margin + dm->osd0->info.var.lower_margin + dm->osd0->info.var.height);
/* set Vertical data valid start position */
dispc_reg_out(VENC_VSTART, dm->osd0->info.var.upper_margin);
/* set Horizontal data valid range */
dispc_reg_out(VENC_VVALID, dm->osd0->info.var.height);
dispc_reg_out(VENC_DCLKCTL, 0x801);
dispc_reg_out(VENC_DCLKPTN0, 0x03);
dispc_reg_out(VENC_DCLKPTN1, 0x0);
dispc_reg_out(VENC_DCLKPTN2, 0x0);
dispc_reg_out(VENC_DCLKPTN3, 0x0);
dispc_reg_out(VENC_DCLKPTN0A, 0x3);
dispc_reg_out(VENC_DCLKPTN1A, 0x0);
dispc_reg_out(VENC_DCLKPTN2A, 0x0);
dispc_reg_out(VENC_DCLKPTN3A, 0x0);
dispc_reg_out(VENC_OSDCLK1, 3);
/* Enable VCLK */
dispc_reg_out(VENC_VIDCTL, 0x2000);
dispc_reg_out(VENC_VMOD,(VENC_VMOD_VDMD_RGB666<<VENC_VMOD_VDMD_SHIFT) |VENC_VMOD_ITLCL | VENC_VMOD_HDMD | VENC_VMOD_VIE | VENC_VMOD_VENC);
#endif
} else {
/* Reset video encoder module */
dispc_reg_out(VENC_VMOD, 0);
}
}
________________________________________________
This is my registers situation:
PINMUX:
a(1C40000): 0x00E00000 0x00285555 0x000018C0 0x375AFFFF
a(1C40010): 0x00007FFF
PLL configurations:
a(1C40800): 0x0001080E 0x00000000 0x00000000 0x00000000
a(1C40810): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C40820): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C40830): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C40840): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C40850): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C40860): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C40870): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C40880): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C40890): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C408A0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C408B0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C408C0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C408D0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C408E0): 0x00000000 0x00000004 0x00000000 0x00000000
a(1C408F0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C40900): 0x00000051 0x00000010 0x00410000 0x00000000
a(1C40910): 0x00000051 0x00008007 0x00008000 0x00008001
a(1C40920): 0x00008001 0x00000000 0x00008000 0x00008000
a(1C40930): 0x00000000 0x00000000 0x00000001 0x00000006
a(1C40940): 0x0000001C 0x00000000 0x00000001 0x00000009
a(1C40950): 0x000001FF 0x00000000 0x00000000 0x00000000
a(1C40960): 0x00008003 0x00008001 0x00008011 0x00008000
a(1C40970): 0x00008003 0x00008001 0x00000000 0x00000000
a(1C40980): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C40990): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C409A0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C409B0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C409C0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C409D0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C409E0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C409F0): 0x00000000 0x00000000 0x00000000 0x00000000
VENC registers
a(1C71E00): 0x00002903 0x00002000 0x00000000 0x00000000
a(1C71E10): 0x00000002 0x00000002 0x0000010E 0x00000012
a(1C71E20): 0x000000F0 0x0000015C 0x00000014 0x00000140
a(1C71E30): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71E40): 0x0000FF00 0x00000000 0x00000000 0x00000000
a(1C71E50): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71E60): 0x00000000 0x00000801 0x00000003 0x00000000
a(1C71E70): 0x00000000 0x00000000 0x00000003 0x00000000
a(1C71E80): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71E90): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71EA0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71EB0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71EC0): 0x00000000 0x00007000 0x00000000 0x0000017A
a(1C71ED0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71EE0): 0x00000100 0x00000000 0x00000000 0x00000000
a(1C71EF0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71F00): 0x00000400 0x0000057C 0x00000159 0x000002CB
a(1C71F10): 0x000006EE 0x00000400 0x0000057C 0x00000159
a(1C71F20): 0x000002CB 0x000006EE 0x00000000 0x00000001
a(1C71F30): 0x00000003 0x00000000 0x00000000 0x00000000
a(1C71F40): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71F50): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71F60): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71F70): 0x0000D642 0x00000000 0x00000000 0x00000000
a(1C71F80): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71F90): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71FA0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71FB0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71FC0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71FD0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71FE0): 0x00000000 0x00000000 0x00000087 0x0000FFE7
a(1C71FF0): 0x00000008 0x00000000 0x00000000 0x00000000
OSD Registers
a(1C71C00): 0x00000200 0x00000302 0x00002003 0x00008002
a(1C71C10): 0x00000000 0x00000000 0x0000002D 0x0000002D
a(1C71C20): 0x0000002D 0x0000000C 0x00000000 0x00000000
a(1C71C30): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71C40): 0x00000080 0x00000012 0x00000000 0x00000000
a(1C71C50): 0x000002D0 0x000000A0 0x00000000 0x00000000
a(1C71C60): 0x000002D0 0x000000A0 0x00000000 0x00000000
a(1C71C70): 0x000000F0 0x000000A0 0x00000000 0x00000000
a(1C71C80): 0x000002D0 0x000000A0 0x00000000 0x00000000
a(1C71C90): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71CA0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71CB0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71CC0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71CD0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C71CE0): 0x00000000 0x00000000 0x00001000 0x00000000
a(1C71CF0): 0x00000000 0x00000000 0x00000000 0x00000000
VPBE Clock Control Register
a(1C70200): 0x00000019
VPSS_CLKCTL
a(1c40044): 0x00000018
ISP System Configuration Registers
a(1C70000): 0x4C180800 0x0000007F 0x00000002 0x00300200
a(1C70010): 0x0B1F0100 0x1F0A0F1F 0x00000015 0x00000000
a(1C70020): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C70030): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C70040): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C70050): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C70060): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C70070): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C70080): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C70090): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C700A0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C700B0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C700C0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C700D0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C700E0): 0x00000000 0x00000000 0x00000000 0x00000000
a(1C700F0): 0x00000000 0x00000000 0x00000000 0x00000000
Can you give me any help? What can I test, what else can be wrong?
Thx