Author: myles Date: Fri Sep 3 17:16:36 2010 New Revision: 5775 URL: https://tracker.coreboot.org/trac/coreboot/changeset/5775
Log: Update RoadRunner and SpaceRunner config to get in sync with current standard BIOSes RRLX0013 and SRLX0013. Specifically move SPI and PME I/Os to 0x1228 and 0x298 and switch SIO watchdog to ext. 48 MHz CLKIN.
Signed-off-by: Jens Rottmann JRottmann@LiPPERTEmbedded.de Acked-by: Myles Watson mylesgw@gmail.com
Modified: trunk/src/mainboard/lippert/roadrunner-lx/devicetree.cb trunk/src/mainboard/lippert/roadrunner-lx/romstage.c trunk/src/mainboard/lippert/spacerunner-lx/devicetree.cb trunk/src/mainboard/lippert/spacerunner-lx/romstage.c
Modified: trunk/src/mainboard/lippert/roadrunner-lx/devicetree.cb ============================================================================== --- trunk/src/mainboard/lippert/roadrunner-lx/devicetree.cb Fri Sep 3 16:54:50 2010 (r5774) +++ trunk/src/mainboard/lippert/roadrunner-lx/devicetree.cb Fri Sep 3 17:16:36 2010 (r5775) @@ -48,8 +48,8 @@ irq 0x70 = 7 end device pnp 2e.4 on # EC - io 0x60 = 0x290 - io 0x62 = 0x230 + io 0x60 = 0x290 # EC + io 0x62 = 0x298 # PME irq 0x70 = 9 end device pnp 2e.5 on # PS/2 keyboard @@ -61,8 +61,8 @@ irq 0x70 = 12 end device pnp 2e.7 on # GPIO - io 0x62 = 0x1220 - # io 0x64 = 0x1200 + io 0x62 = 0x1220 # Simple I/O + # io 0x64 = 0x1228 # SPI end device pnp 2e.8 off # MIDI io 0x60 = 0x300
Modified: trunk/src/mainboard/lippert/roadrunner-lx/romstage.c ============================================================================== --- trunk/src/mainboard/lippert/roadrunner-lx/romstage.c Fri Sep 3 16:54:50 2010 (r5774) +++ trunk/src/mainboard/lippert/roadrunner-lx/romstage.c Fri Sep 3 17:16:36 2010 (r5775) @@ -63,16 +63,15 @@
static const u16 sio_init_table[] = { // hi=data, lo=index 0x0707, // select LDN 7 (GPIO, SPI, watchdog, ...) - 0x1E2C, // disable ATXPowerGood - will cause a reboot! - 0x0423, // don't delay POWerOK1/2 - 0x9072, // watchdog triggers POWOK, counts seconds + 0x1E2C, // disable ATXPG; VIN6,FAN4/5,VIN3 enabled, VIN7 internal + 0x1423, // don't delay PoWeROK1/2 - triggers 2nd reset + 0x9072, // watchdog triggers PWROK, counts seconds #if !CONFIG_USE_WATCHDOG_ON_BOOT - 0x0073, 0x0074, // disable watchdog by setting timeout to 0 + 0x0073, 0x0074, // disarm watchdog by changing 56 s timeout to 0 #endif 0xBF25, 0x372A, 0xF326, // select GPIO function for most pins 0xBF27, 0xFF28, 0x2529, // (GP36=FAN_CTL3, GP13=PWROK1) - 0x1E2C, // VIN6=enabled?, FAN4/5 enabled, VIN7=internal, VIN3=enabled - 0x46B8, 0x0CB9, // enable pullups + 0x46B8, 0x0CB9, // enable pullups on RS485_EN 0x36C0, // enable Simple-I/O for GP15,14,12,11= LIVE_LED, WD_ACTIVE, RS485_EN2,1 0xFFC3, // enable Simple-I/O for GP47-40 (GPIOs on Supervisory Connector) 0x26C8, // config GP15,12,11 as output; GP14 as input
Modified: trunk/src/mainboard/lippert/spacerunner-lx/devicetree.cb ============================================================================== --- trunk/src/mainboard/lippert/spacerunner-lx/devicetree.cb Fri Sep 3 16:54:50 2010 (r5774) +++ trunk/src/mainboard/lippert/spacerunner-lx/devicetree.cb Fri Sep 3 17:16:36 2010 (r5775) @@ -49,8 +49,8 @@ irq 0x70 = 7 end device pnp 2e.4 on # EC - io 0x60 = 0x290 - io 0x62 = 0x230 + io 0x60 = 0x290 # EC + io 0x62 = 0x298 # PME irq 0x70 = 9 end device pnp 2e.5 on # PS/2 keyboard @@ -62,8 +62,8 @@ irq 0x70 = 12 end device pnp 2e.7 on # GPIO - io 0x62 = 0x1220 - io 0x64 = 0x1200 + io 0x62 = 0x1220 # Simple I/O + io 0x64 = 0x1228 # SPI end device pnp 2e.8 off # MIDI io 0x60 = 0x300
Modified: trunk/src/mainboard/lippert/spacerunner-lx/romstage.c ============================================================================== --- trunk/src/mainboard/lippert/spacerunner-lx/romstage.c Fri Sep 3 16:54:50 2010 (r5774) +++ trunk/src/mainboard/lippert/spacerunner-lx/romstage.c Fri Sep 3 17:16:36 2010 (r5775) @@ -129,16 +129,15 @@
static const u16 sio_init_table[] = { // hi=data, lo=index 0x0707, // select LDN 7 (GPIO, SPI, watchdog, ...) - 0x1E2C, // disable ATXPowerGood - 0x0423, // don't delay POWerOK1/2 - 0x9072, // watchdog triggers POWOK, counts seconds + 0x072C, // VIN6 enabled, FAN4/5 disabled, VIN7,VIN3 internal + 0x1423, // don't delay PoWeROK1/2 + 0x9072, // watchdog triggers PWROK, counts seconds #if !CONFIG_USE_WATCHDOG_ON_BOOT - 0x0073, 0x0074, // disable watchdog by setting timeout to 0 + 0x0073, 0x0074, // disarm watchdog by changing 56 s timeout to 0 #endif 0xBF25, 0x172A, 0xF326, // select GPIO function for most pins 0xFF27, 0xDF28, 0x2729, // (GP45=SUSB, GP23,22,16,15=SPI, GP13=PWROK1) - 0x072C, // VIN6=enabled?, FAN4/5 disabled, VIN7=internal, VIN3=internal - 0x66B8, 0x0CB9, // enable pullups + 0x66B8, 0x0CB9, // enable pullups on SPI, RS485_EN 0x07C0, // enable Simple-I/O for GP12-10= RS485_EN2,1, LIVE_LED 0x07C8, // config GP12-10 as output 0x2DF5, // map Hw Monitor Thermal Output to GP55
On 9/3/10 5:16 PM, repository service wrote:
Are these IO ports? If so, you might be seeing a double allocation because coreboot starts dynamic io resources at 0x1000 while static ones usually live below 0x1000.
Stefan
Hi,
Yes, I'm aware of that. Not only coreboot, our standard BIOS, too, starts assigning PCI I/O resources at 0x1000.
The problem is that the 1220 base addr for Simple I/O (GPIOs) had already been in use from the start, in our very first standard BIOSes, which Insyde had done for us. Later we bought the sources and I took over, but I couldn't change the GPIOs' addresses any more, it might have broken existing customers' applications. :-(
So I'm stuck with 1220 for GPIOs. Only moving SPI seemed safe, so I put it adjacent and marked 1220-122F as reserved with ACPI PnP. Luckily our standard BIOS always assigns the first PCI resource at 1000 and the next at 1400, so we never experienced any actual conflicts so far.
Thanks a lot for paying attention!!
Cheers, Jens
repository service wrote:
+++ trunk/src/mainboard/lippert/roadrunner-lx/devicetree.cb Fri Sep 3 17:16:36 2010 (r5775)
..
Why is SPI commented out for roadrunner? If not supported on the board then I think it should be removed.
//Peter