HAOUAS Elyes has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/30468
Change subject: mb/packardbell/ms2290/acpi: Update _OSI strings and OSYS values
......................................................................
mb/packardbell/ms2290/acpi: Update _OSI strings and OSYS values
Change-Id: I3f5ee4d68c96e8ee0d964c62edebfcfa37fd1c45
Signed-off-by: Elyes HAOUAS <ehaouas(a)noos.fr>
---
M src/mainboard/packardbell/ms2290/acpi/platform.asl
1 file changed, 67 insertions(+), 17 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/68/30468/1
diff --git a/src/mainboard/packardbell/ms2290/acpi/platform.asl b/src/mainboard/packardbell/ms2290/acpi/platform.asl
index 9812d14..e3f95ed 100644
--- a/src/mainboard/packardbell/ms2290/acpi/platform.asl
+++ b/src/mainboard/packardbell/ms2290/acpi/platform.asl
@@ -90,51 +90,101 @@
* 2001 | Windows XP(+SP1)
* 2002 | Windows XP SP2
* 2006 | Windows Vista
- * ???? | Windows 7
+ * 2009 | Windows 7
+ * 2012 | Windows 8
+ * 2013 | Windows 8.1
+ * 2015 | Windows 10
+ * 2016 | Windows 10, version 1607
+ * 2017 | Windows 10, version 1703
+ * 2017.2 | Windows 10, version 1709
+ * 2018 | Windows 10, version 1803
+ * 2018.2 | Windows 10, version 1809
*/
/* Let's assume we're running at least Windows 2000 */
Store (2000, OSYS)
If (CondRefOf(_OSI)) {
+ /* Linux answers _OSI with "True" for a couple of
+ * Windows version queries. But unlike Windows it
+ * needs a Video repost, so let's determine whether
+ * we're running Linux.
+ */
+
+ If (_OSI("Linux")) {
+ Store (1, LINX)
+ }
+
+ If (_OSI("Windows 2000")) {
+ Store (0x07D0, OSYS)
+ }
+
If (_OSI("Windows 2001")) {
- Store (2001, OSYS)
+ Store (0x07D1, OSYS)
}
If (_OSI("Windows 2001 SP1")) {
- Store (2001, OSYS)
- }
-
- If (_OSI("Windows 2001 SP2")) {
- Store (2002, OSYS)
+ Store (0x07D1, OSYS)
}
If (_OSI("Windows 2001.1")) {
- Store (2001, OSYS)
+ Store (0x07D1, OSYS)
+ }
+
+ If (_OSI("Windows 2001 SP2")) {
+ Store (0x07D1, OSYS)
}
If (_OSI("Windows 2001.1 SP1")) {
- Store (2001, OSYS)
+ Store (0x07D1, OSYS)
}
If (_OSI("Windows 2006")) {
- Store (2006, OSYS)
- }
-
- If (_OSI("Windows 2006.1")) {
- Store (2006, OSYS)
+ Store (0x07D6, OSYS)
}
If (_OSI("Windows 2006 SP1")) {
- Store (2006, OSYS)
+ Store (0x07D6, OSYS)
+ }
+
+ If (_OSI("Windows 2006.1")) {
+ Store (0x07D6, OSYS)
}
If (_OSI("Windows 2009")) {
- Store (2009, OSYS)
+ Store (0x07D9, OSYS)
}
If (_OSI("Windows 2012")) {
- Store (2012, OSYS)
+ Store (0x07DC, OSYS)
+ }
+
+ If (_OSI("Windows 2013")) {
+ Store (0x07DD, OSYS)
+ }
+
+ If (_OSI("Windows 2015")) {
+ Store (0x07DF, OSYS)
+ }
+
+ If (_OSI("Windows 2016")) {
+ Store (0x07E0, OSYS)
+ }
+
+ If (_OSI("Windows 2017")) {
+ Store (0x07E1, OSYS)
+ }
+
+ If (_OSI("Windows 2017.2")) {
+ Store (0x07E1, OSYS)
+ }
+
+ If (_OSI("Windows 2018")) {
+ Store (0x07E2, OSYS)
+ }
+
+ If (_OSI("Windows 2018.2")) {
+ Store (0x07E2, OSYS)
}
}
}
--
To view, visit https://review.coreboot.org/c/coreboot/+/30468
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I3f5ee4d68c96e8ee0d964c62edebfcfa37fd1c45
Gerrit-Change-Number: 30468
Gerrit-PatchSet: 1
Gerrit-Owner: HAOUAS Elyes <ehaouas(a)noos.fr>
Gerrit-MessageType: newchange
HAOUAS Elyes has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/30469
Change subject: mb/lenovo/x201/acpi: Update _OSI strings and OSYS values
......................................................................
mb/lenovo/x201/acpi: Update _OSI strings and OSYS values
Change-Id: I503bd92f2a1fa56e3f97c8090431abe92a51fd0e
Signed-off-by: Elyes HAOUAS <ehaouas(a)noos.fr>
---
M src/mainboard/lenovo/x201/acpi/platform.asl
1 file changed, 68 insertions(+), 17 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/69/30469/1
diff --git a/src/mainboard/lenovo/x201/acpi/platform.asl b/src/mainboard/lenovo/x201/acpi/platform.asl
index 7d7013b..1f55624 100644
--- a/src/mainboard/lenovo/x201/acpi/platform.asl
+++ b/src/mainboard/lenovo/x201/acpi/platform.asl
@@ -111,52 +111,103 @@
* 2001 | Windows XP(+SP1)
* 2002 | Windows XP SP2
* 2006 | Windows Vista
- * ???? | Windows 7
+ * 2009 | Windows 7
+ * 2012 | Windows 8
+ * 2013 | Windows 8.1
+ * 2015 | Windows 10
+ * 2016 | Windows 10, version 1607
+ * 2017 | Windows 10, version 1703
+ * 2017.2 | Windows 10, version 1709
+ * 2018 | Windows 10, version 1803
+ * 2018.2 | Windows 10, version 1809
*/
/* Let's assume we're running at least Windows 2000 */
Store (2000, OSYS)
If (CondRefOf(_OSI)) {
+ /* Linux answers _OSI with "True" for a couple of
+ * Windows version queries. But unlike Windows it
+ * needs a Video repost, so let's determine whether
+ * we're running Linux.
+ */
+
+ If (_OSI("Linux")) {
+ Store (1, LINX)
+ }
+
+ If (_OSI("Windows 2000")) {
+ Store (0x07D0, OSYS)
+ }
+
If (_OSI("Windows 2001")) {
- Store (2001, OSYS)
+ Store (0x07D1, OSYS)
}
If (_OSI("Windows 2001 SP1")) {
- Store (2001, OSYS)
- }
-
- If (_OSI("Windows 2001 SP2")) {
- Store (2002, OSYS)
+ Store (0x07D1, OSYS)
}
If (_OSI("Windows 2001.1")) {
- Store (2001, OSYS)
+ Store (0x07D1, OSYS)
+ }
+
+ If (_OSI("Windows 2001 SP2")) {
+ Store (0x07D1, OSYS)
}
If (_OSI("Windows 2001.1 SP1")) {
- Store (2001, OSYS)
+ Store (0x07D1, OSYS)
}
If (_OSI("Windows 2006")) {
- Store (2006, OSYS)
- }
-
- If (_OSI("Windows 2006.1")) {
- Store (2006, OSYS)
+ Store (0x07D6, OSYS)
}
If (_OSI("Windows 2006 SP1")) {
- Store (2006, OSYS)
+ Store (0x07D6, OSYS)
+ }
+
+ If (_OSI("Windows 2006.1")) {
+ Store (0x07D6, OSYS)
}
If (_OSI("Windows 2009")) {
- Store (2009, OSYS)
+ Store (0x07D9, OSYS)
}
If (_OSI("Windows 2012")) {
- Store (2012, OSYS)
+ Store (0x07DC, OSYS)
}
+
+ If (_OSI("Windows 2013")) {
+ Store (0x07DD, OSYS)
+ }
+
+ If (_OSI("Windows 2015")) {
+ Store (0x07DF, OSYS)
+ }
+
+ If (_OSI("Windows 2016")) {
+ Store (0x07E0, OSYS)
+ }
+
+ If (_OSI("Windows 2017")) {
+ Store (0x07E1, OSYS)
+ }
+
+ If (_OSI("Windows 2017.2")) {
+ Store (0x07E1, OSYS)
+ }
+
+ If (_OSI("Windows 2018")) {
+ Store (0x07E2, OSYS)
+ }
+
+ If (_OSI("Windows 2018.2")) {
+ Store (0x07E2, OSYS)
+ }
+
}
}
}
--
To view, visit https://review.coreboot.org/c/coreboot/+/30469
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I503bd92f2a1fa56e3f97c8090431abe92a51fd0e
Gerrit-Change-Number: 30469
Gerrit-PatchSet: 1
Gerrit-Owner: HAOUAS Elyes <ehaouas(a)noos.fr>
Gerrit-Reviewer: Alexander Couzens <lynxis(a)fe80.eu>
Gerrit-Reviewer: HAOUAS Elyes <ehaouas(a)noos.fr>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-MessageType: newchange
Lijian Zhao has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/30445
Change subject: soc/intel/cannonlake: Add option for boot frquency
......................................................................
soc/intel/cannonlake: Add option for boot frquency
Cannonlake/Coffeelake FSP have options for CPU boot up frequency
selection, expose that in coreboot side.
Signed-off-by: Lijian Zhao <lijian.zhao(a)intel.com>
Change-Id: I6bd5849122c9035bb7f448acf08e258e8c207013
---
M src/soc/intel/cannonlake/chip.h
M src/soc/intel/cannonlake/romstage/fsp_params.c
2 files changed, 7 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/45/30445/1
diff --git a/src/soc/intel/cannonlake/chip.h b/src/soc/intel/cannonlake/chip.h
index 3a723d2..7e50a73 100644
--- a/src/soc/intel/cannonlake/chip.h
+++ b/src/soc/intel/cannonlake/chip.h
@@ -110,6 +110,11 @@
SaGv_Enabled,
} SaGv;
+ /* Boot Frequency from reset vector.
+ * 0: Maximum battery performance, 1: Maximum non-turbo performance, 2:
+ * Maximum turbo performance @note If 2 is selected, system will start
+ * with non-turbo mode and then switch to turbo. */
+ uint8_t bootfreq;
/* Rank Margin Tool. 1:Enable, 0:Disable */
uint8_t RMT;
diff --git a/src/soc/intel/cannonlake/romstage/fsp_params.c b/src/soc/intel/cannonlake/romstage/fsp_params.c
index c3a2509..0514844 100644
--- a/src/soc/intel/cannonlake/romstage/fsp_params.c
+++ b/src/soc/intel/cannonlake/romstage/fsp_params.c
@@ -54,6 +54,8 @@
#if IS_ENABLED(CONFIG_SOC_INTEL_COFFEELAKE)
m_cfg->SkipMpInit = !chip_get_fsp_mp_init();
#endif
+ m_cfg->BootFrequency = config->bootfreq;
+
/* If ISH is enabled, enable ISH elements */
if (!dev)
m_cfg->PchIshEnable = 0;
--
To view, visit https://review.coreboot.org/c/coreboot/+/30445
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I6bd5849122c9035bb7f448acf08e258e8c207013
Gerrit-Change-Number: 30445
Gerrit-PatchSet: 1
Gerrit-Owner: Lijian Zhao <lijian.zhao(a)intel.com>
Gerrit-MessageType: newchange
Gaggery Tsai has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/30486
Change subject: src/soc/intel/common/block/pcie: Add a workaround for ThP2 9260
......................................................................
src/soc/intel/common/block/pcie: Add a workaround for ThP2 9260
This patch adds a workaround for ThP2. The PCIe root port LCTL2.TLS
is by default GEN1 and ThP has bad synchronization on polarity
inversion. When the root port request for speed change, ThP doesn’t
confirm the request, and both sides are moving to polling after
timeout, hot reset is issued, and then most of the CFG space is
initialized. From the observation, CCC/ECPM/LTR would be reset to
default but CCC/ECPM of root port and end devices have been
reconfigured in pci_scan. The LTR configuration for root port
is still missing.
BUG=B:117618636
BRANCH=None
TEST=Add THP2_9260_WORKAROUND in Atlas configuration & emerge-atlas
coreboot chromeos-bootimage & Warm/cold reset for 10 times and
didn't see unsupported request related AER error messages &
$lspci -vvs 00:1c.0|grep LTR and ensure LTR+ is present.
Change-Id: Id5d2814488fbc9db927edb2ead972b73ebc336ce
Signed-off-by: Gaggery Tsai <gaggery.tsai(a)intel.com>
---
M src/soc/intel/common/block/pcie/Kconfig
M src/soc/intel/common/block/pcie/pcie.c
2 files changed, 29 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/86/30486/1
diff --git a/src/soc/intel/common/block/pcie/Kconfig b/src/soc/intel/common/block/pcie/Kconfig
index aa32324..36915fa 100644
--- a/src/soc/intel/common/block/pcie/Kconfig
+++ b/src/soc/intel/common/block/pcie/Kconfig
@@ -13,3 +13,8 @@
Enable debug logs in PCIe module. Allows debug information on memory
base and limit, prefetchable memory base and limit, prefetchable memory
base upper 32 bits and prefetchable memory limit upper 32 bits.
+
+config THP2_9260_WORKAROUND
+ bool
+ help
+ THP2 workaround
diff --git a/src/soc/intel/common/block/pcie/pcie.c b/src/soc/intel/common/block/pcie/pcie.c
index 3ebb4f6..07a2321 100644
--- a/src/soc/intel/common/block/pcie/pcie.c
+++ b/src/soc/intel/common/block/pcie/pcie.c
@@ -28,12 +28,36 @@
/* PCI-E Sub-System ID */
#define PCIE_SUBSYSTEM_VENDOR_ID 0x94
+/*
+ * Check the LTR for root port and enable it
+ */
+static void pciexp_enable_root_port_ltr(struct device *root, unsigned root_cap)
+{
+ u16 root_ltr;
+ unsigned int val;
+
+ val = pci_read_config16(root, root_cap + PCI_EXP_DEV_CAP2_OFFSET);
+
+ if (val & LTR_MECHANISM_SUPPORT) {
+ root_ltr = pci_read_config16(root, root_cap + PCI_EXP_DEV_CTL_STS2_CAP_OFFSET);
+ root_ltr |= LTR_MECHANISM_EN;
+ pci_write_config16(root, root_cap + PCI_EXP_DEV_CTL_STS2_CAP_OFFSET, root_ltr);
+ }
+}
+
static void pch_pcie_init(struct device *dev)
{
u16 reg16;
+ unsigned int dev_cap;
printk(BIOS_DEBUG, "Initializing PCH PCIe bridge.\n");
+ if (IS_ENABLED(CONFIG_THP2_9260_WORKAROUND)) {
+ dev_cap = pci_find_capability(dev, PCI_CAP_ID_PCIE);
+ if (dev_cap)
+ pciexp_enable_root_port_ltr(dev, dev_cap);
+ }
+
/* Enable SERR */
pci_or_config32(dev, PCI_COMMAND, PCI_COMMAND_SERR);
--
To view, visit https://review.coreboot.org/c/coreboot/+/30486
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Id5d2814488fbc9db927edb2ead972b73ebc336ce
Gerrit-Change-Number: 30486
Gerrit-PatchSet: 1
Gerrit-Owner: Gaggery Tsai <gaggery.tsai(a)intel.com>
Gerrit-MessageType: newchange