Alexandru Gagniuc (mr.nuke.me@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@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@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);