Наконец добрался до связки PXA270+OSD070TN83.
Для начала, тупо, не включается внутренний LCD контроллер.
Пытаюсь заставить его работать с "родным" линуховым драйвером, забавно, в функции включения контроллера значения пишутся, а читаются уже нули ...
Цитата
DPRINTK("Enabling LCD controller\n");
DPRINTK("fdadr0 0x%08x\n", (unsigned int) fbi->fdadr0);
DPRINTK("fdadr1 0x%08x\n", (unsigned int) fbi->fdadr1);
DPRINTK("reg_lccr0 0x%08x\n", (unsigned int) fbi->reg_lccr0);
DPRINTK("reg_lccr1 0x%08x\n", (unsigned int) fbi->reg_lccr1);
DPRINTK("reg_lccr2 0x%08x\n", (unsigned int) fbi->reg_lccr2);
DPRINTK("reg_lccr3 0x%08x\n", (unsigned int) fbi->reg_lccr3);
/* Sequence from 11.7.10 */
LCCR3 = fbi->reg_lccr3;
LCCR2 = fbi->reg_lccr2;
LCCR1 = fbi->reg_lccr1;
LCCR0 = fbi->reg_lccr0 & ~LCCR0_ENB;
FDADR0 = fbi->fdadr0;
FDADR1 = fbi->fdadr1;
LCCR0 |= LCCR0_ENB;
DPRINTK("FDADR0 0x%08x\n", (unsigned int) FDADR0);
DPRINTK("FDADR1 0x%08x\n", (unsigned int) FDADR1);
DPRINTK("LCCR0 0x%08x\n", (unsigned int) LCCR0);
DPRINTK("LCCR1 0x%08x\n", (unsigned int) LCCR1);
DPRINTK("LCCR2 0x%08x\n", (unsigned int) LCCR2);
DPRINTK("LCCR2 0x%08x\n", (unsigned int) LCCR2);
DPRINTK("CKEN 0x%08x\n", (unsigned int) CKEN);
А вот ответ ядра на инсталляцию драйвера:
Цитата
[root@PXA270 /tmp]$insmod ./pxafb.ko options=mode:800x480-16,active,left:1,right:1,hsynclen:1,vsynclen:1,color,dpc:0,pixclock:30000
pxa2xx-fb pxa2xx-fb: overriding resolution: 800x480
pxa2xx-fb pxa2xx-fb: overriding bit depth: 16
pxa2xx-fb pxa2xx-fb: override left: 1
pxa2xx-fb pxa2xx-fb: override right: 1
pxa2xx-fb pxa2xx-fb: override hsynclen: 1
pxa2xx-fb pxa2xx-fb: override vsynclen: 1
pxa2xx-fb pxa2xx-fb: override double pixel clock: false
pxa2xx-fb pxa2xx-fb: override pixclock: 30000
pxafb_map_video_memory: palette_mem_size = 0x00000020
pxafb_set_par: set_par
pxafb_set_par: palette_mem_size = 0x00000000
pxafb_set_truecolor: true_color = 1
pxafb_activate_var: Configuring PXA LCD
pxafb_activate_var: var: xres=800 hslen=1 lm=1 rm=1
pxafb_activate_var: var: yres=480 vslen=1 um=0 bm=0
pxafb_activate_var: var: pixclock=30000 pcd=1
pxafb_activate_var: nlccr0 = 0x003008f8
pxafb_activate_var: nlccr1 = 0x0000031f
pxafb_activate_var: nlccr2 = 0x000001df
pxafb_activate_var: nlccr3 = 0x04300001
pxafb_setup_gpio: set GPIO pins.
pxafb_enable_controller: Enabling LCD controller
pxafb_enable_controller: fdadr0 0xa7f00fe0
pxafb_enable_controller: fdadr1 0xa7f00fd0
pxafb_enable_controller: reg_lccr0 0x003008f8
pxafb_enable_controller: reg_lccr1 0x0000031f
pxafb_enable_controller: reg_lccr2 0x000001df
pxafb_enable_controller: reg_lccr3 0x04300001
pxafb_enable_controller: FDADR0 0xa7f00fd1
pxafb_enable_controller: FDADR1 0x00000000
pxafb_enable_controller: LCCR0 0x00000000
pxafb_enable_controller: LCCR1 0x00000000
pxafb_enable_controller: LCCR2 0x00000000
pxafb_enable_controller: LCCR3 0x00000000
pxafb_enable_controller: CKEN 0x00410240
__pxafb_lcd_power: LCD power on
__pxafb_backlight_power: backlight on
Странно, откуда то нули в LCCR берутся ...