mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-01-25 11:25:17 +00:00
i386: Misc PCI fixups
Change PCI_REGION_MEMORY to PCI_REGION_SYS_MEMORY (Originally done in commitff4e66e93c
, regressed by commit6d7f610b09
) Cast PCI_ROM_ADDRESS_MASK to u32 Wrap probe_pci_video() call inside #ifdef CONFIG_VIDEO Change call to pci_find_class() to pci_find_devices(). This is based on a patch submitted on 1st March 2007 (Patch that fixes the compilation errors for sc520_cdp board) by mushtaq_k This patch requires that PCI_VIDEO_VENDOR_ID and PCI_VIDEO_DEVICE_ID be specified in the board config file. Dummy values have been added for the SC520 CDP board to enable compilation, but since I do not have one of these, I do know what the values should be Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
This commit is contained in:
parent
a219983dc1
commit
ed3afafd48
5 changed files with 14 additions and 11 deletions
|
@ -27,6 +27,7 @@
|
|||
#include <asm/io.h>
|
||||
#include <asm/pci.h>
|
||||
#include <asm/ic/sc520.h>
|
||||
#include <asm/ic/pci.h>
|
||||
#include <ali512x.h>
|
||||
#include <spi.h>
|
||||
#include <netdev.h>
|
||||
|
|
|
@ -124,7 +124,7 @@ void pci_sc520_init(struct pci_controller *hose)
|
|||
SC520_PCI_MEMORY_BUS,
|
||||
SC520_PCI_MEMORY_PHYS,
|
||||
SC520_PCI_MEMORY_SIZE,
|
||||
PCI_REGION_MEM | PCI_REGION_MEMORY);
|
||||
PCI_REGION_MEM | PCI_REGION_SYS_MEMORY);
|
||||
|
||||
/* PCI memory space */
|
||||
pci_set_region(hose->regions + 1,
|
||||
|
|
|
@ -206,6 +206,8 @@
|
|||
************************************************************/
|
||||
#ifndef GRUSS_TESTING
|
||||
#define CONFIG_VIDEO /* To enable video controller support */
|
||||
#define PCI_VIDEO_VENDOR_ID 0 /*Use the appropriate vendor ID*/
|
||||
#define PCI_VIDEO_DEVICE_ID 0 /*Use the appropriate Device ID*/
|
||||
#else
|
||||
#undef CONFIG_VIDEO
|
||||
#endif
|
||||
|
|
|
@ -60,7 +60,7 @@ int pci_shadow_rom(pci_dev_t dev, unsigned char *dest)
|
|||
vendor, device, class_code);
|
||||
#endif
|
||||
/* Enable the rom addess decoder */
|
||||
pci_write_config_dword(dev, PCI_ROM_ADDRESS, PCI_ROM_ADDRESS_MASK);
|
||||
pci_write_config_dword(dev, PCI_ROM_ADDRESS, (u32)PCI_ROM_ADDRESS_MASK);
|
||||
pci_read_config_dword(dev, PCI_ROM_ADDRESS, &addr_reg);
|
||||
|
||||
if (!addr_reg) {
|
||||
|
|
|
@ -76,18 +76,22 @@ void print_bios_bios_stat(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_VIDEO
|
||||
|
||||
#define PCI_CLASS_VIDEO 3
|
||||
#define PCI_CLASS_VIDEO_STD 0
|
||||
#define PCI_CLASS_VIDEO_PROG_IF_VGA 0
|
||||
|
||||
static struct pci_device_id supported[] = {
|
||||
{PCI_VIDEO_VENDOR_ID, PCI_VIDEO_DEVICE_ID},
|
||||
{}
|
||||
};
|
||||
|
||||
static u32 probe_pci_video(void)
|
||||
{
|
||||
pci_dev_t devbusfn;
|
||||
|
||||
if ((devbusfn = pci_find_class(PCI_CLASS_VIDEO,
|
||||
PCI_CLASS_VIDEO_STD,
|
||||
PCI_CLASS_VIDEO_PROG_IF_VGA, 0)) != -1) {
|
||||
if ((devbusfn = pci_find_devices(supported, 0) != -1)) {
|
||||
u32 old;
|
||||
u32 addr;
|
||||
|
||||
|
@ -103,7 +107,7 @@ static u32 probe_pci_video(void)
|
|||
|
||||
/* Test the ROM decoder, do the device support a rom? */
|
||||
pci_read_config_dword(devbusfn, PCI_ROM_ADDRESS, &old);
|
||||
pci_write_config_dword(devbusfn, PCI_ROM_ADDRESS, PCI_ROM_ADDRESS_MASK);
|
||||
pci_write_config_dword(devbusfn, PCI_ROM_ADDRESS, (u32)PCI_ROM_ADDRESS_MASK);
|
||||
pci_read_config_dword(devbusfn, PCI_ROM_ADDRESS, &addr);
|
||||
pci_write_config_dword(devbusfn, PCI_ROM_ADDRESS, old);
|
||||
|
||||
|
@ -133,11 +137,6 @@ static u32 probe_pci_video(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_VIDEO
|
||||
|
||||
static int probe_isa_video(void)
|
||||
{
|
||||
u32 ptr;
|
||||
|
@ -220,3 +219,4 @@ int video_bios_init(void)
|
|||
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue