|
@@ -268,17 +268,6 @@ ft_board_setup(void *blob, bd_t *bd)
|
|
}
|
|
}
|
|
#endif /* defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) */
|
|
#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 DEFAULT_BRIGHTNESS 25
|
|
#define BACKLIGHT_ENABLE (1 << 31)
|
|
#define BACKLIGHT_ENABLE (1 << 31)
|
|
|
|
|
|
@@ -308,14 +297,12 @@ const gdc_regs *board_get_regs (void)
|
|
return init_regs;
|
|
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)
|
|
int lime_probe(void)
|
|
{
|
|
{
|
|
volatile ccsr_lbc_t *memctl = (void *)(CONFIG_SYS_MPC85xx_LBC_ADDR);
|
|
volatile ccsr_lbc_t *memctl = (void *)(CONFIG_SYS_MPC85xx_LBC_ADDR);
|
|
uint cfg_br2;
|
|
uint cfg_br2;
|
|
uint cfg_or2;
|
|
uint cfg_or2;
|
|
- uint reg;
|
|
|
|
|
|
+ int type;
|
|
|
|
|
|
cfg_br2 = memctl->br2;
|
|
cfg_br2 = memctl->br2;
|
|
cfg_or2 = memctl->or2;
|
|
cfg_or2 = memctl->or2;
|
|
@@ -325,21 +312,15 @@ int lime_probe(void)
|
|
memctl->or2 = 0xfc000410;
|
|
memctl->or2 = 0xfc000410;
|
|
memctl->br2 = (CONFIG_SYS_LIME_BASE) | 0x00001901;
|
|
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 */
|
|
/* Restore previous CS2 configuration */
|
|
memctl->br2 = 0;
|
|
memctl->br2 = 0;
|
|
memctl->or2 = cfg_or2;
|
|
memctl->or2 = cfg_or2;
|
|
memctl->br2 = cfg_br2;
|
|
memctl->br2 = cfg_br2;
|
|
- return reg;
|
|
|
|
|
|
+
|
|
|
|
+ return (type == MB862XX_TYPE_LIME) ? 1 : 0;
|
|
}
|
|
}
|
|
|
|
|
|
/* Returns Lime base address */
|
|
/* Returns Lime base address */
|
|
@@ -348,21 +329,8 @@ unsigned int board_video_init (void)
|
|
if (!lime_probe())
|
|
if (!lime_probe())
|
|
return 0;
|
|
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.gdfIndex = GDF_15BIT_555RGB;
|
|
mb862xx.gdfBytesPP = 2;
|
|
mb862xx.gdfBytesPP = 2;
|
|
|
|
|