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>
master
Anatolij Gustschin 13 years ago committed by Wolfgang Denk
parent 3b4a226305
commit d7ffd27a6e
  1. 32
      drivers/video/mb862xx.c

@ -189,10 +189,19 @@ static void de_init (void)
}
#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)
{
GraphicDevice *dev = &mb862xx;
pci_dev_t devbusfn;
u16 device;
if ((devbusfn = pci_find_devices (supported, 0)) < 0) {
puts ("PCI video controller not found!\n");
@ -212,10 +221,25 @@ unsigned int pci_video_init (void)
dev->pciBase = dev->frameAdrs;
/* Setup clocks and memory mode for Coral-P Eval. Board */
HOST_WR_REG (GC_CCF, 0x00090000);
puts("Coral-");
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);
HOST_WR_REG (GC_MMR, 0x11d7fa13);
HOST_WR_REG(GC_MMR, CONFIG_SYS_MB862xx_MMR);
udelay (100);
return dev->frameAdrs;
}
@ -235,8 +259,6 @@ unsigned int card_init (void)
if (!pci_video_init ())
return 0;
puts ("CoralP\n");
tmp = 0;
videomode = 0x310;
/* get video mode via environment */

Loading…
Cancel
Save