2005-07-08 04:49:49 +02:00
|
|
|
#include <arch/io.h>
|
2010-03-28 23:26:54 +02:00
|
|
|
#include <arch/romcc_io.h>
|
2010-04-25 16:37:18 +02:00
|
|
|
#include <reset.h>
|
2005-07-08 04:49:49 +02:00
|
|
|
|
|
|
|
void soft_reset(void)
|
|
|
|
{
|
|
|
|
outb(0x04, 0xcf9);
|
|
|
|
}
|
2010-03-28 23:26:54 +02:00
|
|
|
|
2005-07-08 04:49:49 +02:00
|
|
|
void hard_reset(void)
|
|
|
|
{
|
|
|
|
outb(0x02, 0xcf9);
|
|
|
|
outb(0x06, 0xcf9);
|
|
|
|
}
|
2010-03-28 23:26:54 +02:00
|
|
|
|
2010-04-25 16:37:18 +02:00
|
|
|
#ifndef __ROMCC__
|
|
|
|
/* Used only board-internally by power_reset_check.c and jarell_fixups.c */
|
|
|
|
void full_reset(void);
|
|
|
|
#endif
|
|
|
|
|
2005-07-08 04:49:49 +02:00
|
|
|
void full_reset(void)
|
|
|
|
{
|
|
|
|
/* Enable power on after power fail... */
|
2010-03-28 23:26:54 +02:00
|
|
|
unsigned byte;
|
|
|
|
byte = pci_read_config8(PCI_DEV(0, 0x1f, 0), 0xa4);
|
|
|
|
byte &= 0xfe;
|
|
|
|
pci_write_config8(PCI_DEV(0, 0x1f, 0), 0xa4, byte);
|
2010-04-25 16:37:18 +02:00
|
|
|
|
2005-07-08 04:49:49 +02:00
|
|
|
outb(0x0e, 0xcf9);
|
|
|
|
}
|
|
|
|
|