video: mb862xx: support Coral-PA controller

Add detection of Coral-PA and configure Coral CCF an MMR parameters
using CONFIG_SYS_MB862xx_CCF and CONFIG_SYS_MB862xx_MMR macros.
Use CCF and MMR parameters for Coral-P Eval. Board if the appropriate
macros weren't defined.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
Anatolij Gustschin 2011-05-27 16:08:20 +02:00 committed by Wolfgang Denk
parent 3b4a226305
commit d7ffd27a6e

View file

@ -189,10 +189,19 @@ static void de_init (void)
} }
#if defined(CONFIG_VIDEO_CORALP) #if defined(CONFIG_VIDEO_CORALP)
/* use CCF and MMR parameters for Coral-P Eval. Board as default */
#ifndef CONFIG_SYS_MB862xx_CCF
#define CONFIG_SYS_MB862xx_CCF 0x00090000
#endif
#ifndef CONFIG_SYS_MB862xx_MMR
#define CONFIG_SYS_MB862xx_MMR 0x11d7fa13
#endif
unsigned int pci_video_init (void) unsigned int pci_video_init (void)
{ {
GraphicDevice *dev = &mb862xx; GraphicDevice *dev = &mb862xx;
pci_dev_t devbusfn; pci_dev_t devbusfn;
u16 device;
if ((devbusfn = pci_find_devices (supported, 0)) < 0) { if ((devbusfn = pci_find_devices (supported, 0)) < 0) {
puts ("PCI video controller not found!\n"); puts ("PCI video controller not found!\n");
@ -212,10 +221,25 @@ unsigned int pci_video_init (void)
dev->pciBase = dev->frameAdrs; dev->pciBase = dev->frameAdrs;
/* Setup clocks and memory mode for Coral-P Eval. Board */ puts("Coral-");
HOST_WR_REG (GC_CCF, 0x00090000);
pci_read_config_word(devbusfn, PCI_DEVICE_ID, &device);
switch (device) {
case PCI_DEVICE_ID_CORAL_P:
puts("P\n");
break;
case PCI_DEVICE_ID_CORAL_PA:
puts("PA\n");
break;
default:
puts("Unknown\n");
return 0;
}
/* Setup clocks and memory mode for Coral-P(A) */
HOST_WR_REG(GC_CCF, CONFIG_SYS_MB862xx_CCF);
udelay (200); udelay (200);
HOST_WR_REG (GC_MMR, 0x11d7fa13); HOST_WR_REG(GC_MMR, CONFIG_SYS_MB862xx_MMR);
udelay (100); udelay (100);
return dev->frameAdrs; return dev->frameAdrs;
} }
@ -235,8 +259,6 @@ unsigned int card_init (void)
if (!pci_video_init ()) if (!pci_video_init ())
return 0; return 0;
puts ("CoralP\n");
tmp = 0; tmp = 0;
videomode = 0x310; videomode = 0x310;
/* get video mode via environment */ /* get video mode via environment */