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, 0x00110000)
327 Name (_DEP, Package ()
332 Method (_STA, 0, NotSerialized)
341 Name (PCKG, Package () {
345 /* GPLD: Generate Port Location Data (PLD) */
346 Method (GPLD, 1, Serialized) {
347 /* REV: Revision 0x02 for ACPI 5.0 */
348 CreateField (DerefOf (Index (PCKG, Zero)), Zero, 0x07, REV)
351 /* VISI: Port visibility to user per port */
352 CreateField (DerefOf (Index (PCKG, Zero)), 0x40, One, VISI)
355 /* VOFF: Vertical offset is not supplied */
356 CreateField (DerefOf (Index (PCKG, Zero)), 0x80, 0x10, VOFF)
359 /* HOFF: Horizontal offset is not supplied */
360 CreateField (DerefOf (Index (PCKG, Zero)), 0x90, 0x10, HOFF)
366 Device (HS01) { Name (_ADR, 1) }
367 Device (SS01) { Name (_ADR, 2) }
373 Name (_ADR, 0x00170000)
375 Method (_STA, 0, NotSerialized)
383 Name (_ADR, 0x00040001)
385 Method (_STA, 0, NotSerialized)
392 Name (_HID, "BCM2E95")
393 Name (_DEP, Package ()
399 Method (_STA, 0, NotSerialized)
404 Name (RBUF, ResourceTemplate()
406 UartSerialBus(0x0001C200, DataBitsEight, StopBitsOne,
407 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
408 0x20, 0x20, "\\_SB.PCI0.HSU0", 0, ResourceConsumer, , )
409 GpioInt(Level, ActiveHigh, Exclusive, PullNone, 0,
410 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 185 }
411 GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly,
412 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 184 }
413 GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly,
414 "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 71 }
417 Method (_CRS, 0, Serialized)
422 Name (_DSD, Package () {
423 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
425 Package () { "host-wakeup-gpios", Package () { ^BTH0, 0, 0, 0 } },
426 Package () { "device-wakeup-gpios", Package () { ^BTH0, 1, 0, 0 } },
427 Package () { "shutdown-gpios", Package () { ^BTH0, 2, 0, 0 } },
435 Name (_ADR, 0x00130000)
437 Method (_STA, 0, NotSerialized)
444 Name (_HID, "INTC100E")
445 Name (_CID, "INTC100E")
446 Name (_DDN, "Basin Cove PMIC")
447 Name (_DEP, Package ()
452 Method (_STA, 0, NotSerialized)
457 Name (RBUF, ResourceTemplate()
460 * Shadow registers in SRAM for PMIC:
462 * --------------------
464 * 0x03 THRMIRQ (0x04)
467 * 0x06 CHGRIRQ0 (0x07)
468 * 0x07 CHGRIRQ1 (0x08)
470 * 0x0a PBSTATUS (0x27)
473 Memory32Fixed(ReadWrite, 0xFFFFF610, 0x00000010)
474 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 30 }
475 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 23 }
476 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 52 }
477 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 51 }
478 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 50 }
479 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 27 }
480 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 49 }
483 Method (_CRS, 0, Serialized)
488 OperationRegion (PMOP, 0x8D, Zero, 0x0100)
489 Field (PMOP, DWordAcc, NoLock, Preserve)
510 Method (_REG, 2, NotSerialized)
522 Name (_ADR, 0x00150000)
525 Method (_STA, 0, NotSerialized)
530 Name (RBUF, ResourceTemplate ()
532 Memory32Fixed(ReadWrite, 0xFF192000, 0x00001000)
533 Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 32 }
536 Method (_CRS, 0, Serialized)
545 Name (_HID, "INTC1002")
546 Name (_DDN, "Intel Merrifield Family-Level Interface Shim")
547 Name (RBUF, ResourceTemplate()
549 Memory32Fixed(ReadWrite, 0xFF0C0000, 0x00008000)
550 PinGroup("spi5", ResourceProducer, ) { 90, 91, 92, 93, 94, 95, 96 }
551 PinGroup("uart0", ResourceProducer, ) { 115, 116, 117, 118 }
552 PinGroup("uart1", ResourceProducer, ) { 119, 120, 121, 122 }
553 PinGroup("uart2", ResourceProducer, ) { 123, 124, 125, 126 }
554 PinGroup("pwm0", ResourceProducer, ) { 144 }
555 PinGroup("pwm1", ResourceProducer, ) { 145 }
556 PinGroup("pwm2", ResourceProducer, ) { 132 }
557 PinGroup("pwm3", ResourceProducer, ) { 133 }
560 Method (_CRS, 0, NotSerialized)
565 Method (_STA, 0, NotSerialized)