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