diff options
Diffstat (limited to 'arch/powerpc')
| -rw-r--r-- | arch/powerpc/cpu/mpc512x/diu.c | 12 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/immap_512x.h | 5 | 
2 files changed, 15 insertions, 2 deletions
| diff --git a/arch/powerpc/cpu/mpc512x/diu.c b/arch/powerpc/cpu/mpc512x/diu.c index 93611615f..f8d19a0a1 100644 --- a/arch/powerpc/cpu/mpc512x/diu.c +++ b/arch/powerpc/cpu/mpc512x/diu.c @@ -34,6 +34,8 @@  #include <video_fb.h>  #endif +DECLARE_GLOBAL_DATA_PTR; +  #ifdef CONFIG_FSL_DIU_LOGO_BMP  extern unsigned int FSL_Logo_BMP[];  #else @@ -65,10 +67,11 @@ void diu_set_pixel_clock(unsigned int pixclock)  char *valid_bmp(char *addr)  {  	unsigned long h_addr; +	bd_t *bd = gd->bd;  	h_addr = simple_strtoul(addr, NULL, 16); -	if (h_addr < CONFIG_SYS_FLASH_BASE || -			h_addr >= (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE - 1)) { +	if (h_addr < bd->bi_flashstart || +	    h_addr >= (bd->bi_flashstart + bd->bi_flashsize - 1)) {  		printf("bmp addr %lx is not a valid flash address\n", h_addr);  		return 0;  	} else if ((*(char *)(h_addr) != 'B') || (*(char *)(h_addr+1) != 'M')) { @@ -84,8 +87,13 @@ int mpc5121_diu_init(void)  	char *bmp = NULL;  	char *bmp_env; +#if defined(CONFIG_VIDEO_XRES) & defined(CONFIG_VIDEO_YRES) +	xres = CONFIG_VIDEO_XRES; +	yres = CONFIG_VIDEO_YRES; +#else  	xres = 1024;  	yres = 768; +#endif  	pixel_format = 0x88883316;  	debug("mpc5121_diu_init\n"); diff --git a/arch/powerpc/include/asm/immap_512x.h b/arch/powerpc/include/asm/immap_512x.h index c430cb640..7f9db8bae 100644 --- a/arch/powerpc/include/asm/immap_512x.h +++ b/arch/powerpc/include/asm/immap_512x.h @@ -356,6 +356,11 @@ typedef struct ddr512x_config {  	u32 ddr_time_config2;	/* Timing Configuration Register */  } ddr512x_config_t; +typedef struct sdram_conf_s { +	unsigned long size; +	ddr512x_config_t cfg; +} sdram_conf_t; +  /*   * DMA/Messaging Unit   */ |