| /* SPDX-License-Identifier: GPL-2.0-only */ |
| |
| Device (LPEA) |
| { |
| Name (_HID, "808622A8") |
| Name (_CID, "808622A8") |
| Name (_UID, 1) |
| Name (_DDN, "Intel(R) Low Power Audio Controller - 808622A8") |
| Name (_PR0, Package () { PLPE }) |
| |
| Name (RBUF, ResourceTemplate() |
| { |
| Memory32Fixed (ReadWrite, 0, 0x00200000, BAR0) |
| Memory32Fixed (ReadWrite, 0, 0x00001000, BAR1) |
| Memory32Fixed (ReadWrite, 0, 0x00200000, BAR2) |
| Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) |
| { |
| LPE_DMA0_IRQ |
| } |
| Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) |
| { |
| LPE_DMA1_IRQ |
| } |
| Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) |
| { |
| LPE_SSP0_IRQ |
| } |
| Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) |
| { |
| LPE_SSP1_IRQ |
| } |
| Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) |
| { |
| LPE_SSP2_IRQ |
| } |
| Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) |
| { |
| LPE_IPC2HOST_IRQ |
| } |
| }) |
| |
| Method (_CRS) |
| { |
| /* Update BAR0 from NVS */ |
| CreateDwordField (^RBUF, ^BAR0._BAS, BAS0) |
| BAS0 = \LPB0 |
| |
| /* Update BAR1 from NVS */ |
| CreateDwordField (^RBUF, ^BAR1._BAS, BAS1) |
| BAS1 = \LPB1 |
| |
| /* Update LPE FW from NVS */ |
| CreateDwordField (^RBUF, ^BAR2._BAS, BAS2) |
| BAS2 = \LPFW |
| |
| /* Append any Mainboard defined GPIOs */ |
| If (CondRefOf (^GBUF)) { |
| ConcatenateResTemplate (^RBUF, ^GBUF, Local1) |
| Return (Local1) |
| } |
| |
| Return (^RBUF) |
| } |
| |
| Method (_STA) |
| { |
| If (\LPEN == 1) { |
| Return (0xF) |
| } Else { |
| Return (0x0) |
| } |
| } |
| |
| OperationRegion (KEYS, SystemMemory, LPB1, 0x100) |
| Field (KEYS, DWordAcc, NoLock, WriteAsZeros) |
| { |
| Offset (0x84), |
| PSAT, 32, |
| } |
| |
| PowerResource (PLPE, 0, 0) |
| { |
| Method (_STA) |
| { |
| Return (1) |
| } |
| |
| Method (_OFF) |
| { |
| PSAT |= 3 |
| PSAT |= 0 |
| } |
| |
| Method (_ON) |
| { |
| PSAT &= 0xfffffffc |
| PSAT |= 0 |
| } |
| } |
| } |