Angel Pons has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/46969 )
Change subject: sb/intel/lynxpoint: Use Broadwell SerialIO implementation ......................................................................
sb/intel/lynxpoint: Use Broadwell SerialIO implementation
Add power state control methods for more devices using helper methods.
Change-Id: I96a3b896346f6f1e5aa4a1dc45638cbcff01b7dd Signed-off-by: Angel Pons th3fanbus@gmail.com --- M src/southbridge/intel/lynxpoint/acpi/serialio.asl 1 file changed, 96 insertions(+), 34 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/69/46969/1
diff --git a/src/southbridge/intel/lynxpoint/acpi/serialio.asl b/src/southbridge/intel/lynxpoint/acpi/serialio.asl index 845949c..0e246f7 100644 --- a/src/southbridge/intel/lynxpoint/acpi/serialio.asl +++ b/src/southbridge/intel/lynxpoint/acpi/serialio.asl @@ -16,6 +16,28 @@ External (\S6EN) External (\S7EN)
+// Put SerialIO device in D0 state +// Arg0 - Ref to offset 0x84 of device's PCI config space +Method (LPD0, 1, Serialized) +{ + DeRefOf (Arg0) &= 0xFFFFFFFC + Local0 = DeRefOf (Arg0) // Read back after writing + + // Use Local0 to avoid iasl warning: Method Local is set but never used + Local0 &= Ones +} + +// Put SerialIO device in D3 state +// Arg0 - Ref to offset 0x84 of device's PCI config space +Method (LPD3, 1, Serialized) +{ + DeRefOf (Arg0) |= 0x3 + Local0 = DeRefOf (Arg0) // Read back after writing + + // Use Local0 to avoid iasl warning: Method Local is set but never used + Local0 &= Ones +} + // Serial IO Resource Consumption for BAR1 Device (SIOR) { @@ -193,32 +215,20 @@ } }
- // Access to PCI Config in ACPI mode - OperationRegion (KEYS, SystemMemory, \S1B1, 0x100) - Field (KEYS, DWordAcc, NoLock, Preserve) + OperationRegion (SPRT, SystemMemory, \S1B1 + 0x84, 4) + Field (SPRT, DWordAcc, NoLock, Preserve) { - Offset (0x84), - PSAT, 32, + SPCS, 32 }
- // Put controller in D0 state Method (_PS0, 0, Serialized) { - ^PSAT &= 0xfffffffc - Local0 = ^PSAT // Read back after writing - - // Use Local0 to avoid iasl warning: Method Local is set but never used - Local0 &= Ones + ^^LPD0 (RefOf (SPCS)) }
- // Put controller in D3Hot state Method (_PS3, 0, Serialized) { - ^PSAT |= 0x00000003 - Local0 = ^PSAT // Read back after writing - - // Use Local0 to avoid iasl warning: Method Local is set but never used - Local0 &= Ones + ^^LPD3 (RefOf (SPCS)) } }
@@ -273,32 +283,20 @@ } }
- // Access to PCI Config in ACPI mode - OperationRegion (KEYS, SystemMemory, \S2B1, 0x100) - Field (KEYS, DWordAcc, NoLock, Preserve) + OperationRegion (SPRT, SystemMemory, \S2B1 + 0x84, 4) + Field (SPRT, DWordAcc, NoLock, Preserve) { - Offset (0x84), - PSAT, 32, + SPCS, 32 }
- // Put controller in D0 state Method (_PS0, 0, Serialized) { - ^PSAT &= 0xfffffffc - Local0 = ^PSAT // Read back after writing - - // Use Local0 to avoid iasl warning: Method Local is set but never used - Local0 &= Ones + ^^LPD0 (RefOf (SPCS)) }
- // Put controller in D3Hot state Method (_PS3, 0, Serialized) { - ^PSAT |= 0x00000003 - Local0 = ^PSAT // Read back after writing - - // Use Local0 to avoid iasl warning: Method Local is set but never used - Local0 &= Ones + ^^LPD3 (RefOf (SPCS)) } }
@@ -337,6 +335,22 @@ Return (0xF) } } + + OperationRegion (SPRT, SystemMemory, \S3B1 + 0x84, 4) + Field (SPRT, DWordAcc, NoLock, Preserve) + { + SPCS, 32 + } + + Method (_PS0, 0, Serialized) + { + ^^LPD0 (RefOf (SPCS)) + } + + Method (_PS3, 0, Serialized) + { + ^^LPD3 (RefOf (SPCS)) + } }
Device (SPI1) @@ -386,6 +400,22 @@ Return (0xF) } } + + OperationRegion (SPRT, SystemMemory, \S4B1 + 0x84, 4) + Field (SPRT, DWordAcc, NoLock, Preserve) + { + SPCS, 32 + } + + Method (_PS0, 0, Serialized) + { + ^^LPD0 (RefOf (SPCS)) + } + + Method (_PS3, 0, Serialized) + { + ^^LPD3 (RefOf (SPCS)) + } }
Device (UAR0) @@ -435,6 +465,22 @@ Return (0xF) } } + + OperationRegion (SPRT, SystemMemory, \S5B1 + 0x84, 4) + Field (SPRT, DWordAcc, NoLock, Preserve) + { + SPCS, 32 + } + + Method (_PS0, 0, Serialized) + { + ^^LPD0 (RefOf (SPCS)) + } + + Method (_PS3, 0, Serialized) + { + ^^LPD3 (RefOf (SPCS)) + } }
Device (UAR1) @@ -472,6 +518,22 @@ Return (0xF) } } + + OperationRegion (SPRT, SystemMemory, \S6B1 + 0x84, 4) + Field (SPRT, DWordAcc, NoLock, Preserve) + { + SPCS, 32 + } + + Method (_PS0, 0, Serialized) + { + ^^LPD0 (RefOf (SPCS)) + } + + Method (_PS3, 0, Serialized) + { + ^^LPD3 (RefOf (SPCS)) + } }
Device (SDIO)
Hello build bot (Jenkins), Patrick Rudolph,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/46969
to look at the new patch set (#5).
Change subject: sb/intel/lynxpoint: Use Broadwell SerialIO implementation ......................................................................
sb/intel/lynxpoint: Use Broadwell SerialIO implementation
Add power state control methods for more devices using helper methods.
Change-Id: I96a3b896346f6f1e5aa4a1dc45638cbcff01b7dd Signed-off-by: Angel Pons th3fanbus@gmail.com --- M src/southbridge/intel/lynxpoint/acpi/serialio.asl 1 file changed, 96 insertions(+), 34 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/69/46969/5
Stefan Reinauer has abandoned this change. ( https://review.coreboot.org/c/coreboot/+/46969?usp=email )
Change subject: sb/intel/lynxpoint: Use Broadwell SerialIO implementation ......................................................................
Abandoned
Angel Pons has restored this change. ( https://review.coreboot.org/c/coreboot/+/46969?usp=email )
Change subject: sb/intel/lynxpoint: Use Broadwell SerialIO implementation ......................................................................
Restored
Attention is currently required from: Angel Pons.
Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/46969?usp=email )
Change subject: sb/intel/lynxpoint: Use Broadwell SerialIO implementation ......................................................................
Patch Set 7: Code-Review-1
(1 comment)
Patchset:
PS7: on google/slippy/var/wolf, this breaks the SIO controllers under windows. They fail to init with a code 10 error, and reason: "An invalid SuperName was specified"
Attention is currently required from: Angel Pons.
Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/46969?usp=email )
Change subject: sb/intel/lynxpoint: Use Broadwell SerialIO implementation ......................................................................
Patch Set 7:
(1 comment)
Patchset:
PS7:
on google/slippy/var/wolf, this breaks the SIO controllers under windows. […]
Also breaks Linux as well, with a host of ACPI errors in dmesg, and non-functional touchpad
Attention is currently required from: Angel Pons.
Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/46969?usp=email )
Change subject: sb/intel/lynxpoint: Use Broadwell SerialIO implementation ......................................................................
Patch Set 7:
(5 comments)
File src/southbridge/intel/lynxpoint/acpi/serialio.asl:
https://review.coreboot.org/c/coreboot/+/46969/comment/b5fc0964_743e1c75 : PS7, Line 23: DeRefOf (Arg0) &= 0xFFFFFFFC : Local0 = DeRefOf (Arg0) // Read back after writing one or both of these derefs is the issue: ACPI Error: needed type reference, found integer
https://review.coreboot.org/c/coreboot/+/46969/comment/273c2732_81b03c53 : PS7, Line 226: ^^LPD0 (RefOf (SPCS)) same deref error here
https://review.coreboot.org/c/coreboot/+/46969/comment/3c17f8c4_87bda2eb : PS7, Line 231: ^^LPD3 (RefOf (SPCS)) and here
https://review.coreboot.org/c/coreboot/+/46969/comment/1f080144_ff43f04d : PS7, Line 294: ^^LPD0 (RefOf (SPCS)) deref error
https://review.coreboot.org/c/coreboot/+/46969/comment/1d2c9f78_57f804c6 : PS7, Line 299: ^^LPD3 (RefOf (SPCS)) here too