diff options
author | Eric Biederman <ebiederm@xmission.com> | 2004-10-21 10:44:08 +0000 |
---|---|---|
committer | Eric Biederman <ebiederm@xmission.com> | 2004-10-21 10:44:08 +0000 |
commit | dbec2d4090e40d1d8e1fd06e8d4180d3fa685d4d (patch) | |
tree | e813d3f9dea80d35cbc29d6bf35995fec0a06ab9 /src/northbridge | |
parent | f3aa4707d3bef9f529a70a204dbc648968cf7c20 (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.c | 7 | ||||
-rw-r--r-- | src/northbridge/emulation/qemu-i386/chip.h | 2 | ||||
-rw-r--r-- | src/northbridge/emulation/qemu-i386/northbridge.c | 43 | ||||
-rw-r--r-- | src/northbridge/intel/855pm/chip.h | 2 | ||||
-rw-r--r-- | src/northbridge/intel/855pm/northbridge.c | 35 | ||||
-rw-r--r-- | src/northbridge/intel/e7501/chip.h | 2 | ||||
-rw-r--r-- | src/northbridge/intel/e7501/northbridge.c | 33 | ||||
-rw-r--r-- | src/northbridge/intel/i855pm/chip.h | 2 | ||||
-rw-r--r-- | src/northbridge/intel/i855pm/northbridge.c | 33 | ||||
-rw-r--r-- | src/northbridge/transmeta/tm5800/chip.h | 2 | ||||
-rw-r--r-- | src/northbridge/transmeta/tm5800/northbridge.c | 11 | ||||
-rw-r--r-- | src/northbridge/via/vt8601/chip.h | 2 | ||||
-rw-r--r-- | src/northbridge/via/vt8601/northbridge.c | 9 | ||||
-rw-r--r-- | src/northbridge/via/vt8623/chip.h | 2 | ||||
-rw-r--r-- | src/northbridge/via/vt8623/northbridge.c | 9 |
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", }; |