1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #include <southbridge/intel/i82371eb/i82371eb.h>
5 #define SUPERIO_PNP_BASE 0x3F0
6 #define SUPERIO_SHOW_UARTA
7 #define SUPERIO_SHOW_UARTB
8 #define SUPERIO_SHOW_FDC
9 #define SUPERIO_SHOW_LPT
11 #include <acpi/acpi.h>
22 #include <acpi/dsdt_top.asl>
23 /* \_SB scope defining the main processor is generated in SSDT. */
25 #include <arch/x86/acpi/post.asl>
28 * Intel 82371EB (PIIX4E) datasheet, section 7.2.3, page 142
30 * 0: soft off/suspend to disk S5
31 * 1: suspend to ram S3
32 * 2: powered on suspend, context lost S2
33 * Note: 'context lost' means the CPU restarts at the reset
35 * 3: powered on suspend, CPU context lost S1
36 * Note: Looks like 'CPU context lost' does _not_ mean the
37 * CPU restarts at the reset vector. Most likely only
38 * caches are lost, so both 0x3 and 0x4 map to ACPI S1
39 * 4: powered on suspend, context maintained S1
40 * 5: working (clock control) S0
44 Name (\_S0, Package () { 0x05, 0x05, 0x00, 0x00 })
45 Name (\_S1, Package () { 0x03, 0x03, 0x00, 0x00 })
46 Name (\_S5, Package () { 0x00, 0x00, 0x00, 0x00 })
48 OperationRegion (GPOB, SystemIO, DEFAULT_PMBASE+DEVCTL, 0x10)
49 Field (GPOB, ByteAcc, NoLock, Preserve)
52 TO12, 1, /* Device trap 12 */
54 FANM, 1, /* GPO0, meant for fan */
56 PLED, 1, /* GPO8, meant for power LED. Per PIIX4 datasheet */
57 , 3, /* this goes low when power is cut from its core. */
60 MSG0, 1 /* GPO30, message LED */
63 /* Prepare To Sleep, Arg0 is target S-state */
64 Method (\_PTS, 1, NotSerialized)
66 /* Disable fan, blink power LED, if not turning off */
73 /* Arms SMI for device 12 */
75 /* Put out a POST code */
79 Method (\_WAK, 1, NotSerialized)
81 /* Re-enable fan, stop power led blinking */
85 Return(Package(0x02){0x00, 0x00})
88 /* Root of the bus hierarchy */
91 #include <southbridge/intel/i82371eb/acpi/intx.asl>
93 PCI_INTX_DEV(LNKA, \_SB.PCI0.PX40.PIRA, 1)
94 PCI_INTX_DEV(LNKB, \_SB.PCI0.PX40.PIRB, 2)
95 PCI_INTX_DEV(LNKC, \_SB.PCI0.PX40.PIRC, 3)
96 PCI_INTX_DEV(LNKD, \_SB.PCI0.PX40.PIRD, 4)
101 Name (_HID, EisaId ("PNP0A03"))
105 /* PCI Routing Table */
106 Name (_PRT, Package () {
107 Package (0x04) { 0x0001FFFF, 0, LNKA, 0 },
108 Package (0x04) { 0x0001FFFF, 1, LNKB, 0 },
109 Package (0x04) { 0x0001FFFF, 2, LNKC, 0 },
110 Package (0x04) { 0x0001FFFF, 3, LNKD, 0 },
112 Package (0x04) { 0x0004FFFF, 0, LNKA, 0 },
113 Package (0x04) { 0x0004FFFF, 1, LNKB, 0 },
114 Package (0x04) { 0x0004FFFF, 2, LNKC, 0 },
115 Package (0x04) { 0x0004FFFF, 3, LNKD, 0 },
117 #if CONFIG(BOARD_ASUS_P2B_LS)
118 Package (0x04) { 0x0006FFFF, 0, LNKD, 0 },
119 Package (0x04) { 0x0006FFFF, 1, LNKA, 0 },
120 Package (0x04) { 0x0006FFFF, 2, LNKB, 0 },
121 Package (0x04) { 0x0006FFFF, 3, LNKC, 0 },
123 Package (0x04) { 0x0009FFFF, 0, LNKD, 0 },
124 Package (0x04) { 0x0009FFFF, 1, LNKA, 0 },
125 Package (0x04) { 0x0009FFFF, 2, LNKB, 0 },
126 Package (0x04) { 0x0009FFFF, 3, LNKC, 0 },
128 Package (0x04) { 0x000AFFFF, 0, LNKC, 0 },
129 Package (0x04) { 0x000AFFFF, 1, LNKD, 0 },
130 Package (0x04) { 0x000AFFFF, 2, LNKA, 0 },
131 Package (0x04) { 0x000AFFFF, 3, LNKB, 0 },
133 #if CONFIG(BOARD_ASUS_P2B_LS)
134 Package (0x04) { 0x0007FFFF, 0, LNKC, 0 },
135 Package (0x04) { 0x0007FFFF, 1, LNKD, 0 },
136 Package (0x04) { 0x0007FFFF, 2, LNKA, 0 },
137 Package (0x04) { 0x0007FFFF, 3, LNKB, 0 },
139 Package (0x04) { 0x000BFFFF, 0, LNKB, 0 },
140 Package (0x04) { 0x000BFFFF, 1, LNKC, 0 },
141 Package (0x04) { 0x000BFFFF, 2, LNKD, 0 },
142 Package (0x04) { 0x000BFFFF, 3, LNKA, 0 },
144 Package (0x04) { 0x000CFFFF, 0, LNKA, 0 },
145 Package (0x04) { 0x000CFFFF, 1, LNKB, 0 },
146 Package (0x04) { 0x000CFFFF, 2, LNKC, 0 },
147 Package (0x04) { 0x000CFFFF, 3, LNKD, 0 },
149 #if CONFIG(BOARD_ASUS_P3B_F)
150 Package (0x04) { 0x000DFFFF, 0, LNKD, 0 },
151 Package (0x04) { 0x000DFFFF, 1, LNKA, 0 },
152 Package (0x04) { 0x000DFFFF, 2, LNKB, 0 },
153 Package (0x04) { 0x000DFFFF, 3, LNKC, 0 },
155 Package (0x04) { 0x000EFFFF, 0, LNKC, 0 },
156 Package (0x04) { 0x000EFFFF, 1, LNKD, 0 },
157 Package (0x04) { 0x000EFFFF, 2, LNKA, 0 },
158 Package (0x04) { 0x000EFFFF, 3, LNKB, 0 },
161 #include <northbridge/intel/i440bx/acpi/sb_pci0_crs.asl>
162 #include <southbridge/intel/i82371eb/acpi/isabridge.asl>
164 #include <southbridge/intel/i82371eb/acpi/i82371eb.asl>
165 #include <superio/winbond/w83977tf/acpi/superio.asl>
172 Method (_MSG, 1, NotSerialized)