mb/ocp/tiogapass: Fix GPIOs
[coreboot2.git] / src / mainboard / aopen / dxplplusu / acpi / i82801db.asl
blob2d223c515a25f27bb7757248aaab73ddeacedcf5
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #include <arch/ioapic.h>
5 Device (USB0)
7         Name (_ADR, 0x001D0000)
8         Name (_PRW, Package () { 0x03, 0x05 })
10         OperationRegion (USBS, PCI_Config, 0x00, 0x0100)
11         Field (USBS, ByteAcc, NoLock, Preserve)
12         {
13                 Offset (0xC4),  URES,   8
14         }
17 Device (USB1)
19         Name (_ADR, 0x001D0001)
20         Name (_PRW, Package () { 0x04, 0x05 })
21         OperationRegion (USBS, PCI_Config, 0x00, 0x0100)
22         Field (USBS, ByteAcc, NoLock, Preserve)
23         {
24                 Offset (0xC4),  URES,   8
25         }
28 Device (USB2)
30         Name (_ADR, 0x001D0002)
31         Name (_PRW, Package () { 0x0C, 0x05 })
32         OperationRegion (USBS, PCI_Config, 0x00, 0x0100)
33         Field (USBS, ByteAcc, NoLock, Preserve)
34         {
35                 Offset (0xC4),  URES,   8
36         }
39 Device (USB3)
41         Name (_ADR, 0x001D0007)
42         Name (_PRW, Package () { 0x0D, 0x05 })  /* PME_B0_STS any 0:1d or 0:1f device */
43         OperationRegion (USBS, PCI_Config, 0x00, 0x0100)
44         Field (USBS, ByteAcc, NoLock, Preserve)
45         {
46                 Offset (0xC4),  URES,   8
47         }
50 Device(PCI5)
52         Name (_ADR, 0x001E0000)
53         Name (_PRW, Package () { 0x0B, 0x05 })    /* PME# _STS */
54         Name (_PRT, Package() {
55                 Package() { 0x0003ffff, 0, 0, 20 },
56                 Package() { 0x0003ffff, 1, 0, 21 },
57                 Package() { 0x0003ffff, 2, 0, 22 },
58                 Package() { 0x0003ffff, 3, 0, 23 },
59         })
62 Device (ICH0)
64         Name (_ADR, 0x001F0000)
65         OperationRegion (D310, PCI_Config, 0x00, 0xFF)
66         Field (D310, ByteAcc, NoLock, Preserve)
67         {
68                 Offset (0x40),   PBAR,   16,
69                 Offset (0x58),   GBAR,   16,
70         }
72         OperationRegion (ACPI, SystemIO, 0x0400, 0xC0)
73         Field (ACPI, ByteAcc, NoLock, Preserve)
74         {
75                 PS1L,   8,
76                 PS1H,   8,
77                 PE1L,   8,
78                 PE1H,   8,
80                 Offset (0x28),
81                 GS0L,   8,
82                 GS0H,   8,
83                 GSPL,   8,
84                 GSPH,   8,
85                 GE0L,   8,
86                 GE0H,   8,
87                 GEPL,   8,
88                 GEPH,   8,
90                 Offset (0xB8),
91                 GPLV,   8
92         }
94         Name (MSBF, ResourceTemplate ()
95         {
96                 /* IOAPIC 0  */
97                 Memory32Fixed (ReadWrite, IO_APIC_ADDR, 0x00001000,)
99                 IO (Decode16, 0x0, 0x0, 0x80, 0x0, PMIO)
100                 IO (Decode16, 0x0, 0x0, 0x40, 0x0, GPIO)
102                 /* 8254 legacy irq */
103                 IO (Decode16, 0x04D0, 0x04D0, 0x02, 0x02,)
105                 /* reset generator */
106                 IO (Decode16, 0x0092, 0x0092, 0x01, 0x01, )
107         })
109         Method (_CRS, 0, NotSerialized)
110         {
111                 CreateWordField (MSBF, \_SB_.PCI0.ICH0.PMIO._MIN, IOA1)
112                 CreateWordField (MSBF, \_SB_.PCI0.ICH0.PMIO._MAX, IOA2)
113                 CreateByteField (MSBF, \_SB_.PCI0.ICH0.PMIO._LEN, IOAL)
115                 Local0 = PBAR
116                 If (Local0 && 1)
117                 {
118                         Local0 &= 0xFFFE
119                         IOA1 = Local0
120                         IOA2 = Local0
121                         IOAL = 0x80
122                 } Else {
123                         IOAL = 0x00
124                 }
126                 CreateWordField (MSBF, \_SB_.PCI0.ICH0.GPIO._MIN, IOS1)
127                 CreateWordField (MSBF, \_SB_.PCI0.ICH0.GPIO._MAX, IOS2)
128                 CreateByteField (MSBF, \_SB_.PCI0.ICH0.GPIO._LEN, IOSL)
130                 Local0 = GBAR
131                 If (Local0 && 1) {
132                         Local0 &= 0xFFFE
133                         IOS1 = Local0
134                         IOS2 = Local0
135                         IOSL = 0x40
136                 } Else {
137                         IOSL = 0x00
138                 }
139                 Return (MSBF)
140         }
142         Device (FWH)
143         {
144                 Name (_HID, EisaId ("PNP0C02"))
145                 Name (_UID, 0x01)
148                 Name (MSBG, ResourceTemplate () {
149                         Memory32Fixed (ReadOnly, 0xFFF00000, 0x00080000,)
150                         Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000,)
151                 })
153                 Method (_CRS, 0, NotSerialized)
154                 {
155                         Return (MSBG)
156                 }
157         }
159         Device (SMSC)
160         {
161                 Name (_HID, EisaId ("PNP0C02"))
162                 Name (_UID, 0x02)
163                 #include "acpi/superio.asl"
164         }