From 890ee09a3224f1cfc832f7c8f03e6c2f076aeb20 Mon Sep 17 00:00:00 2001 From: "Ronald G. Minnich" Date: Thu, 8 Jun 2006 14:19:49 +0000 Subject: further development of OLPC. Set vsm size to 35k. add PCI IRQ for USB. Set linuxbios size to 28k. Drop debug level to 8. git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2315 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/cpu/amd/model_gx2/vsmsetup.c | 2 +- src/mainboard/olpc/rev_a/mainboard.c | 33 ++++++++++++++++++++++++++++++++- targets/olpc/rev_a/Config.lb | 10 +++++----- 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/src/cpu/amd/model_gx2/vsmsetup.c b/src/cpu/amd/model_gx2/vsmsetup.c index 4b35ad570f..cd734f6fdb 100644 --- a/src/cpu/amd/model_gx2/vsmsetup.c +++ b/src/cpu/amd/model_gx2/vsmsetup.c @@ -353,7 +353,7 @@ void do_vsmbios(void) //rom = 0xfff80000; //rom = 0xfffc0000; /* the VSA starts at the base of rom - 64 */ - rom = ((unsigned long) 0) - (ROM_SIZE + 64*1024); + rom = ((unsigned long) 0) - (ROM_SIZE + 35*1024); buf = (unsigned char *) 0x60000; unrv2b((uint8_t *)rom, buf); diff --git a/src/mainboard/olpc/rev_a/mainboard.c b/src/mainboard/olpc/rev_a/mainboard.c index 0d5170d871..b4e7eba93f 100644 --- a/src/mainboard/olpc/rev_a/mainboard.c +++ b/src/mainboard/olpc/rev_a/mainboard.c @@ -6,7 +6,38 @@ #include #include "chip.h" + + +static void init(struct device *dev) { + unsigned bus = 0; + unsigned devfn = PCI_DEVFN(0xf, 4); + device_t usb = NULL; + unsigned char usbirq = 0xa; + + printk_debug("OLPC REVA ENTER %s\n", __FUNCTION__); + + /* I can't think of any reason NOT to just set this. If it turns out we want this to be + * conditional we can make it a config variable later. + */ + + printk_debug("%s (%x,%x)SET USB PCI interrupt line to %d\n", + __FUNCTION__, bus, devfn, usbirq); + usb = dev_find_slot(bus, devfn); + if (! usb){ + printk_err("Could not find USB\n"); + } else { + pci_write_config8(usb, PCI_INTERRUPT_LINE, usbirq); + } + printk_debug("OLPC REVA EXIT %s\n", __FUNCTION__); +} + +static void enable_dev(struct device *dev) +{ + dev->ops->init = init; +} + struct chip_operations mainboard_olpc_rev_a_ops = { CHIP_NAME("olpc rev_a mainboard ") -}; + .enable_dev = enable_dev, +}; diff --git a/targets/olpc/rev_a/Config.lb b/targets/olpc/rev_a/Config.lb index aaa8aeb6b4..541e9bf1eb 100644 --- a/targets/olpc/rev_a/Config.lb +++ b/targets/olpc/rev_a/Config.lb @@ -4,15 +4,15 @@ target rev_a mainboard olpc/rev_a # leave 64k for vsa -option CONFIG_COMPRESSED_ROM_STREAM=1 -option ROM_SIZE=1024*512-64*1024 +#option CONFIG_COMPRESSED_ROM_STREAM=1 +option ROM_SIZE=1024*512-35*1024 option FALLBACK_SIZE=ROM_SIZE -option DEFAULT_CONSOLE_LOGLEVEL = 11 -option MAXIMUM_CONSOLE_LOGLEVEL = 11 +option DEFAULT_CONSOLE_LOGLEVEL = 8 +option MAXIMUM_CONSOLE_LOGLEVEL = 8 romimage "fallback" option USE_FALLBACK_IMAGE=1 - option ROM_IMAGE_SIZE=0x8000 + option ROM_IMAGE_SIZE=28*1024 option LINUXBIOS_EXTRA_VERSION=".0Fallback" payload /tmp/olpcpayload.elf end -- cgit v1.2.3