summaryrefslogtreecommitdiff
path: root/src/mainboard/digitallogic
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/digitallogic')
-rw-r--r--src/mainboard/digitallogic/msm586seg/Config.lb3
-rw-r--r--src/mainboard/digitallogic/msm586seg/irq_tables.c9
-rw-r--r--src/mainboard/digitallogic/msm586seg/mainboard.c7
3 files changed, 12 insertions, 7 deletions
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
@@ -135,6 +135,9 @@ chip cpu/amd/sc520
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"
end
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 = {