123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341 |
- /* SPDX-License-Identifier: GPL-2.0+ */
- /*
- * Copyright (c) 2017 Intel Corporation
- *
- * Partially based on southcluster.asl for other x86 platforms
- */
- Device (PCI0)
- {
- Name (_HID, EISAID("PNP0A08")) /* PCIe */
- Name (_CID, EISAID("PNP0A03")) /* PCI */
- Name (_ADR, 0)
- Name (_BBN, 0)
- Name (MCRS, ResourceTemplate()
- {
- /* Bus Numbers */
- WordBusNumber(ResourceProducer, MinFixed, MaxFixed, PosDecode,
- 0x0000, 0x0000, 0x00ff, 0x0000, 0x0100, , , PB00)
- /* IO Region 0 */
- WordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
- 0x0000, 0x0000, 0x0cf7, 0x0000, 0x0cf8, , , PI00)
- /* PCI Config Space */
- IO(Decode16, 0x0cf8, 0x0cf8, 0x0001, 0x0008)
- /* IO Region 1 */
- WordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
- 0x0000, 0x0d00, 0xffff, 0x0000, 0xf300, , , PI01)
- /* GPIO Low Memory Region */
- DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
- Cacheable, ReadWrite,
- 0x00000000, 0x000ddcc0, 0x000ddccf, 0x00000000,
- 0x00000010, , , GP00)
- /* PSH Memory Region 0 */
- DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
- Cacheable, ReadWrite,
- 0x00000000, 0x04819000, 0x04898fff, 0x00000000,
- 0x00080000, , , PSH0)
- /* PSH Memory Region 1 */
- DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
- Cacheable, ReadWrite,
- 0x00000000, 0x04919000, 0x04920fff, 0x00000000,
- 0x00008000, , , PSH1)
- /* SST Memory Region */
- DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
- Cacheable, ReadWrite,
- 0x00000000, 0x05e00000, 0x05ffffff, 0x00000000,
- 0x00200000, , , SST0)
- /* PCI Memory Region */
- DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
- Cacheable, ReadWrite,
- 0x00000000, 0x80000000, 0xffffffff, 0x00000000,
- 0x80000000, , , PMEM)
- })
- Method (_CRS, 0, Serialized)
- {
- Return (MCRS)
- }
- Method (_OSC, 4)
- {
- /* Check for proper GUID */
- If (LEqual(Arg0, ToUUID("33db4d5b-1ff7-401c-9657-7441c03dd766"))) {
- /* Let OS control everything */
- Return (Arg3)
- } Else {
- /* Unrecognized UUID */
- CreateDWordField(Arg3, 0, CDW1)
- Or(CDW1, 4, CDW1)
- Return (Arg3)
- }
- }
- Device (SDHC)
- {
- Name (_ADR, 0x00010003)
- Name (_DEP, Package (0x01)
- {
- GPIO
- })
- Name (PSTS, Zero)
- Method (_STA)
- {
- Return (STA_VISIBLE)
- }
- Method (_PS3, 0, NotSerialized)
- {
- }
- Method (_PS0, 0, NotSerialized)
- {
- If (PSTS == Zero)
- {
- If (^^GPIO.AVBL == One)
- {
- ^^GPIO.WFD3 = One
- PSTS = One
- }
- }
- }
- /* BCM43340 */
- Device (BRC1)
- {
- Name (_ADR, 0x01)
- Name (_DEP, Package (0x01)
- {
- GPIO
- })
- Method (_STA)
- {
- Return (STA_VISIBLE)
- }
- Method (_RMV, 0, NotSerialized)
- {
- Return (Zero)
- }
- Method (_PS3, 0, NotSerialized)
- {
- If (^^^GPIO.AVBL == One)
- {
- ^^^GPIO.WFD3 = Zero
- PSTS = Zero
- }
- }
- Method (_PS0, 0, NotSerialized)
- {
- If (PSTS == Zero)
- {
- If (^^^GPIO.AVBL == One)
- {
- ^^^GPIO.WFD3 = One
- PSTS = One
- }
- }
- }
- }
- Device (BRC2)
- {
- Name (_ADR, 0x02)
- Method (_STA, 0, NotSerialized)
- {
- Return (STA_VISIBLE)
- }
- Method (_RMV, 0, NotSerialized)
- {
- Return (Zero)
- }
- }
- }
- Device (SPI5)
- {
- Name (_ADR, 0x00070001)
- Name (RBUF, ResourceTemplate()
- {
- GpioIo(Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
- "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 110 }
- GpioIo(Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
- "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 111 }
- GpioIo(Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
- "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 112 }
- GpioIo(Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
- "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 113 }
- })
- Method (_CRS, 0, NotSerialized)
- {
- Return (RBUF)
- }
- /*
- * See
- * http://www.kernel.org/doc/Documentation/acpi/gpio-properties.txt
- * for more information about GPIO bindings.
- */
- Name (_DSD, Package () {
- ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package () {
- "cs-gpios", Package () {
- ^SPI5, 0, 0, 0,
- ^SPI5, 1, 0, 0,
- ^SPI5, 2, 0, 0,
- ^SPI5, 3, 0, 0,
- },
- },
- }
- })
- Method (_STA, 0, NotSerialized)
- {
- Return (STA_VISIBLE)
- }
- }
- Device (I2C1)
- {
- Name (_ADR, 0x00080000)
- Method (_STA, 0, NotSerialized)
- {
- Return (STA_VISIBLE)
- }
- }
- Device (GPIO)
- {
- Name (_ADR, 0x000c0000)
- Method (_STA)
- {
- Return (STA_VISIBLE)
- }
- Name (AVBL, Zero)
- Method (_REG, 2, NotSerialized)
- {
- If (Arg0 == 0x08)
- {
- AVBL = Arg1
- }
- }
- OperationRegion (GPOP, GeneralPurposeIo, 0, 1)
- Field (GPOP, ByteAcc, NoLock, Preserve)
- {
- Connection (
- GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly,
- "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 96 }
- ),
- WFD3, 1,
- }
- }
- Device (PWM0)
- {
- Name (_ADR, 0x00170000)
- Method (_STA, 0, NotSerialized)
- {
- Return (STA_VISIBLE)
- }
- }
- Device (HSU0)
- {
- Name (_ADR, 0x00040001)
- Method (_STA, 0, NotSerialized)
- {
- Return (STA_VISIBLE)
- }
- Device (BTH0)
- {
- Name (_HID, "BCM2E95")
- Name (_DEP, Package ()
- {
- GPIO,
- HSU0
- })
- Method (_STA, 0, NotSerialized)
- {
- Return (STA_VISIBLE)
- }
- Method (_CRS, 0, Serialized)
- {
- Name (RBUF, ResourceTemplate ()
- {
- UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
- 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
- 0x20, 0x20, "\\_SB.PCI0.HSU0", 0, ResourceConsumer, , )
- GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0,
- "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 185 }
- GpioIo (Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly,
- "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 184 }
- GpioIo (Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly,
- "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 71 }
- })
- Return (RBUF)
- }
- Name (_DSD, Package () {
- ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package () { "host-wakeup-gpios", Package () { ^BTH0, 0, 0, 0 } },
- Package () { "device-wakeup-gpios", Package () { ^BTH0, 1, 0, 0 } },
- Package () { "shutdown-gpios", Package () { ^BTH0, 2, 0, 0 } },
- }
- })
- }
- }
- }
- Device (FLIS)
- {
- Name (_HID, "INTC1002")
- Name (_DDN, "Intel Merrifield Family-Level Interface Shim")
- Name (RBUF, ResourceTemplate()
- {
- Memory32Fixed(ReadWrite, 0xFF0C0000, 0x00008000, )
- PinGroup("spi5", ResourceProducer, ) { 90, 91, 92, 93, 94, 95, 96 }
- PinGroup("uart0", ResourceProducer, ) { 115, 116, 117, 118 }
- PinGroup("uart1", ResourceProducer, ) { 119, 120, 121, 122 }
- PinGroup("uart2", ResourceProducer, ) { 123, 124, 125, 126 }
- PinGroup("pwm0", ResourceProducer, ) { 144 }
- PinGroup("pwm1", ResourceProducer, ) { 145 }
- PinGroup("pwm2", ResourceProducer, ) { 132 }
- PinGroup("pwm3", ResourceProducer, ) { 133 }
- })
- Method (_CRS, 0, NotSerialized)
- {
- Return (RBUF)
- }
- Method (_STA, 0, NotSerialized)
- {
- Return (STA_VISIBLE)
- }
- }
|