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 (SSCN, Package ()
245 0x02F8, 0x037B, Zero,
248 Name (FMCN, Package ()
250 0x0087, 0x010A, Zero,
253 Name (HSCN, Package ()
255 0x0008, 0x0020, Zero,
258 Name (RBUF, ResourceTemplate()
260 FixedDMA(0x0009, 0x0000, Width32bit, )
261 FixedDMA(0x0008, 0x0001, Width32bit, )
264 Method (_CRS, 0, NotSerialized)
272 Name (_ADR, 0x00090001)
274 Method (_STA, 0, NotSerialized)
279 Name (SSCN, Package ()
281 0x02F8, 0x037B, Zero,
284 Name (FMCN, Package ()
286 0x0087, 0x010A, Zero,
289 Name (HSCN, Package ()
291 0x0008, 0x0020, Zero,
297 Name (_ADR, 0x000c0000)
305 Method (_REG, 2, NotSerialized)
313 OperationRegion (GPOP, GeneralPurposeIo, 0, 1)
314 Field (GPOP, ByteAcc, NoLock, Preserve)
317 GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly,
318 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 96 }
326 Name (_ADR, 0x00170000)
328 Method (_STA, 0, NotSerialized)
336 Name (_ADR, 0x00040001)
338 Method (_STA, 0, NotSerialized)
345 Name (_HID, "BCM2E95")
346 Name (_DEP, Package ()
352 Method (_STA, 0, NotSerialized)
357 Method (_CRS, 0, Serialized)
359 Name (RBUF, ResourceTemplate()
361 UartSerialBus(0x0001C200, DataBitsEight, StopBitsOne,
362 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
363 0x20, 0x20, "\\_SB.PCI0.HSU0", 0, ResourceConsumer, , )
364 GpioInt(Level, ActiveHigh, Exclusive, PullNone, 0,
365 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 185 }
366 GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly,
367 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 184 }
368 GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly,
369 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 71 }
374 Name (_DSD, Package () {
375 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
377 Package () { "host-wakeup-gpios", Package () { ^BTH0, 0, 0, 0 } },
378 Package () { "device-wakeup-gpios", Package () { ^BTH0, 1, 0, 0 } },
379 Package () { "shutdown-gpios", Package () { ^BTH0, 2, 0, 0 } },
387 Name (_ADR, 0x00130000)
389 Method (_STA, 0, NotSerialized)
397 Name (_HID, "INTC100E")
398 Name (_CID, "INTC100E")
399 Name (_DDN, "Basin Cove PMIC")
400 Name (_DEP, Package ()
405 Method (_STA, 0, NotSerialized)
410 Method (_CRS, 0, Serialized)
412 Name (RBUF, ResourceTemplate()
415 * Shadow registers in SRAM for PMIC:
417 * --------------------
419 * 0x03 THRMIRQ (0x04)
422 * 0x06 CHGRIRQ0 (0x07)
423 * 0x07 CHGRIRQ1 (0x08)
425 * 0x0a PBSTATUS (0x27)
428 Memory32Fixed(ReadWrite, 0xFFFFF610, 0x00000010)
429 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 30 }
430 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 23 }
431 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 52 }
432 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 51 }
433 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 50 }
434 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 27 }
435 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 49 }
440 OperationRegion (PMOP, 0x8D, Zero, 0x0100)
441 Field (PMOP, DWordAcc, NoLock, Preserve)
462 Method (_REG, 2, NotSerialized)
474 Name (_ADR, 0x00150000)
475 Name (_HID, "808611A2")
478 Method (_STA, 0, NotSerialized)
483 Method (_CRS, 0, Serialized)
485 Name (RBUF, ResourceTemplate ()
487 Memory32Fixed(ReadWrite, 0xFF192000, 0x00001000)
488 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 32 }
497 Name (_HID, "INTC1002")
498 Name (_DDN, "Intel Merrifield Family-Level Interface Shim")
499 Name (RBUF, ResourceTemplate()
501 Memory32Fixed(ReadWrite, 0xFF0C0000, 0x00008000)
502 PinGroup("spi5", ResourceProducer, ) { 90, 91, 92, 93, 94, 95, 96 }
503 PinGroup("uart0", ResourceProducer, ) { 115, 116, 117, 118 }
504 PinGroup("uart1", ResourceProducer, ) { 119, 120, 121, 122 }
505 PinGroup("uart2", ResourceProducer, ) { 123, 124, 125, 126 }
506 PinGroup("pwm0", ResourceProducer, ) { 144 }
507 PinGroup("pwm1", ResourceProducer, ) { 145 }
508 PinGroup("pwm2", ResourceProducer, ) { 132 }
509 PinGroup("pwm3", ResourceProducer, ) { 133 }
512 Method (_CRS, 0, NotSerialized)
517 Method (_STA, 0, NotSerialized)