[SerialICE] New patch to review for serialice: bd99b25 EPIA-M850: Disable auto-reboot

Alexandru Gagniuc (mr.nuke.me@gmail.com) gerrit at coreboot.org
Thu May 23 21:39:48 CEST 2013


Alexandru Gagniuc (mr.nuke.me at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3278

-gerrit

commit bd99b257c099504857fe890b7832c0cbf10ee4da
Author: Alexandru Gagniuc <mr.nuke.me at gmail.com>
Date:   Thu May 23 13:39:43 2013 -0500

    EPIA-M850: Disable auto-reboot
    
    The VX900 chipset on this board has a watchdog-like mechanism. This reboots
    the board four seconds after it is powered on. It will not reboot it a
    second time, but is still annoying when debugging.
    
    Disable the timer that causes the reset. This prevents the board from
    resetting 4 sends after power on.
    
    Change-Id: Ib604634ef4b33ddd3f552676ef5df7c4d142ead0
    Signed-off-by: Alexandru Gagniuc <mr.nuke.me at gmail.com>
---
 SerialICE/mainboard/via_epia_m850.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/SerialICE/mainboard/via_epia_m850.c b/SerialICE/mainboard/via_epia_m850.c
index 6d041bd..fdf3990 100644
--- a/SerialICE/mainboard/via_epia_m850.c
+++ b/SerialICE/mainboard/via_epia_m850.c
@@ -17,10 +17,12 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-const char boardname[33]="VIA EPIA M-850                  ";
+const char boardname[33] = "VIA EPIA M-850                  ";
 
 #define SUPERIO_CONFIG_PORT		0x2e
 
+#define LPC(x)		PCI_ADDR(0, 0x11, 0, x)
+
 static inline void pnp_enter_conf_state(u16 port)
 {
 	outb(0x87, port);
@@ -32,8 +34,17 @@ static inline void pnp_exit_conf_state(u16 port)
 	outb(0xaa, port);
 }
 
+static inline void vx900_disable_auto_reboot(void)
+{
+	/* Disable the GP3 timer, which is the root of all evil */
+	pci_write_config8(LPC(0x98), 0);
+	/* Yep, that's all it takes */
+}
+
 static void superio_init(void)
 {
+	vx900_disable_auto_reboot();
+
 	pnp_enter_conf_state(SUPERIO_CONFIG_PORT);
 	pnp_set_logical_device(SUPERIO_CONFIG_PORT, 0);
 	pnp_set_enable(SUPERIO_CONFIG_PORT, 0);



More information about the SerialICE mailing list