From 87888630b27ae64218abc1abcf06a213eb342d97 Mon Sep 17 00:00:00 2001 From: "Ronald G. Minnich" Date: Fri, 23 Sep 2005 17:08:58 +0000 Subject: sc520 support -- ethernet works git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2047 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/mainboard/digitallogic/msm586seg/Config.lb | 3 +++ src/mainboard/digitallogic/msm586seg/irq_tables.c | 9 ++------- src/mainboard/digitallogic/msm586seg/mainboard.c | 7 +++++++ 3 files changed, 12 insertions(+), 7 deletions(-) (limited to 'src/mainboard/digitallogic/msm586seg') diff --git a/src/mainboard/digitallogic/msm586seg/Config.lb b/src/mainboard/digitallogic/msm586seg/Config.lb index 99f37a7234..8f27fe694c 100644 --- a/src/mainboard/digitallogic/msm586seg/Config.lb +++ b/src/mainboard/digitallogic/msm586seg/Config.lb @@ -134,6 +134,9 @@ chip cpu/amd/sc520 device pci_domain 0 on device pci 0.0 on end + chip drivers/pci/onboard + device pci 12.0 on end # enet + end chip drivers/pci/onboard device pci 14.0 on end # 69000 register "rom_address" = "0x2000000" diff --git a/src/mainboard/digitallogic/msm586seg/irq_tables.c b/src/mainboard/digitallogic/msm586seg/irq_tables.c index 0b56f75920..4e7a1fe82e 100644 --- a/src/mainboard/digitallogic/msm586seg/irq_tables.c +++ b/src/mainboard/digitallogic/msm586seg/irq_tables.c @@ -21,13 +21,8 @@ const struct irq_routing_table intel_irq_routing_table = { 0x50, /* u8 checksum , this hase to set to some value that would give 0 after the sum of all bytes for this structure (including checksum) */ { /* bus, dev|fn, {link, bitmap}, {link, bitmap}, {link, bitmap}, {link, bitmap}, slot, rfu */ - {0x00,(0x09<<3)|0x0, {{0x30, 0x8e80}, {0x31, 0x8e80}, {0x32, 0x8e80}, {0x33, 0x08e80}}, 0x1, 0x0}, - {0x00,(0x0a<<3)|0x0, {{0x31, 0x8e80}, {0x32, 0x8e80}, {0x33, 0x8e80}, {0x30, 0x08e80}}, 0x2, 0x0}, - {0x00,(0x0b<<3)|0x0, {{0x32, 0x8e80}, {0x33, 0x8e80}, {0x30, 0x8e80}, {0x31, 0x08e80}}, 0x3, 0x0}, - {0x00,(0x0c<<3)|0x0, {{0x33, 0x8e80}, {0x30, 0x8e80}, {0x31, 0x8e80}, {0x32, 0x08e80}}, 0x4, 0x0}, - {0x00,(0x0f<<3)|0x0, {{0x32, 0x8e80}, {0x00, 0x8e80}, {0x00, 0x8e80}, {0x00, 0x08e80}}, 0x0, 0x0}, - {0x00,(0x12<<3)|0x0, {{0x30, 0x8e80}, {0x00, 0x8e80}, {0x00, 0x8e80}, {0x00, 0x08e80}}, 0x0, 0x0}, - {0x00,(0x14<<3)|0x0, {{0x30, 0x8e80}, {0x31, 0x8e80}, {0x32, 0x8e80}, {0x33, 0x08e80}}, 0x0, 0x0}, + {0x00,(0x12<<3)|0x0, {{0x30, 0x8000}, {0x00, 0x0}, {0x00, 0x0}, {0x00, 0x00}}, 0x0, 0x0}, + {0x00,(0x14<<3)|0x0, {{0x30, 0x8000}, {0x31, 0x0}, {0x32, 0x0}, {0x33, 0x00}}, 0x0, 0x0}, } }; unsigned long write_pirq_routing_table(unsigned long addr) diff --git a/src/mainboard/digitallogic/msm586seg/mainboard.c b/src/mainboard/digitallogic/msm586seg/mainboard.c index 55607ac8c0..13f28f43b7 100644 --- a/src/mainboard/digitallogic/msm586seg/mainboard.c +++ b/src/mainboard/digitallogic/msm586seg/mainboard.c @@ -35,6 +35,7 @@ static void irqdump() - set ADDDECTL (now done in raminit.c in cpu/amd/sc520 */ static void enable_dev(struct device *dev) { + extern unsigned char *rom_start, *rom_end; volatile struct mmcrpic *pic = MMCRPIC; volatile struct mmcr *mmcr = MMCRDEFAULT; @@ -132,6 +133,12 @@ static void enable_dev(struct device *dev) { */ /* follow fuctory here */ mmcr->dmacontrol.extchanmapa = 0x3210; + + /* hack for IDIOTIC need to fix rom_start */ + printk_err("Patching rom_start due to sc520 limits\n"); + rom_start = 0x2000000 + 0x40000; + rom_end = rom_start + PAYLOAD_SIZE - 1; + } struct chip_operations mainboard_digitallogic_msm586seg_ops = { -- cgit v1.2.3