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)
37 // PCI Configuration Space (D31:F1)
38 #define IDE_TIM_PRI 0x40 // IDE timings, primary
39 #define IDE_TIM_SEC 0x42 // IDE timings, secondary
43 #define IDE_DECODE_ENABLE (1<<15)
47 // PCI Configuration Space (D31:F3)
53 #define SMB_SMI_EN (1<<1)
56 #define SMBUS_IO_BASE 0x1000
58 // I/O registers (relative to SMBUS_IO_BASE)
68 #define SMLINK_PIN_CTL 14
69 #define SMBUS_PIN_CTL 15
71 /* Between 1-10 seconds, We should never timeout normally
72 * Longer than this is just painful when a timeout condition occurs.
74 #define SMBUS_TIMEOUT (100*1000)
76 #endif /* I82801CX_H */