1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Copyright (c) 2017 Intel Corporation
5 * Partially based on southcluster.asl for other x86 platforms
10 Name (_HID, EISAID("PNP0A08")) /* PCIe */
11 Name (_CID, EISAID("PNP0A03")) /* PCI */
16 Name (MCRS, ResourceTemplate()
19 WordBusNumber(ResourceProducer, MinFixed, MaxFixed, PosDecode,
20 0x0000, 0x0000, 0x00ff, 0x0000, 0x0100, , , PB00)
23 WordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
24 0x0000, 0x0000, 0x0cf7, 0x0000, 0x0cf8, , , PI00)
26 /* PCI Config Space */
27 IO(Decode16, 0x0cf8, 0x0cf8, 0x0001, 0x0008)
30 WordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
31 0x0000, 0x0d00, 0xffff, 0x0000, 0xf300, , , PI01)
33 /* GPIO Low Memory Region */
34 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
36 0x00000000, 0x000ddcc0, 0x000ddccf, 0x00000000,
39 /* PSH Memory Region 0 */
40 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
42 0x00000000, 0x04819000, 0x04898fff, 0x00000000,
45 /* PSH Memory Region 1 */
46 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
48 0x00000000, 0x04919000, 0x04920fff, 0x00000000,
51 /* SST Memory Region */
52 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
54 0x00000000, 0x05e00000, 0x05ffffff, 0x00000000,
57 /* PCI Memory Region */
58 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
60 0x00000000, 0x80000000, 0xffffffff, 0x00000000,
64 Method (_CRS, 0, Serialized)
69 /* Device Resource Consumption */
72 Name (_HID, EISAID("PNP0C02"))
75 Name (PDRS, ResourceTemplate()
77 Memory32Fixed(ReadWrite, MCFG_BASE_ADDRESS, MCFG_BASE_SIZE)
80 Method (_CRS, 0, Serialized)
88 /* Check for proper GUID */
89 If (LEqual(Arg0, ToUUID("33db4d5b-1ff7-401c-9657-7441c03dd766"))) {
90 /* Let OS control everything */
93 /* Unrecognized UUID */
94 CreateDWordField(Arg3, 0, CDW1)
102 Name (_ADR, 0x00010003)
103 Name (_DEP, Package (0x01)
114 Method (_PS3, 0, NotSerialized)
118 Method (_PS0, 0, NotSerialized)
122 If (^^GPIO.AVBL == One)
134 Name (_DEP, Package (0x01)
144 Method (_RMV, 0, NotSerialized)
149 Method (_PS3, 0, NotSerialized)
151 If (^^^GPIO.AVBL == One)
158 Method (_PS0, 0, NotSerialized)
162 If (^^^GPIO.AVBL == One)
174 Method (_STA, 0, NotSerialized)
179 Method (_RMV, 0, NotSerialized)
188 Name (_ADR, 0x00070001)
189 Name (RBUF, ResourceTemplate()
191 GpioIo(Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
192 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 110 }
193 GpioIo(Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
194 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 111 }
195 GpioIo(Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
196 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 112 }
197 GpioIo(Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
198 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 113 }
200 FixedDMA(0x000d, 0x0002, Width32bit, )
201 FixedDMA(0x000c, 0x0003, Width32bit, )
204 Method (_CRS, 0, NotSerialized)
211 * http://www.kernel.org/doc/Documentation/acpi/gpio-properties.txt
212 * for more information about GPIO bindings.
214 Name (_DSD, Package () {
215 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
218 "cs-gpios", Package () {
228 Method (_STA, 0, NotSerialized)
236 Name (_ADR, 0x00080000)
238 Method (_STA, 0, NotSerialized)
243 Name (RBUF, ResourceTemplate()
245 FixedDMA(0x0009, 0x0000, Width32bit, )
246 FixedDMA(0x0008, 0x0001, Width32bit, )
249 Method (_CRS, 0, NotSerialized)
257 Name (_ADR, 0x00090001)
259 Method (_STA, 0, NotSerialized)
267 Name (_ADR, 0x000c0000)
275 Method (_REG, 2, NotSerialized)
283 OperationRegion (GPOP, GeneralPurposeIo, 0, 1)
284 Field (GPOP, ByteAcc, NoLock, Preserve)
287 GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly,
288 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 96 }
296 Name (_ADR, 0x00170000)
298 Method (_STA, 0, NotSerialized)
306 Name (_ADR, 0x00040001)
308 Method (_STA, 0, NotSerialized)
315 Name (_HID, "BCM2E95")
316 Name (_DEP, Package ()
322 Method (_STA, 0, NotSerialized)
327 Method (_CRS, 0, Serialized)
329 Name (RBUF, ResourceTemplate()
331 UartSerialBus(0x0001C200, DataBitsEight, StopBitsOne,
332 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
333 0x20, 0x20, "\\_SB.PCI0.HSU0", 0, ResourceConsumer, , )
334 GpioInt(Level, ActiveHigh, Exclusive, PullNone, 0,
335 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 185 }
336 GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly,
337 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 184 }
338 GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly,
339 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 71 }
344 Name (_DSD, Package () {
345 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
347 Package () { "host-wakeup-gpios", Package () { ^BTH0, 0, 0, 0 } },
348 Package () { "device-wakeup-gpios", Package () { ^BTH0, 1, 0, 0 } },
349 Package () { "shutdown-gpios", Package () { ^BTH0, 2, 0, 0 } },
357 Name (_ADR, 0x00130000)
359 Method (_STA, 0, NotSerialized)
367 Name (_HID, "INTC100E")
368 Name (_CID, "INTC100E")
369 Name (_DDN, "Basin Cove PMIC")
370 Name (_DEP, Package ()
375 Method (_STA, 0, NotSerialized)
380 Method (_CRS, 0, Serialized)
382 Name (RBUF, ResourceTemplate()
385 * Shadow registers in SRAM for PMIC:
387 * --------------------
389 * 0x03 THRMIRQ (0x04)
392 * 0x06 CHGRIRQ0 (0x07)
393 * 0x07 CHGRIRQ1 (0x08)
395 * 0x0a PBSTATUS (0x27)
398 Memory32Fixed(ReadWrite, 0xFFFFF610, 0x00000010)
399 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 30 }
400 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 23 }
401 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 52 }
402 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 51 }
403 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 50 }
404 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 27 }
405 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 49 }
410 OperationRegion (PMOP, 0x8D, Zero, 0x0100)
411 Field (PMOP, DWordAcc, NoLock, Preserve)
432 Method (_REG, 2, NotSerialized)
444 Name (_ADR, 0x00150000)
445 Name (_HID, "808611A2")
448 Method (_STA, 0, NotSerialized)
453 Method (_CRS, 0, Serialized)
455 Name (RBUF, ResourceTemplate ()
457 Memory32Fixed(ReadWrite, 0xFF192000, 0x00001000)
458 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 32 }
467 Name (_HID, "INTC1002")
468 Name (_DDN, "Intel Merrifield Family-Level Interface Shim")
469 Name (RBUF, ResourceTemplate()
471 Memory32Fixed(ReadWrite, 0xFF0C0000, 0x00008000)
472 PinGroup("spi5", ResourceProducer, ) { 90, 91, 92, 93, 94, 95, 96 }
473 PinGroup("uart0", ResourceProducer, ) { 115, 116, 117, 118 }
474 PinGroup("uart1", ResourceProducer, ) { 119, 120, 121, 122 }
475 PinGroup("uart2", ResourceProducer, ) { 123, 124, 125, 126 }
476 PinGroup("pwm0", ResourceProducer, ) { 144 }
477 PinGroup("pwm1", ResourceProducer, ) { 145 }
478 PinGroup("pwm2", ResourceProducer, ) { 132 }
479 PinGroup("pwm3", ResourceProducer, ) { 133 }
482 Method (_CRS, 0, NotSerialized)
487 Method (_STA, 0, NotSerialized)