Create a a new configuration variable for PCI
Not all architectures have PCI. This new config variable allows control of whether PCI support is configued in. It is selected for ARCH_X86. Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Change-Id: Ic5fe777b14fd6a16ba605ada1e22acf3e8a2c783 Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Reviewed-on: http://review.coreboot.org/1947 Tested-by: build bot (Jenkins)
This commit is contained in:
parent
3665ace13d
commit
78a1667cbc
|
@ -203,6 +203,11 @@ source src/mainboard/Kconfig
|
||||||
config ARCH_X86
|
config ARCH_X86
|
||||||
bool
|
bool
|
||||||
default n
|
default n
|
||||||
|
select PCI
|
||||||
|
|
||||||
|
config ARCH_ARM
|
||||||
|
bool
|
||||||
|
default n
|
||||||
|
|
||||||
config ARCH_ARMV7
|
config ARCH_ARMV7
|
||||||
bool
|
bool
|
||||||
|
|
|
@ -175,28 +175,38 @@ config MULTIPLE_VGA_ADAPTERS
|
||||||
bool
|
bool
|
||||||
default n
|
default n
|
||||||
|
|
||||||
|
config PCI
|
||||||
|
bool
|
||||||
|
default n
|
||||||
|
|
||||||
config PCI_64BIT_PREF_MEM
|
config PCI_64BIT_PREF_MEM
|
||||||
bool
|
bool
|
||||||
|
depends on PCI
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config HYPERTRANSPORT_PLUGIN_SUPPORT
|
config HYPERTRANSPORT_PLUGIN_SUPPORT
|
||||||
bool
|
bool
|
||||||
|
depends on PCI
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config PCIX_PLUGIN_SUPPORT
|
config PCIX_PLUGIN_SUPPORT
|
||||||
bool
|
bool
|
||||||
|
depends on PCI
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config PCIEXP_PLUGIN_SUPPORT
|
config PCIEXP_PLUGIN_SUPPORT
|
||||||
bool
|
bool
|
||||||
|
depends on PCI
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config AGP_PLUGIN_SUPPORT
|
config AGP_PLUGIN_SUPPORT
|
||||||
bool
|
bool
|
||||||
|
depends on PCI
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config CARDBUS_PLUGIN_SUPPORT
|
config CARDBUS_PLUGIN_SUPPORT
|
||||||
bool
|
bool
|
||||||
|
depends on PCI
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config PCIEXP_COMMON_CLOCK
|
config PCIEXP_COMMON_CLOCK
|
||||||
|
|
|
@ -2,14 +2,14 @@ ramstage-y += device.c
|
||||||
ramstage-y += root_device.c
|
ramstage-y += root_device.c
|
||||||
ramstage-y += cpu_device.c
|
ramstage-y += cpu_device.c
|
||||||
ramstage-y += device_util.c
|
ramstage-y += device_util.c
|
||||||
ramstage-y += pci_device.c
|
ramstage-$(CONFIG_PCI) += pci_device.c
|
||||||
ramstage-$(CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT) += hypertransport.c
|
ramstage-$(CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT) += hypertransport.c
|
||||||
ramstage-$(CONFIG_PCIX_PLUGIN_SUPPORT) += pcix_device.c
|
ramstage-$(CONFIG_PCIX_PLUGIN_SUPPORT) += pcix_device.c
|
||||||
ramstage-y += pciexp_device.c
|
ramstage-$(CONFIG_PCIEXP_PLUGIN_SUPPORT) += pciexp_device.c
|
||||||
ramstage-$(CONFIG_AGP_PLUGIN_SUPPORT) += agp_device.c
|
ramstage-$(CONFIG_AGP_PLUGIN_SUPPORT) += agp_device.c
|
||||||
ramstage-$(CONFIG_CARDBUS_PLUGIN_SUPPORT) += cardbus_device.c
|
ramstage-$(CONFIG_CARDBUS_PLUGIN_SUPPORT) += cardbus_device.c
|
||||||
ramstage-y += pnp_device.c
|
ramstage-$(CONFIG_ARCH_X86) += pnp_device.c
|
||||||
ramstage-y += pci_ops.c
|
ramstage-$(CONFIG_PCI) += pci_ops.c
|
||||||
ramstage-y += smbus_ops.c
|
ramstage-y += smbus_ops.c
|
||||||
|
|
||||||
romstage-y+= device_romstage.c
|
romstage-y+= device_romstage.c
|
||||||
|
|
|
@ -756,11 +756,10 @@ struct device_operations default_pci_ops_bus = {
|
||||||
*/
|
*/
|
||||||
static struct device_operations *get_pci_bridge_ops(device_t dev)
|
static struct device_operations *get_pci_bridge_ops(device_t dev)
|
||||||
{
|
{
|
||||||
unsigned int pos;
|
|
||||||
|
|
||||||
#if CONFIG_PCIX_PLUGIN_SUPPORT
|
#if CONFIG_PCIX_PLUGIN_SUPPORT
|
||||||
pos = pci_find_capability(dev, PCI_CAP_ID_PCIX);
|
unsigned int pcixpos;
|
||||||
if (pos) {
|
pcixpos = pci_find_capability(dev, PCI_CAP_ID_PCIX);
|
||||||
|
if (pcixpos) {
|
||||||
printk(BIOS_DEBUG, "%s subordinate bus PCI-X\n", dev_path(dev));
|
printk(BIOS_DEBUG, "%s subordinate bus PCI-X\n", dev_path(dev));
|
||||||
return &default_pcix_ops_bus;
|
return &default_pcix_ops_bus;
|
||||||
}
|
}
|
||||||
|
@ -769,10 +768,10 @@ static struct device_operations *get_pci_bridge_ops(device_t dev)
|
||||||
/* How do I detect a PCI to AGP bridge? */
|
/* How do I detect a PCI to AGP bridge? */
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT
|
#if CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT
|
||||||
pos = 0;
|
unsigned int htpos = 0;
|
||||||
while ((pos = pci_find_next_capability(dev, PCI_CAP_ID_HT, pos))) {
|
while ((htpos = pci_find_next_capability(dev, PCI_CAP_ID_HT, htpos))) {
|
||||||
u16 flags;
|
u16 flags;
|
||||||
flags = pci_read_config16(dev, pos + PCI_CAP_FLAGS);
|
flags = pci_read_config16(dev, htpos + PCI_CAP_FLAGS);
|
||||||
if ((flags >> 13) == 1) {
|
if ((flags >> 13) == 1) {
|
||||||
/* Host or Secondary Interface */
|
/* Host or Secondary Interface */
|
||||||
printk(BIOS_DEBUG, "%s subordinate bus HT\n",
|
printk(BIOS_DEBUG, "%s subordinate bus HT\n",
|
||||||
|
@ -782,10 +781,11 @@ static struct device_operations *get_pci_bridge_ops(device_t dev)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_PCIEXP_PLUGIN_SUPPORT
|
#if CONFIG_PCIEXP_PLUGIN_SUPPORT
|
||||||
pos = pci_find_capability(dev, PCI_CAP_ID_PCIE);
|
unsigned int pciexpos;
|
||||||
if (pos) {
|
pciexpos = pci_find_capability(dev, PCI_CAP_ID_PCIE);
|
||||||
|
if (pciexpos) {
|
||||||
u16 flags;
|
u16 flags;
|
||||||
flags = pci_read_config16(dev, pos + PCI_EXP_FLAGS);
|
flags = pci_read_config16(dev, pciexpos + PCI_EXP_FLAGS);
|
||||||
switch ((flags & PCI_EXP_FLAGS_TYPE) >> 4) {
|
switch ((flags & PCI_EXP_FLAGS_TYPE) >> 4) {
|
||||||
case PCI_EXP_TYPE_ROOT_PORT:
|
case PCI_EXP_TYPE_ROOT_PORT:
|
||||||
case PCI_EXP_TYPE_UPSTREAM:
|
case PCI_EXP_TYPE_UPSTREAM:
|
||||||
|
|
Loading…
Reference in New Issue