4 #if !defined(__PRE_RAM__)
5 #include <device/device.h>
7 void i82801cx_enable(device_t dev);
8 void i82801cx_hard_reset(void);
12 #define PCI_DMA_CFG 0x90
13 #define SERIRQ_CNTL 0x64
17 #define GEN_PMCON_3 0xa4
20 #define ACPI_CNTL 0x44
21 #define BIOS_CNTL 0x4E
22 #define GPIO_BASE 0x58
23 #define GPIO_CNTL 0x5C
24 #define PIRQA_ROUT 0x60
25 #define PIRQE_ROUT 0x68
31 #define RTC_BATTERY_DEAD (1<<2)
32 #define RTC_POWER_FAILED (1<<1)
33 #define SLEEP_AFTER_POWER_FAIL (1<<0)
35 /********************************************************************/
37 /********************************************************************/
39 // PCI Configuration Space (D31:F1)
40 #define IDE_TIM_PRI 0x40 // IDE timings, primary
41 #define IDE_TIM_SEC 0x42 // IDE timings, secondary
45 #define IDE_DECODE_ENABLE (1<<15)
47 /********************************************************************/
49 /********************************************************************/
51 // PCI Configuration Space (D31:F3)
57 #define SMB_SMI_EN (1<<1)
60 #define SMBUS_IO_BASE 0x1000
62 // I/O registers (relative to SMBUS_IO_BASE)
72 #define SMLINK_PIN_CTL 14
73 #define SMBUS_PIN_CTL 15
75 /* Between 1-10 seconds, We should never timeout normally
76 * Longer than this is just painful when a timeout condition occurs.
78 #define SMBUS_TIMEOUT (100*1000)
80 #endif /* I82801CX_H */