99 lines
2.5 KiB
Text
99 lines
2.5 KiB
Text
|
/*
|
||
|
* This file is part of the coreboot project.
|
||
|
*
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or modify
|
||
|
* it under the terms of the GNU General Public License as published by
|
||
|
* the Free Software Foundation; version 2 of the License.
|
||
|
*
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
*/
|
||
|
|
||
|
/* PCI IRQ mapping registers, C00h-C01h. */
|
||
|
OperationRegion(PRQM, SystemIO, 0x00000c00, 0x00000002)
|
||
|
Field(PRQM, ByteAcc, NoLock, Preserve) {
|
||
|
PRQI, 0x00000008,
|
||
|
PRQD, 0x00000008, /* Offset: 1h */
|
||
|
}
|
||
|
IndexField(PRQI, PRQD, ByteAcc, NoLock, Preserve) {
|
||
|
PIRA, 0x00000008, /* Index 0 */
|
||
|
PIRB, 0x00000008, /* Index 1 */
|
||
|
PIRC, 0x00000008, /* Index 2 */
|
||
|
PIRD, 0x00000008, /* Index 3 */
|
||
|
PIRE, 0x00000008, /* Index 4 */
|
||
|
PIRF, 0x00000008, /* Index 5 */
|
||
|
PIRG, 0x00000008, /* Index 6 */
|
||
|
PIRH, 0x00000008, /* Index 7 */
|
||
|
}
|
||
|
|
||
|
/* PCI Error control register */
|
||
|
OperationRegion(PERC, SystemIO, 0x00000c14, 0x00000001)
|
||
|
Field(PERC, ByteAcc, NoLock, Preserve) {
|
||
|
SENS, 0x00000001,
|
||
|
PENS, 0x00000001,
|
||
|
SENE, 0x00000001,
|
||
|
PENE, 0x00000001,
|
||
|
}
|
||
|
|
||
|
/* Client Management index/data registers */
|
||
|
OperationRegion(CMT, SystemIO, 0x00000c50, 0x00000002)
|
||
|
Field(CMT, ByteAcc, NoLock, Preserve) {
|
||
|
CMTI, 8,
|
||
|
/* Client Management Data register */
|
||
|
G64E, 1,
|
||
|
G64O, 1,
|
||
|
G32O, 2,
|
||
|
, 2,
|
||
|
GPSL, 2,
|
||
|
}
|
||
|
|
||
|
/* GPM Port register */
|
||
|
OperationRegion(GPT, SystemIO, 0x00000c52, 0x00000001)
|
||
|
Field(GPT, ByteAcc, NoLock, Preserve) {
|
||
|
GPB0,1,
|
||
|
GPB1,1,
|
||
|
GPB2,1,
|
||
|
GPB3,1,
|
||
|
GPB4,1,
|
||
|
GPB5,1,
|
||
|
GPB6,1,
|
||
|
GPB7,1,
|
||
|
}
|
||
|
|
||
|
/* Flash ROM program enable register */
|
||
|
OperationRegion(FRE, SystemIO, 0x00000c6F, 0x00000001)
|
||
|
Field(FRE, ByteAcc, NoLock, Preserve) {
|
||
|
, 0x00000006,
|
||
|
FLRE, 0x00000001,
|
||
|
}
|
||
|
|
||
|
/* PM2 index/data registers */
|
||
|
OperationRegion(PM2R, SystemIO, 0x00000Cd0, 0x00000002)
|
||
|
Field(PM2R, ByteAcc, NoLock, Preserve) {
|
||
|
PM2I, 0x00000008,
|
||
|
PM2D, 0x00000008,
|
||
|
}
|
||
|
|
||
|
/* Power Management I/O registers, TODO:PMIO is quite different in SB800. */
|
||
|
OperationRegion(PIOR, SystemIO, 0x00000Cd6, 0x00000002)
|
||
|
Field(PIOR, ByteAcc, NoLock, Preserve) {
|
||
|
PIOI, 0x00000008,
|
||
|
PIOD, 0x00000008,
|
||
|
}
|
||
|
|
||
|
IndexField (PIOI, PIOD, ByteAcc, NoLock, Preserve) {
|
||
|
Offset(0x60), /* AcpiPm1EvgBlk */
|
||
|
P1EB, 16,
|
||
|
Offset(0xee),
|
||
|
UPWS, 3,
|
||
|
}
|
||
|
OperationRegion (P1E0, SystemIO, P1EB, 0x04)
|
||
|
Field (P1E0, ByteAcc, Nolock, Preserve) {
|
||
|
Offset(0x02),
|
||
|
, 14,
|
||
|
PEWD, 1,
|
||
|
}
|