summaryrefslogtreecommitdiff
path: root/src/mainboard/intel/jarrell/reset.c
blob: 2ecfa48b8f6dd0af2bdb16a188bf742ee5df0864 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <arch/io.h>
#include <arch/romcc_io.h>
#include <reset.h>

void soft_reset(void)
{
        outb(0x04, 0xcf9);
}

void hard_reset(void)
{
        outb(0x02, 0xcf9);
        outb(0x06, 0xcf9);
}

#ifndef __ROMCC__
/* Used only board-internally by power_reset_check.c and jarell_fixups.c */
void full_reset(void);
#endif

void full_reset(void)
{
	/* Enable power on after power fail... */
	unsigned byte;
	byte = pci_read_config8(PCI_DEV(0, 0x1f, 0), 0xa4);
	byte &= 0xfe;
	pci_write_config8(PCI_DEV(0, 0x1f, 0), 0xa4, byte);

        outb(0x0e, 0xcf9);
}