summaryrefslogtreecommitdiff
path: root/src/southbridge/via
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge/via')
-rw-r--r--src/southbridge/via/vt8231/vt8231_lpc.c20
-rw-r--r--src/southbridge/via/vt8235/vt8235_lpc.c17
2 files changed, 31 insertions, 6 deletions
diff --git a/src/southbridge/via/vt8231/vt8231_lpc.c b/src/southbridge/via/vt8231/vt8231_lpc.c
index 4b906359b0..fb2f29be61 100644
--- a/src/southbridge/via/vt8231/vt8231_lpc.c
+++ b/src/southbridge/via/vt8231/vt8231_lpc.c
@@ -131,6 +131,24 @@ static void vt8231_init(struct device *dev)
rtc_init(0);
}
+void vt8231_read_resources(device_t dev)
+{
+ struct resource *res;
+
+ pci_dev_read_resources(dev);
+
+ res = new_resource(dev, 1);
+ res->base = 0x0UL;
+ res->size = 0x400UL;
+ res->limit = 0xffffUL;
+ res->flags = IORESOURCE_IO | IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
+
+ res = new_resource(dev, 3); /* IOAPIC */
+ res->base = 0xfec00000;
+ res->size = 0x00001000;
+ res->flags = IORESOURCE_MEM | IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
+}
+
static void southbridge_init(struct device *dev)
{
vt8231_init(dev);
@@ -138,7 +156,7 @@ static void southbridge_init(struct device *dev)
}
static struct device_operations vt8231_lpc_ops = {
- .read_resources = pci_dev_read_resources,
+ .read_resources = vt8231_read_resources,
.set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = &southbridge_init,
diff --git a/src/southbridge/via/vt8235/vt8235_lpc.c b/src/southbridge/via/vt8235/vt8235_lpc.c
index 521271d1a8..67f602b9b4 100644
--- a/src/southbridge/via/vt8235/vt8235_lpc.c
+++ b/src/southbridge/via/vt8235/vt8235_lpc.c
@@ -219,15 +219,22 @@ static void vt8235_init(struct device *dev)
device has a resource to set - so set a dummy one */
void vt8235_read_resources(device_t dev)
{
+ struct resource *res;
- struct resource *resource;
pci_dev_read_resources(dev);
- resource = new_resource(dev, 1);
- resource->flags |= IORESOURCE_FIXED | IORESOURCE_ASSIGNED | IORESOURCE_IO | IORESOURCE_STORED;
- resource->size = 2;
- resource->base = 0x2e;
+ res = new_resource(dev, 1);
+ res->base = 0x0UL;
+ res->size = 0x400UL;
+ res->limit = 0xffffUL;
+ res->flags = IORESOURCE_IO | IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
+
+ res = new_resource(dev, 3); /* IOAPIC */
+ res->base = 0xfec00000;
+ res->size = 0x00001000;
+ res->flags = IORESOURCE_MEM | IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
}
+
void vt8235_set_resources(device_t dev)
{
struct resource *resource;