On 11 January 2011 20:03, Wolfgang Denk <w...@denx.de> wrote: > Dear Minkyu Kang, > > In message <aanlktikj4lcuuukdkvcg8shbi6zhku9vzgdz0fng=...@mail.gmail.com> you > wrote: >> >> This problem is not belong to my code. >> Move after relocation? it's easy. >> but, how we can reserve the memory for LCD? > > Reservation of video memory is a standard task in the init sequence. > See this section in "arch/arm/lib/board.c": > > 358 #ifdef CONFIG_LCD > 359 /* reserve memory for LCD display (always full pages) */ > 360 addr = lcd_setmem (addr); > 361 gd->fb_base = addr; > 362 #endif /* CONFIG_LCD */ > >
Yes I know... This init sequence is run before the relocation, right? Please see lcd_setmem function. This function access panel_info that is uninitialized. Is it correct? 438 ulong lcd_setmem (ulong addr) 439 { 440 ulong size; 441 int line_length = (panel_info.vl_col * NBITS (panel_info.vl_bpix)) / 8; 442 443 debug ("LCD panel info: %d x %d, %d bit/pix\n", 444 panel_info.vl_col, panel_info.vl_row, NBITS (panel_info.vl_bpix) ); 445 446 size = line_length * panel_info.vl_row; 447 448 /* Round up to nearest full page */ 449 size = (size + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1); 450 451 /* Allocate pages for the frame buffer. */ 452 addr -= size; 453 454 debug ("Reserving %ldk for LCD Framebuffer at: %08lx\n", size>>10, addr); 455 456 return (addr); 457 } Thanks Minkyu Kang. -- from. prom. www.promsoft.net _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot