diff options
author | Greg Watson <jarrah@users.sourceforge.net> | 2004-04-17 02:36:47 +0000 |
---|---|---|
committer | Greg Watson <jarrah@users.sourceforge.net> | 2004-04-17 02:36:47 +0000 |
commit | 8e0586200b61cd5bf4a3f59bf7ac68efc6f9ac17 (patch) | |
tree | 68ff45027fa056dfdf52556c3c2469c6e29e6132 /src/mainboard/via/epia-m/mainboard.c | |
parent | 550999eaca74ba5bd5663c584bc04239def15fc1 (diff) |
start of epia-m port
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1512 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/mainboard/via/epia-m/mainboard.c')
-rw-r--r-- | src/mainboard/via/epia-m/mainboard.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/mainboard/via/epia-m/mainboard.c b/src/mainboard/via/epia-m/mainboard.c new file mode 100644 index 0000000000..df52081ac7 --- /dev/null +++ b/src/mainboard/via/epia-m/mainboard.c @@ -0,0 +1,45 @@ + +#include <console/console.h> +#include <device/device.h> +#include <device/pci.h> +#include <device/pci_ids.h> +#include <device/pci_ops.h> + +#include <arch/io.h> +#include <device/chip.h> +#include "chip.h" + +static int +mainboard_scan_bus(device_t root, int maxbus) +{ + int retval; + printk_spew("%s: root %p maxbus %d\n", __FUNCTION__, root, maxbus); + retval = pci_scan_bus(root->bus, 0, 0xff, maxbus); + printk_spew("DONE %s: return %d\n", __FUNCTION__, maxbus); + return maxbus; +} + +static struct device_operations mainboard_operations = { + .read_resources = root_dev_read_resources, + .set_resources = root_dev_set_resources, + .enable_resources = enable_childrens_resources, + .init = 0, + .scan_bus = mainboard_scan_bus, + .enable = 0, +}; + +static void enumerate(struct chip *chip) +{ + struct chip *child; + dev_root.ops = &mainboard_operations; + chip->dev = &dev_root; + chip->bus = 0; + for(child = chip->children; child; child = child->next) { + child->bus = &dev_root.link[0]; + } +} +struct chip_control mainboard_via_epia_control = { + .enumerate = enumerate, + .name = "VIA EPIA mainboard ", +}; + |