• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* SPDX-License-Identifier: GPL-2.0-only */
2
3#include <arch/ioapic.h>
4
5Device (USB0)
6{
7	Name (_ADR, 0x001D0000)
8	Name (_PRW, Package () { 0x03, 0x05 })
9
10	OperationRegion (USBS, PCI_Config, 0x00, 0x0100)
11	Field (USBS, ByteAcc, NoLock, Preserve)
12	{
13		Offset (0xC4),  URES,   8
14	}
15}
16
17Device (USB1)
18{
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	}
26}
27
28Device (USB2)
29{
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	}
37}
38
39Device (USB3)
40{
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	}
48}
49
50Device(PCI5)
51{
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	})
60}
61
62Device (ICH0)
63{
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	}
71
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,
79
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,
89
90		Offset (0xB8),
91		GPLV,	8
92	}
93
94	Name (MSBF, ResourceTemplate ()
95	{
96		/* IOAPIC 0  */
97		Memory32Fixed (ReadWrite, IO_APIC_ADDR, 0x00001000,)
98
99		IO (Decode16, 0x0, 0x0, 0x80, 0x0, PMIO)
100		IO (Decode16, 0x0, 0x0, 0x40, 0x0, GPIO)
101
102		/* 8254 legacy irq */
103		IO (Decode16, 0x04D0, 0x04D0, 0x02, 0x02,)
104
105		/* reset generator */
106		IO (Decode16, 0x0092, 0x0092, 0x01, 0x01, )
107	})
108
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)
114
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		}
125
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)
129
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	}
141
142	Device (FWH)
143	{
144		Name (_HID, EisaId ("PNP0C02"))
145		Name (_UID, 0x01)
146
147
148		Name (MSBG, ResourceTemplate () {
149			Memory32Fixed (ReadOnly, 0xFFF00000, 0x00080000,)
150			Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000,)
151	        })
152
153	        Method (_CRS, 0, NotSerialized)
154		{
155			Return (MSBG)
156		}
157	}
158
159	Device (SMSC)
160	{
161		Name (_HID, EisaId ("PNP0C02"))
162		Name (_UID, 0x02)
163		#include "acpi/superio.asl"
164	}
165
166}
167