Nico Huber has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/31465
Change subject: drivers/intel/gma: Choose better default settings for HSW
......................................................................
drivers/intel/gma: Choose better default settings for HSW
When libgfxinit was added, there were no Haswell boards in the tree with
discrete CPU/PCH. There are now, and we have a Kconfig to distingush
them. So use that instead of mainboard overrides.
TEST=Built config for asrock/h81m-hds and checked that
GFX_GMA_CPU_VARIANT is still set to `Normal`.
Change-Id: I5e54176e235e43ca28e4baf43dbb9860e7fc3dbd
Signed-off-by: Nico Huber <nico.huber(a)secunet.com>
---
M src/drivers/intel/gma/Kconfig
M src/mainboard/asrock/h81m-hds/Kconfig
2 files changed, 1 insertion(+), 9 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/65/31465/1
diff --git a/src/drivers/intel/gma/Kconfig b/src/drivers/intel/gma/Kconfig
index 2dbed01..fd2422d 100644
--- a/src/drivers/intel/gma/Kconfig
+++ b/src/drivers/intel/gma/Kconfig
@@ -105,7 +105,7 @@
default "ULT" if ((SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEY_LAKE) \
&& !SOC_INTEL_CANNONLAKE_PCH_H) \
|| ((SOC_INTEL_SKYLAKE || SOC_INTEL_KABYLAKE) && !SKYLAKE_SOC_PCH_H) \
- || SOC_INTEL_BROADWELL || NORTHBRIDGE_INTEL_HASWELL
+ || SOC_INTEL_BROADWELL || (NORTHBRIDGE_INTEL_HASWELL && INTEL_LYNXPOINT_LP)
default "Normal"
config GFX_GMA_INTERNAL_PORT
diff --git a/src/mainboard/asrock/h81m-hds/Kconfig b/src/mainboard/asrock/h81m-hds/Kconfig
index 55f1637..f2ba55c 100644
--- a/src/mainboard/asrock/h81m-hds/Kconfig
+++ b/src/mainboard/asrock/h81m-hds/Kconfig
@@ -40,14 +40,6 @@
hex
default 0x200000
-#
-# The override of GFX_GMA_CPU_VARIANT should be removed once the patches
-# for dynamic CPU detection are merged in libgfxinit.
-#
-config GFX_GMA_CPU_VARIANT
- string
- default "Normal"
-
config MAINBOARD_DIR
string
default asrock/h81m-hds
--
To view, visit https://review.coreboot.org/c/coreboot/+/31465
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I5e54176e235e43ca28e4baf43dbb9860e7fc3dbd
Gerrit-Change-Number: 31465
Gerrit-PatchSet: 1
Gerrit-Owner: Nico Huber <nico.h(a)gmx.de>
Gerrit-MessageType: newchange
John Zhao has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/32432
Change subject: soc/intel/cnl: Enable VT-d
......................................................................
soc/intel/cnl: Enable VT-d
By default VT-d is disabled by fsp. Enabling VT-d by coreboot
through upd VtdDisable. Set bit2 DMA_CTRL_PLATFORM_OPT_IN_FLAG
to report any platform initiated DMA is restricted to only
reserved memory regions (reported in RMRR structures) when
transferring control to system software.
BUG=b:130351429
TEST=Booted to kernel and verified the DMAR table contents.
Change-Id: I1d20932e417b9d324edd98c8f2195dc228d2e092
Signed-off-by: John Zhao <john.zhao(a)intel.com>
---
M src/soc/intel/cannonlake/acpi.c
M src/soc/intel/cannonlake/romstage/fsp_params.c
2 files changed, 11 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/32/32432/1
diff --git a/src/soc/intel/cannonlake/acpi.c b/src/soc/intel/cannonlake/acpi.c
index 43d91d3..2ee7f7e 100644
--- a/src/soc/intel/cannonlake/acpi.c
+++ b/src/soc/intel/cannonlake/acpi.c
@@ -358,7 +358,13 @@
return current;
printk(BIOS_DEBUG, "ACPI: * DMAR\n");
- acpi_create_dmar(dmar, DMAR_INTR_REMAP, soc_fill_dmar);
+ /* Bit 2: DMA_CTRL_PLATFORM_OPT_IN_FLAG. Platform firmware is
+ * recommended to set this field to report any platform initiated DMA
+ * is restricted to only reserved memory regions (reported in RMRR
+ * structures) when transferring control to system software.
+ */
+ acpi_create_dmar(dmar, DMAR_INTR_REMAP | (1 << 2), soc_fill_dmar);
+
current += dmar->header.length;
current = acpi_align_current(current);
acpi_add_table(rsdp, dmar);
diff --git a/src/soc/intel/cannonlake/romstage/fsp_params.c b/src/soc/intel/cannonlake/romstage/fsp_params.c
index 2ad2c93..9fc90cf 100644
--- a/src/soc/intel/cannonlake/romstage/fsp_params.c
+++ b/src/soc/intel/cannonlake/romstage/fsp_params.c
@@ -103,6 +103,7 @@
assert(dev != NULL);
const config_t *config = dev->chip_info;
FSP_M_CONFIG *m_cfg = &mupd->FspmConfig;
+ FSP_M_TEST_CONFIG *tconfig = &mupd->FspmTestConfig;
soc_memory_init_params(m_cfg, config);
@@ -114,6 +115,9 @@
/* Set debug probe type */
m_cfg->PlatformDebugConsent = config->DebugConsent;
+ /* Configure VT-d */
+ tconfig->VtdDisable = config->VtdDisable;
+
mainboard_memory_init_params(mupd);
}
--
To view, visit https://review.coreboot.org/c/coreboot/+/32432
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I1d20932e417b9d324edd98c8f2195dc228d2e092
Gerrit-Change-Number: 32432
Gerrit-PatchSet: 1
Gerrit-Owner: John Zhao <john.zhao(a)intel.com>
Gerrit-MessageType: newchange
Lijian Zhao has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/32367
Change subject: mb/google/sarien: Fix s5 touchscreen power leakage
......................................................................
mb/google/sarien: Fix s5 touchscreen power leakage
Leakage power is observed from 3V_TSP_S0_FUSE during S5.
To avoid leakage power, GPP_E7 needs to be turned off before S5 entry.
BUG=b:129899315
TEST=Measure leakage power in S5 from both Arcada and Sarien
Signed-off-by: Lijian Zhao <lijian.zhao(a)intel.com>
Change-Id: Ie4229477b7149c0a75f4a8c6c7c453a37cc1c78c
---
M src/mainboard/google/sarien/dsdt.asl
A src/mainboard/google/sarien/variants/arcada/include/variant/acpi/mainboard.asl
A src/mainboard/google/sarien/variants/sarien/include/variant/acpi/mainboard.asl
3 files changed, 52 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/67/32367/1
diff --git a/src/mainboard/google/sarien/dsdt.asl b/src/mainboard/google/sarien/dsdt.asl
index e5b0cca..09ffd91 100644
--- a/src/mainboard/google/sarien/dsdt.asl
+++ b/src/mainboard/google/sarien/dsdt.asl
@@ -39,6 +39,8 @@
{
#include <soc/intel/cannonlake/acpi/northbridge.asl>
#include <soc/intel/cannonlake/acpi/southbridge.asl>
+ /* Per board variant mainboard hooks. */
+ #include <variant/acpi/mainboard.asl>
}
}
diff --git a/src/mainboard/google/sarien/variants/arcada/include/variant/acpi/mainboard.asl b/src/mainboard/google/sarien/variants/arcada/include/variant/acpi/mainboard.asl
new file mode 100644
index 0000000..2d6260b
--- /dev/null
+++ b/src/mainboard/google/sarien/variants/arcada/include/variant/acpi/mainboard.asl
@@ -0,0 +1,25 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2019 Intel Corp.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#define TS_PD GPP_E7
+
+/* Method called from _PTS prior to enter sleep state */
+Method(MPTS, 1) {
+ /* Before enter S5 soft off state */
+ If (Arg0 == 5) {
+ /* Clear touch screen pd pin to avoid leakage */
+ CTXS(TS_PD)
+ } /*S5 soft off state*/
+}
diff --git a/src/mainboard/google/sarien/variants/sarien/include/variant/acpi/mainboard.asl b/src/mainboard/google/sarien/variants/sarien/include/variant/acpi/mainboard.asl
new file mode 100644
index 0000000..2d6260b
--- /dev/null
+++ b/src/mainboard/google/sarien/variants/sarien/include/variant/acpi/mainboard.asl
@@ -0,0 +1,25 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2019 Intel Corp.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#define TS_PD GPP_E7
+
+/* Method called from _PTS prior to enter sleep state */
+Method(MPTS, 1) {
+ /* Before enter S5 soft off state */
+ If (Arg0 == 5) {
+ /* Clear touch screen pd pin to avoid leakage */
+ CTXS(TS_PD)
+ } /*S5 soft off state*/
+}
--
To view, visit https://review.coreboot.org/c/coreboot/+/32367
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ie4229477b7149c0a75f4a8c6c7c453a37cc1c78c
Gerrit-Change-Number: 32367
Gerrit-PatchSet: 1
Gerrit-Owner: Lijian Zhao <lijian.zhao(a)intel.com>
Gerrit-MessageType: newchange
Michał Żygowski has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/32062
Change subject: soc/intel/braswell/smbus: Init SMBus
......................................................................
soc/intel/braswell/smbus: Init SMBus
Using Intel southbridge common implementation to retrieve SPD from DIMMs
causes FSP memory init to hang. Initialize SMBus as in Intel SoC common
before issuing any transactions to let FSP properly initialize memory.
Also make Intel common southbridge smbus API compatible with SPD library.
Signed-off-by: Michał Żygowski <michal.zygowski(a)3mdeb.com>
Change-Id: I92a2c5a6d0b38e5658cfdc017041f12717dabdd5
---
M src/soc/intel/braswell/Makefile.inc
A src/soc/intel/braswell/include/soc/smbus.h
M src/soc/intel/braswell/romstage/romstage.c
A src/soc/intel/braswell/smbus.c
4 files changed, 92 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/62/32062/1
diff --git a/src/soc/intel/braswell/Makefile.inc b/src/soc/intel/braswell/Makefile.inc
index a538f7d..554af41 100644
--- a/src/soc/intel/braswell/Makefile.inc
+++ b/src/soc/intel/braswell/Makefile.inc
@@ -14,6 +14,7 @@
romstage-y += lpc_init.c
romstage-y += memmap.c
romstage-y += pmutil.c
+romstage-y += smbus.c
romstage-y += tsc_freq.c
postcar-y += tsc_freq.c
@@ -38,6 +39,7 @@
ramstage-y += sata.c
ramstage-y += scc.c
ramstage-y += sd.c
+ramstage-y += smbus.c
ramstage-y += smm.c
ramstage-y += southcluster.c
ramstage-y += spi.c
diff --git a/src/soc/intel/braswell/include/soc/smbus.h b/src/soc/intel/braswell/include/soc/smbus.h
new file mode 100644
index 0000000..f5075e1
--- /dev/null
+++ b/src/soc/intel/braswell/include/soc/smbus.h
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2019 3mdeb
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+
+#ifndef _SOC_SMBUS_H_
+#define _SOC_SMBUS_H_
+
+#include <soc/pci_devs.h>
+
+#if !defined(__SIMPLE_DEVICE__)
+#include <device/device.h>
+#define PCH_DEV_SMBUS dev_find_slot(0, PCI_DEVFN(SMBUS_DEV, SMBUS_FUNC))
+#else
+
+#include <device/pci_type.h>
+#define PCH_DEV_SMBUS PCI_DEV(0, SMBUS_DEV, SMBUS_FUNC)
+#endif
+
+#define HOSTC 0x40
+#define HST_EN (1 << 0)
+
+void smbus_common_init(void);
+
+#endif /* _SOC_SMBUS_H_ */
diff --git a/src/soc/intel/braswell/romstage/romstage.c b/src/soc/intel/braswell/romstage/romstage.c
index ca1eb40..6a0226e 100644
--- a/src/soc/intel/braswell/romstage/romstage.c
+++ b/src/soc/intel/braswell/romstage/romstage.c
@@ -40,6 +40,7 @@
#include <soc/lpc.h>
#include <soc/pci_devs.h>
#include <soc/romstage.h>
+#include <soc/smbus.h>
#include <soc/smm.h>
#include <soc/spi.h>
#include <build.h>
@@ -194,6 +195,7 @@
spi_init();
lpc_init();
+ smbus_common_init();
}
/* SOC initialization after RAM is enabled */
diff --git a/src/soc/intel/braswell/smbus.c b/src/soc/intel/braswell/smbus.c
new file mode 100644
index 0000000..454c3f6
--- /dev/null
+++ b/src/soc/intel/braswell/smbus.c
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2017 Intel Corporation.
+ * Copyright (C) 2019 3mdeb
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <device/early_smbus.h>
+#include <device/pci_def.h>
+#include <reg_script.h>
+#include <soc/iomap.h>
+#include <soc/smbus.h>
+#include <southbridge/intel/common/smbus.h>
+
+static const struct reg_script smbus_init_script[] = {
+ /* Set SMBus I/O base address */
+ REG_PCI_WRITE32(PCI_BASE_ADDRESS_4, SMBUS_BASE_ADDRESS),
+ /* Set SMBus enable */
+ REG_PCI_WRITE8(HOSTC, HST_EN),
+ /* Enable I/O access */
+ REG_PCI_WRITE16(PCI_COMMAND, PCI_COMMAND_IO),
+ /* Disable interrupts */
+ REG_IO_WRITE8(SMBUS_BASE_ADDRESS + SMBHSTCTL, 0),
+ /* Clear errors */
+ REG_IO_WRITE8(SMBUS_BASE_ADDRESS + SMBHSTSTAT, 0xff),
+ /* Indicate the end of this array by REG_SCRIPT_END */
+ REG_SCRIPT_END,
+};
+
+u8 smbus_read_byte(u32 smbus_dev, u8 addr, u8 offset)
+{
+ return do_smbus_read_byte(SMBUS_BASE_ADDRESS, addr, offset);
+}
+
+u8 smbus_write_byte(u32 smbus_dev, u8 addr, u8 offset, u8 value)
+{
+ return do_smbus_write_byte(SMBUS_BASE_ADDRESS, addr, offset, value);
+}
+
+void smbus_common_init(void)
+{
+ reg_script_run_on_dev(PCH_DEV_SMBUS, smbus_init_script);
+}
--
To view, visit https://review.coreboot.org/c/coreboot/+/32062
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I92a2c5a6d0b38e5658cfdc017041f12717dabdd5
Gerrit-Change-Number: 32062
Gerrit-PatchSet: 1
Gerrit-Owner: Michał Żygowski <michal.zygowski(a)3mdeb.com>
Gerrit-MessageType: newchange