summaryrefslogtreecommitdiff
path: root/src/northbridge
diff options
context:
space:
mode:
authorEric Biederman <ebiederm@xmission.com>2004-10-21 10:44:08 +0000
committerEric Biederman <ebiederm@xmission.com>2004-10-21 10:44:08 +0000
commitdbec2d4090e40d1d8e1fd06e8d4180d3fa685d4d (patch)
treee813d3f9dea80d35cbc29d6bf35995fec0a06ab9 /src/northbridge
parentf3aa4707d3bef9f529a70a204dbc648968cf7c20 (diff)
- Bump the LinuxBIOS major version
- Rename chip_config chip_operations throughout the tree - Fix Config.lb on most of the Opteron Ports - Fix the amd 8000 chipset support for setting the subsystem vendor and device ids - Add detection of devices that are on the motherboard (i.e. In Config.lb) - Baby step in getting the resource limit handling correct, Ignore fixed resources - Only call enable_childrens_resources on devices we know will have children For some busses like i2c it is non-sense and we don't want it. - Set the resource limits for pnp devices resources. - Improve the resource size detection for pnp devices. - Added a configuration register to amd8111_ide.c so we can enable/disable individual ide channels - Added a header file to hold the prototype of isa_dma_init - Fixed most of the superio chips so the should work now, the via superio pci device is the exception. - The code compiles and runs so it is time for me to go to bed. git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1698 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/northbridge')
-rw-r--r--src/northbridge/amd/amdk8/northbridge.c7
-rw-r--r--src/northbridge/emulation/qemu-i386/chip.h2
-rw-r--r--src/northbridge/emulation/qemu-i386/northbridge.c43
-rw-r--r--src/northbridge/intel/855pm/chip.h2
-rw-r--r--src/northbridge/intel/855pm/northbridge.c35
-rw-r--r--src/northbridge/intel/e7501/chip.h2
-rw-r--r--src/northbridge/intel/e7501/northbridge.c33
-rw-r--r--src/northbridge/intel/i855pm/chip.h2
-rw-r--r--src/northbridge/intel/i855pm/northbridge.c33
-rw-r--r--src/northbridge/transmeta/tm5800/chip.h2
-rw-r--r--src/northbridge/transmeta/tm5800/northbridge.c11
-rw-r--r--src/northbridge/via/vt8601/chip.h2
-rw-r--r--src/northbridge/via/vt8601/northbridge.c9
-rw-r--r--src/northbridge/via/vt8623/chip.h2
-rw-r--r--src/northbridge/via/vt8623/northbridge.c9
15 files changed, 22 insertions, 172 deletions
diff --git a/src/northbridge/amd/amdk8/northbridge.c b/src/northbridge/amd/amdk8/northbridge.c
index e7f7f57238..d68ad11ea7 100644
--- a/src/northbridge/amd/amdk8/northbridge.c
+++ b/src/northbridge/amd/amdk8/northbridge.c
@@ -441,6 +441,11 @@ static void amdk8_set_resources(device_t dev)
}
}
+static void amdk8_enable_resources(device_t dev)
+{
+ pci_dev_enable_resources(dev);
+ enable_childrens_resources(dev);
+}
static void mcf0_control_init(struct device *dev)
{
@@ -470,7 +475,7 @@ static void mcf0_control_init(struct device *dev)
static struct device_operations northbridge_operations = {
.read_resources = amdk8_read_resources,
.set_resources = amdk8_set_resources,
- .enable_resources = pci_dev_enable_resources,
+ .enable_resources = amdk8_enable_resources,
.init = mcf0_control_init,
.scan_bus = amdk8_scan_chains,
.enable = 0,
diff --git a/src/northbridge/emulation/qemu-i386/chip.h b/src/northbridge/emulation/qemu-i386/chip.h
index 04850f22ec..d93a4b6afd 100644
--- a/src/northbridge/emulation/qemu-i386/chip.h
+++ b/src/northbridge/emulation/qemu-i386/chip.h
@@ -2,4 +2,4 @@ struct northbridge_emulation_qemu_i386_config
{
};
-extern struct chip_control northbridge_emulation_qemu_i386_control;
+extern struct chip_operations northbridge_emulation_qemu_i386_control;
diff --git a/src/northbridge/emulation/qemu-i386/northbridge.c b/src/northbridge/emulation/qemu-i386/northbridge.c
index 78ec64e310..6122c2c940 100644
--- a/src/northbridge/emulation/qemu-i386/northbridge.c
+++ b/src/northbridge/emulation/qemu-i386/northbridge.c
@@ -68,47 +68,6 @@ struct mem_range *sizeram(void)
return mem;
}
-static void enumerate(struct chip *chip)
-{
- extern struct device_operations default_pci_ops_bus;
- chip_enumerate(chip);
- chip->dev->ops = &default_pci_ops_bus;
-}
-
-static void random_fixup() {
- device_t pcidev = dev_find_slot(0, 0);
-
- printk_warning("QEMU random fixup ...\n");
- if (pcidev) {
- // pci_write_config8(pcidev, 0x0, 0x0);
- }
-}
-
-static void northbridge_init(struct chip *chip, enum chip_pass pass)
-{
-
- struct northbridge_dummy_qemu_i386_config *conf =
- (struct northbridge_dummy_qemu_i386_config *)chip->chip_info;
-
- switch (pass) {
- case CONF_PASS_PRE_PCI:
- break;
-
- case CONF_PASS_POST_PCI:
- break;
-
- case CONF_PASS_PRE_BOOT:
- random_fixup();
- break;
-
- default:
- /* nothing yet */
- break;
- }
-}
-
-struct chip_control northbridge_emulation_qemu_i386_control = {
- .enumerate = enumerate,
- .enable = northbridge_init,
+struct chip_operations northbridge_emulation_qemu_i386_control = {
.name = "QEMU Northbridge",
};
diff --git a/src/northbridge/intel/855pm/chip.h b/src/northbridge/intel/855pm/chip.h
index 468982833c..d68c782f24 100644
--- a/src/northbridge/intel/855pm/chip.h
+++ b/src/northbridge/intel/855pm/chip.h
@@ -2,4 +2,4 @@ struct northbridge_intel_855pm_config
{
};
-extern struct chip_control northbridge_intel_855pm_control;
+extern struct chip_operations northbridge_intel_855pm_control;
diff --git a/src/northbridge/intel/855pm/northbridge.c b/src/northbridge/intel/855pm/northbridge.c
index 906617ad8e..20bc17fea1 100644
--- a/src/northbridge/intel/855pm/northbridge.c
+++ b/src/northbridge/intel/855pm/northbridge.c
@@ -113,38 +113,7 @@ struct mem_range *sizeram(void)
return mem;
}
-static void enumerate(struct chip *chip)
-{
- extern struct device_operations default_pci_ops_bus;
- chip_enumerate(chip);
- chip->dev->ops = &default_pci_ops_bus;
-}
-#if 0
-static void northbridge_init(struct chip *chip, enum chip_pass pass)
-{
-
- struct northbridge_intel_855pm_config *conf =
- (struct northbridge_intel_855pm_config *)chip->chip_info;
-
- switch (pass) {
- case CONF_PASS_PRE_PCI:
- break;
-
- case CONF_PASS_POST_PCI:
- break;
-
- case CONF_PASS_PRE_BOOT:
- break;
-
- default:
- /* nothing yet */
- break;
- }
-}
-#endif
-struct chip_control northbridge_intel_855pm_control = {
- .enumerate = enumerate,
-// .enable = northbridge_init,
- .name = "intel E7501 Northbridge",
+struct chip_operations northbridge_intel_855pm_control = {
+ .name = "intel 855pm Northbridge",
};
diff --git a/src/northbridge/intel/e7501/chip.h b/src/northbridge/intel/e7501/chip.h
index 4fa6df49b3..244d368595 100644
--- a/src/northbridge/intel/e7501/chip.h
+++ b/src/northbridge/intel/e7501/chip.h
@@ -2,4 +2,4 @@ struct northbridge_intel_e7501_config
{
};
-extern struct chip_control northbridge_intel_e7501_control;
+extern struct chip_operations northbridge_intel_e7501_control;
diff --git a/src/northbridge/intel/e7501/northbridge.c b/src/northbridge/intel/e7501/northbridge.c
index 79068310c8..6ad5973a86 100644
--- a/src/northbridge/intel/e7501/northbridge.c
+++ b/src/northbridge/intel/e7501/northbridge.c
@@ -113,38 +113,7 @@ struct mem_range *sizeram(void)
return mem;
}
-static void enumerate(struct chip *chip)
-{
- extern struct device_operations default_pci_ops_bus;
- chip_enumerate(chip);
- chip->dev->ops = &default_pci_ops_bus;
-}
-#if 0
-static void northbridge_init(struct chip *chip, enum chip_pass pass)
-{
-
- struct northbridge_intel_e7501_config *conf =
- (struct northbridge_intel_e7501_config *)chip->chip_info;
-
- switch (pass) {
- case CONF_PASS_PRE_PCI:
- break;
-
- case CONF_PASS_POST_PCI:
- break;
-
- case CONF_PASS_PRE_BOOT:
- break;
-
- default:
- /* nothing yet */
- break;
- }
-}
-#endif
-struct chip_control northbridge_intel_e7501_control = {
- .enumerate = enumerate,
-// .enable = northbridge_init,
+struct chip_operations northbridge_intel_e7501_control = {
.name = "intel E7501 Northbridge",
};
diff --git a/src/northbridge/intel/i855pm/chip.h b/src/northbridge/intel/i855pm/chip.h
index 46b4a68265..3f6921f2ee 100644
--- a/src/northbridge/intel/i855pm/chip.h
+++ b/src/northbridge/intel/i855pm/chip.h
@@ -2,4 +2,4 @@ struct northbridge_intel_i855pm_config
{
};
-extern struct chip_control northbridge_intel_i855pm_control;
+extern struct chip_operations northbridge_intel_i855pm_control;
diff --git a/src/northbridge/intel/i855pm/northbridge.c b/src/northbridge/intel/i855pm/northbridge.c
index f980c5436a..b43a853eee 100644
--- a/src/northbridge/intel/i855pm/northbridge.c
+++ b/src/northbridge/intel/i855pm/northbridge.c
@@ -113,38 +113,7 @@ struct mem_range *sizeram(void)
return mem;
}
-static void enumerate(struct chip *chip)
-{
- extern struct device_operations default_pci_ops_bus;
- chip_enumerate(chip);
- chip->dev->ops = &default_pci_ops_bus;
-}
-#if 0
-static void northbridge_init(struct chip *chip, enum chip_pass pass)
-{
-
- struct northbridge_intel_i855pm_config *conf =
- (struct northbridge_intel_i855pm_config *)chip->chip_info;
-
- switch (pass) {
- case CONF_PASS_PRE_PCI:
- break;
-
- case CONF_PASS_POST_PCI:
- break;
-
- case CONF_PASS_PRE_BOOT:
- break;
-
- default:
- /* nothing yet */
- break;
- }
-}
-#endif
-struct chip_control northbridge_intel_i855pm_control = {
- .enumerate = enumerate,
-// .enable = northbridge_init,
+struct chip_operations northbridge_intel_i855pm_control = {
.name = "intel i855pm Northbridge",
};
diff --git a/src/northbridge/transmeta/tm5800/chip.h b/src/northbridge/transmeta/tm5800/chip.h
index 1c121ac077..3390bcdcbe 100644
--- a/src/northbridge/transmeta/tm5800/chip.h
+++ b/src/northbridge/transmeta/tm5800/chip.h
@@ -2,4 +2,4 @@ struct northbridge_transmeta_tm5800_config
{
};
-extern struct chip_control northbridge_transmeta_tm5800_control;
+extern struct chip_operations northbridge_transmeta_tm5800_control;
diff --git a/src/northbridge/transmeta/tm5800/northbridge.c b/src/northbridge/transmeta/tm5800/northbridge.c
index af101eb64b..d3576a9143 100644
--- a/src/northbridge/transmeta/tm5800/northbridge.c
+++ b/src/northbridge/transmeta/tm5800/northbridge.c
@@ -118,13 +118,6 @@ static struct pci_driver mcf0_driver __pci_driver = {
.device = 0x1100,
};
-static void enumerate(struct chip *chip)
-{
- chip_enumerate(chip);
- chip->dev->ops = &northbridge_operations;
-}
-
-struct chip_control northbridge_amd_tm5800_control = {
- .name = "Transmeta tm5800 Northbridge",
- .enumerate = enumerate,
+struct chip_operations northbridge_amd_tm5800_control = {
+ .name = "Transmeta tm5800 Northbridge",
};
diff --git a/src/northbridge/via/vt8601/chip.h b/src/northbridge/via/vt8601/chip.h
index b689f0dedd..29c4e43772 100644
--- a/src/northbridge/via/vt8601/chip.h
+++ b/src/northbridge/via/vt8601/chip.h
@@ -2,4 +2,4 @@ struct northbridge_via_vt8601_config
{
};
-extern struct chip_control northbridge_via_vt8601_control;
+extern struct chip_operations northbridge_via_vt8601_control;
diff --git a/src/northbridge/via/vt8601/northbridge.c b/src/northbridge/via/vt8601/northbridge.c
index 16a7ea8530..bd3018625e 100644
--- a/src/northbridge/via/vt8601/northbridge.c
+++ b/src/northbridge/via/vt8601/northbridge.c
@@ -63,12 +63,6 @@ struct mem_range *sizeram(void)
return mem;
}
-static void enumerate(struct chip *chip)
-{
- extern struct device_operations default_pci_ops_bus;
- chip_enumerate(chip);
- chip->dev->ops = &default_pci_ops_bus;
-}
/*
* This fixup is based on capturing values from an Award bios. Without
@@ -114,8 +108,7 @@ static void northbridge_init(struct chip *chip, enum chip_pass pass)
}
}
-struct chip_control northbridge_via_vt8601_control = {
- .enumerate = enumerate,
+struct chip_operations northbridge_via_vt8601_control = {
.enable = northbridge_init,
.name = "VIA vt8601 Northbridge",
};
diff --git a/src/northbridge/via/vt8623/chip.h b/src/northbridge/via/vt8623/chip.h
index 36bd3e93ff..f5761650ea 100644
--- a/src/northbridge/via/vt8623/chip.h
+++ b/src/northbridge/via/vt8623/chip.h
@@ -2,4 +2,4 @@ struct northbridge_via_vt8623_config
{
};
-extern struct chip_control northbridge_via_vt8623_control;
+extern struct chip_operations northbridge_via_vt8623_control;
diff --git a/src/northbridge/via/vt8623/northbridge.c b/src/northbridge/via/vt8623/northbridge.c
index c026197973..2d53f23353 100644
--- a/src/northbridge/via/vt8623/northbridge.c
+++ b/src/northbridge/via/vt8623/northbridge.c
@@ -65,12 +65,6 @@ struct mem_range *sizeram(void)
return mem;
}
-static void enumerate(struct chip *chip)
-{
- extern struct device_operations default_pci_ops_bus;
- chip_enumerate(chip);
- chip->dev->ops = &default_pci_ops_bus;
-}
/*
* This fixup is based on capturing values from an Award bios. Without
@@ -164,8 +158,7 @@ static void northbridge_init(struct chip *chip, enum chip_pass pass)
}
}
-struct chip_control northbridge_via_vt8623_control = {
- .enumerate = enumerate,
+struct chip_operations northbridge_via_vt8623_control = {
.enable = northbridge_init,
.name = "VIA vt8623 Northbridge",
};