diff options
Diffstat (limited to 'board/socrates/socrates.c')
| -rw-r--r-- | board/socrates/socrates.c | 46 | 
1 files changed, 7 insertions, 39 deletions
| diff --git a/board/socrates/socrates.c b/board/socrates/socrates.c index 51d66d517..9183c15f2 100644 --- a/board/socrates/socrates.c +++ b/board/socrates/socrates.c @@ -268,17 +268,6 @@ ft_board_setup(void *blob, bd_t *bd)  }  #endif /* defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) */ -#define CONFIG_SYS_LIME_SRST		((CONFIG_SYS_LIME_BASE) + 0x01FC002C) -#define CONFIG_SYS_LIME_CCF		((CONFIG_SYS_LIME_BASE) + 0x01FC0038) -#define CONFIG_SYS_LIME_MMR		((CONFIG_SYS_LIME_BASE) + 0x01FCFFFC) -/* Lime clock frequency */ -#define CONFIG_SYS_LIME_CLK_100MHZ	0x00000 -#define CONFIG_SYS_LIME_CLK_133MHZ	0x10000 -/* SDRAM parameter */ -#define CONFIG_SYS_LIME_MMR_VALUE	0x4157BA63 - -#define DISPLAY_WIDTH		800 -#define DISPLAY_HEIGHT		480  #define DEFAULT_BRIGHTNESS	25  #define BACKLIGHT_ENABLE	(1 << 31) @@ -308,14 +297,12 @@ const gdc_regs *board_get_regs (void)  	return init_regs;  } -#define CONFIG_SYS_LIME_CID		((CONFIG_SYS_LIME_BASE) + 0x01FC00F0) -#define CONFIG_SYS_LIME_REV		((CONFIG_SYS_LIME_BASE) + 0x01FF8084)  int lime_probe(void)  {  	volatile ccsr_lbc_t *memctl = (void *)(CONFIG_SYS_MPC85xx_LBC_ADDR);  	uint cfg_br2;  	uint cfg_or2; -	uint reg; +	int type;  	cfg_br2 = memctl->br2;  	cfg_or2 = memctl->or2; @@ -325,21 +312,15 @@ int lime_probe(void)  	memctl->or2 = 0xfc000410;  	memctl->br2 = (CONFIG_SYS_LIME_BASE) | 0x00001901; -	/* Try to access GDC ID/Revision registers */ -	reg = in_be32((void *)CONFIG_SYS_LIME_CID); -	reg = in_be32((void *)CONFIG_SYS_LIME_CID); -	if (reg == 0x303) { -		reg = in_be32((void *)CONFIG_SYS_LIME_REV); -		reg = in_be32((void *)CONFIG_SYS_LIME_REV); -		reg = ((reg & ~0xff) == 0x20050100) ? 1 : 0; -	} else -		reg = 0; +	/* Get controller type */ +	type = mb862xx_probe(CONFIG_SYS_LIME_BASE);  	/* Restore previous CS2 configuration */  	memctl->br2 = 0;  	memctl->or2 = cfg_or2;  	memctl->br2 = cfg_br2; -	return reg; + +	return (type == MB862XX_TYPE_LIME) ? 1 : 0;  }  /* Returns Lime base address */ @@ -348,21 +329,8 @@ unsigned int board_video_init (void)  	if (!lime_probe())  		return 0; -	/* -	 * Reset Lime controller -	 */ -	out_be32((void *)CONFIG_SYS_LIME_SRST, 0x1); -	udelay(200); - -	/* Set Lime clock to 133MHz */ -	out_be32((void *)CONFIG_SYS_LIME_CCF, CONFIG_SYS_LIME_CLK_133MHZ); -	/* Delay required */ -	udelay(300); -	/* Set memory parameters */ -	out_be32((void *)CONFIG_SYS_LIME_MMR, CONFIG_SYS_LIME_MMR_VALUE); - -	mb862xx.winSizeX = DISPLAY_WIDTH; -	mb862xx.winSizeY = DISPLAY_HEIGHT; +	mb862xx.winSizeX = 800; +	mb862xx.winSizeY = 480;  	mb862xx.gdfIndex = GDF_15BIT_555RGB;  	mb862xx.gdfBytesPP = 2; |