2 * This file is part of the coreboot project.
4 * Copyright (C) 2000 AG Electronics Ltd.
5 * Copyright (C) 2003-2004 Linux Networx
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 #ifndef SUPERIO_NSC_PC87427_PC87427_H
23 #define SUPERIO_NSC_PC87427_PC87427_H
25 #define PC87427_FDC 0x00 /* Floppy */
26 #define PC87427_SP2 0x02 /* Com2 */
27 #define PC87427_SP1 0x03 /* Com1 */
28 #define PC87427_SWC 0x04
29 #define PC87427_KBCM 0x05 /* Mouse */
30 #define PC87427_KBCK 0x06 /* Keyboard */
31 #define PC87427_GPIO 0x07
32 #define PC87427_FMC 0x09
33 #define PC87427_WDT 0x0A
34 #define PC87427_XBUS 0x0F
35 #define PC87427_RTC 0x10
36 #define PC87427_MHC 0x14
38 #define PC87427_GPIO_DEV PNP_DEV(0x2e, PC87427_GPIO)
39 /* This is to get around a romcc bug */
40 /* #define PC87427_XBUS_DEV PNP_DEV(0x2e, PC87427_XBUS) */
41 #define PC87427_XBUS_DEV PNP_DEV(0x2e, 0x0f)
43 #define PC87427_GPSEL 0xf0
44 #define PC87427_GPCFG1 0xf1
45 #define PC87427_GPEVR 0xf2
46 #define PC87427_GPCFG2 0xf3
47 #define PC87427_EXTCFG 0xf4
48 #define PC87427_IOEXT1A 0xf5
49 #define PC87427_IOEXT1B 0xf6
50 #define PC87427_IOEXT2A 0xf7
51 #define PC87427_IOEXT2B 0xf8
53 #define PC87427_GPDO_0 0x00
54 #define PC87427_GPDI_0 0x01
55 #define PC87427_GPDO_1 0x02
56 #define PC87427_GPDI_1 0x03
57 #define PC87427_GPEVEN_1 0x04
58 #define PC87427_GPEVST_1 0x05
59 #define PC87427_GPDO_2 0x06
60 #define PC87427_GPDI_2 0x07
61 #define PC87427_GPDO_3 0x08
62 #define PC87427_GPDI_3 0x09
63 #define PC87427_GPDO_4 0x0a
64 #define PC87427_GPDI_4 0x0b
65 #define PC87427_GPEVEN_4 0x0c
66 #define PC87427_GPEVST_4 0x0d
67 #define PC87427_GPDO_5 0x0e
68 #define PC87427_GPDI_5 0x0f
69 #define PC87427_GPDO_6 0x10
70 #define PC87427_GPDO_7A 0x11
71 #define PC87427_GPDO_7B 0x12
72 #define PC87427_GPDO_7C 0x13
73 #define PC87427_GPDO_7D 0x14
74 #define PC87427_GPDI_7A 0x15
75 #define PC87427_GPDI_7B 0x16
76 #define PC87427_GPDI_7C 0x17
77 #define PC87427_GPDI_7D 0x18
79 #define PC87427_XIOCNF 0xf0
80 #define PC87427_XIOBA1H 0xf1
81 #define PC87427_XIOBA1L 0xf2
82 #define PC87427_XIOSIZE1 0xf3
83 #define PC87427_XIOBA2H 0xf4
84 #define PC87427_XIOBA2L 0xf5
85 #define PC87427_XIOSIZE2 0xf6
86 #define PC87427_XMEMCNF1 0xf7
87 #define PC87427_XMEMCNF2 0xf8
88 #define PC87427_XMEMBAH 0xf9
89 #define PC87427_XMEMBAL 0xfa
90 #define PC87427_XMEMSIZE 0xfb
91 #define PC87427_XIRQMAP1 0xfc
92 #define PC87427_XIRQMAP2 0xfd
93 #define PC87427_XBIMM 0xfe
94 #define PC87427_XBBSL 0xff
96 #define PC87427_XBCNF 0x00
97 #define PC87427_XZCNF0 0x01
98 #define PC87427_XZCNF1 0x02
99 #define PC87427_XIRQC0 0x04
100 #define PC87427_XIRQC1 0x05
101 #define PC87427_XIRQC2 0x06
102 #define PC87427_XIMA0 0x08
103 #define PC87427_XIMA1 0x09
104 #define PC87427_XIMA2 0x0a
105 #define PC87427_XIMA3 0x0b
106 #define PC87427_XIMD 0x0c
107 #define PC87427_XZCNF2 0x0d
108 #define PC87427_XZCNF3 0x0e
109 #define PC87427_XZM0 0x0f
110 #define PC87427_XZM1 0x10
111 #define PC87427_XZM2 0x11
112 #define PC87427_XZM3 0x12
113 #define PC87427_HAP0 0x13
114 #define PC87427_HAP1 0x14
115 #define PC87427_XSCNF 0x15
116 #define PC87427_XWBCNF 0x16