[coreboot] [commit] r6122 - trunk/src/mainboard/asus/m2v

repository service svn at coreboot.org
Wed Nov 24 21:03:14 CET 2010


Author: ranma
Date: Wed Nov 24 21:03:09 2010
New Revision: 6122
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6122

Log:
S3 support for ASUS M2V

This adds the board-specific parts for S3 support on the M2V board.

Signed-off-by: Tobias Diedrich <ranma+coreboot at tdiedrich.de>
Acked-by: Stefan Reinauer <stepan at coreboot.org>

Modified:
   trunk/src/mainboard/asus/m2v/Kconfig
   trunk/src/mainboard/asus/m2v/dsdt.asl
   trunk/src/mainboard/asus/m2v/romstage.c

Modified: trunk/src/mainboard/asus/m2v/Kconfig
==============================================================================
--- trunk/src/mainboard/asus/m2v/Kconfig	Wed Nov 24 20:57:08 2010	(r6121)
+++ trunk/src/mainboard/asus/m2v/Kconfig	Wed Nov 24 21:03:09 2010	(r6122)
@@ -17,6 +17,7 @@
 	select BOARD_ROMSIZE_KB_512
 	select RAMINIT_SYSINFO
 	select TINY_BOOTBLOCK
+	select HAVE_ACPI_RESUME
 	select HAVE_PIRQ_TABLE
 	select PIRQ_ROUTE
 	select HAVE_ACPI_TABLES

Modified: trunk/src/mainboard/asus/m2v/dsdt.asl
==============================================================================
--- trunk/src/mainboard/asus/m2v/dsdt.asl	Wed Nov 24 20:57:08 2010	(r6121)
+++ trunk/src/mainboard/asus/m2v/dsdt.asl	Wed Nov 24 21:03:09 2010	(r6122)
@@ -59,10 +59,10 @@
 
 	/* _PR CPU0 is dynamically supplied by SSDT */
 
-	/* For now only define 2 power states:
+	/* We define 3 power states:
 	 *  - S0 which is fully on
+	 *  - S3 which is suspend to ram
 	 *  - S5 which is soft off
-	 * Any others would involve declaring the wake up methods.
 	 *
 	 * Package contents:
 	 * ofs len desc
@@ -73,6 +73,7 @@
 	 * 2   2   Reserved
 	 */
 	Name (\_S0, Package () { 0x00, 0x00, 0x00, 0x00 })
+	Name (\_S3, Package () { 0x01, 0x01, 0x00, 0x00 })
 	Name (\_S5, Package () { 0x02, 0x02, 0x00, 0x00 })
 
 	/* Root of the bus hierarchy */
@@ -341,6 +342,7 @@
 
 			Device (SBRG) { /* southbridge */
 				Name (_ADR, 0x00110000)
+				OperationRegion (PCIC, PCI_Config, 0x0, 0x100)
 
 				/* PS/2 keyboard (seems to be important for WinXP install) */
 				Device (KBD)
@@ -459,9 +461,9 @@
 			}
 		}
 
-		OperationRegion (PCI0.SBRG.SBR1, PCI_Config, 0x55, 0x03)
-		Field (PCI0.SBRG.SBR1, ByteAcc, NoLock, Preserve)
+		Field (PCI0.SBRG.PCIC, ByteAcc, NoLock, Preserve)
 		{
+			Offset (0x55),
 			/*
 			 * Offset 0x55:
 			 *    3-0: reserved
@@ -538,4 +540,25 @@
 PCI_INTX_DEV(INTC, PINC, 3)
 PCI_INTX_DEV(INTD, PIND, 4)
 	}
+
+	Field (_SB.PCI0.SBRG.PCIC, ByteAcc, NoLock, Preserve)
+	{
+		Offset (0x94),
+		/* two LSB bits are blink rate */
+		LEDR,   2,
+	}
+
+	Method (_PTS, 1, NotSerialized)
+	{
+		/* blink power led while suspended */
+		Store (0x1, LEDR)
+	}
+
+	Method (_WAK, 1, NotSerialized)
+	{
+		/* stop power led blinking */
+		Store (0x0, LEDR)
+		/* wake OK */
+		Return(Package(0x02){0x00, 0x00})
+	}
 }

Modified: trunk/src/mainboard/asus/m2v/romstage.c
==============================================================================
--- trunk/src/mainboard/asus/m2v/romstage.c	Wed Nov 24 20:57:08 2010	(r6121)
+++ trunk/src/mainboard/asus/m2v/romstage.c	Wed Nov 24 21:03:09 2010	(r6122)
@@ -73,6 +73,15 @@
 #include "cpu/amd/dualcore/dualcore.c"
 #include "cpu/amd/car/post_cache_as_ram.c"
 #include "cpu/amd/model_fxx/init_cpus.c"
+
+// Now, this needs to be included because it relies on the symbol
+// __PRE_RAM__ being set during CAR stage (in order to compile the
+// BSS free versions of the functions). Either rewrite the code
+// to be always BSS free, or invent a flag that's better suited than
+// __PRE_RAM__ to determine whether we're in ram init stage (stage 1)
+//
+#include "lib/cbmem.c"
+
 #include "cpu/amd/model_fxx/fidvid.c"
 #include "northbridge/amd/amdk8/resourcemap.c"
 
@@ -242,6 +251,7 @@
 	enable_rom_decode();
 	m2v_bus_init();
 	m2v_it8712f_gpio_init();
+	it8712f_enable_3vsbsw();
 
 	printk(BIOS_INFO, "now booting... \n");
 




More information about the coreboot mailing list