Werner Zeh (werner.zeh(a)siemens.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18110
-gerrit
commit 97244532c46c4ae313d55a5e8eba1b3dc7136c67
Author: Werner Zeh <werner.zeh(a)siemens.com>
Date: Thu Jan 12 06:52:58 2017 +0100
mc_tcu3: Remove FSP_BAYTRAIL_GFX_INIT in Kconfig
As the config switch FSP_BAYTRAIL_GFX_INIT is now set per default in
fsp_baitrail, there is no need to set it here again. Just remove it from
this Kconfig file.
Change-Id: I9052b36668103d6c4481be13709e5bd157027c4b
Signed-off-by: Werner Zeh <werner.zeh(a)siemens.com>
---
src/mainboard/siemens/mc_tcu3/Kconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/mainboard/siemens/mc_tcu3/Kconfig b/src/mainboard/siemens/mc_tcu3/Kconfig
index 5ff233d..6a3b3c4 100644
--- a/src/mainboard/siemens/mc_tcu3/Kconfig
+++ b/src/mainboard/siemens/mc_tcu3/Kconfig
@@ -29,7 +29,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select SOC_INTEL_FSP_BAYTRAIL_MD
select USE_BLOBS
select CBFS_AUTOGEN_ATTRIBUTES
- select FSP_BAYTRAIL_GFX_INIT
select USE_SIEMENS_HWILIB
config MAINBOARD_DIR
Werner Zeh (werner.zeh(a)siemens.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18109
-gerrit
commit 1fa82cb643955434d4edfc3ec1a7f9dd694b961c
Author: Werner Zeh <werner.zeh(a)siemens.com>
Date: Thu Jan 12 06:29:04 2017 +0100
fsp_baytrail: Enable graphic init per default
Baytrail SoC has a bug where in some cases the DisplayPort can hang
leading to a non-working display (it just stays black). To avoid this
hang, a patch was introduced in 02/2016
(1c3b1112fa - fsp_baytrail: Fix a possible hanging DisplayPort)
but per default not switched on so that each
mainboard can decide if it wants to use this patch or not.
Recently a new case of this bug was reported by Benoit Sansoni
(benoit.sansoni(a)kontron.com) and he requested to enable this fix per
default as it costs him a lot of time to find the cause and even the
already available fix in coreboot. To avoid this effort for someone
else in the future we can enable this fix per default as no negative
side effects are known and it is now tested at Siemens and at
Kontron on different mainboards with success.
Change-Id: I15bd682218d0dc887945cc91ee3e5488945a6355
Signed-off-by: Werner Zeh <werner.zeh(a)siemens.com>
---
src/soc/intel/fsp_baytrail/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/soc/intel/fsp_baytrail/Kconfig b/src/soc/intel/fsp_baytrail/Kconfig
index 689e625..2a6a01c 100644
--- a/src/soc/intel/fsp_baytrail/Kconfig
+++ b/src/soc/intel/fsp_baytrail/Kconfig
@@ -96,7 +96,7 @@ config VGA_BIOS_FILE
default "../intel/cpu/baytrail/vbios/Vga.dat" if VGA_BIOS
config FSP_BAYTRAIL_GFX_INIT
- default n
+ default y
bool
help
Enabling this option will activate graphics init code. With this init,
Werner Zeh (werner.zeh(a)siemens.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18110
-gerrit
commit ae7308e8f82b6e3cba98376e79d2ca596681350d
Author: Werner Zeh <werner.zeh(a)siemens.com>
Date: Thu Jan 12 06:52:58 2017 +0100
mc_tcu3: Remove FSP_BAYTRAIL_GFX_INIT in Kconfig
As the config switch FSP_BAYTRAIL_GFX_INIT is now set per default in
fsp_baitrail, there is no need to set it here again. Just remove it from
this Kconfig file.
Change-Id: I9052b36668103d6c4481be13709e5bd157027c4b
Signed-off-by: Werner Zeh <werner.zeh(a)siemens.com>
---
src/mainboard/siemens/mc_tcu3/Kconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/mainboard/siemens/mc_tcu3/Kconfig b/src/mainboard/siemens/mc_tcu3/Kconfig
index 5ff233d..6a3b3c4 100644
--- a/src/mainboard/siemens/mc_tcu3/Kconfig
+++ b/src/mainboard/siemens/mc_tcu3/Kconfig
@@ -29,7 +29,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select SOC_INTEL_FSP_BAYTRAIL_MD
select USE_BLOBS
select CBFS_AUTOGEN_ATTRIBUTES
- select FSP_BAYTRAIL_GFX_INIT
select USE_SIEMENS_HWILIB
config MAINBOARD_DIR
Werner Zeh (werner.zeh(a)siemens.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18109
-gerrit
commit 929d3795d427e02378f7267a413319d663dcc611
Author: Werner Zeh <werner.zeh(a)siemens.com>
Date: Thu Jan 12 06:29:04 2017 +0100
fsp_baytrail: Enable graphic init per default
Baytrail SoC has a bug where in some cases the DisplayPort can hang
leading to a non-working display (it just stays black). To avoid this
hang, a patch was introduced in 02/2016
(1c3b1112fa2dbdd66b0470224715dc6da254ce62 - fsp_baytrail: Fix a possible
hanging DisplayPort) but per default not switched on so that each
mainboard can decide if it wants to use this patch or not.
Recently a new case of this bug was reported by Benoit Sansoni
(benoit.sansoni(a)kontron.com) and he requested to enable this fix per
default as it costs him a lot of time to find the cause and even the
already available fix in coreboot. To avoid this effort for someone
else in the future we can enable this fix per default as no negative
side effects are known and it is now tested at Siemens and at
Kontron on different mainboards with success.
Change-Id: I15bd682218d0dc887945cc91ee3e5488945a6355
Signed-off-by: Werner Zeh <werner.zeh(a)siemens.com>
---
src/soc/intel/fsp_baytrail/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/soc/intel/fsp_baytrail/Kconfig b/src/soc/intel/fsp_baytrail/Kconfig
index 689e625..2a6a01c 100644
--- a/src/soc/intel/fsp_baytrail/Kconfig
+++ b/src/soc/intel/fsp_baytrail/Kconfig
@@ -96,7 +96,7 @@ config VGA_BIOS_FILE
default "../intel/cpu/baytrail/vbios/Vga.dat" if VGA_BIOS
config FSP_BAYTRAIL_GFX_INIT
- default n
+ default y
bool
help
Enabling this option will activate graphics init code. With this init,
Robbie Zhang (robbie.zhang(a)intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17959
-gerrit
commit 8b1e5114204287d0a605b5a3ac2b5d448f883b10
Author: Robbie Zhang <robbie.zhang(a)intel.com>
Date: Fri Dec 23 12:20:47 2016 -0800
intel/wifi: Create ACPI objects for wifi SAR configuration
To support intel wifi SAR configuration, it is required coreboot
to publish two ACPI objects (WRDS and EWRD) to supply SAR limit
data sets. VPD entry "wifi_sar" is required to supply the raw SAR
limit data.
BUG=chrome-os-partner:60821
TEST=Enable USE_SAR, boot reef to OS, create the VPD entry, reboot,
check the SSDT dump and verify WRDS and EWRD structures.
Change-Id: I6be345735292d0ca46f2f7e7ea61924990d338a8
Signed-off-by: Robbie Zhang <robbie.zhang(a)intel.com>
---
src/drivers/intel/wifi/Kconfig | 24 ++++++++++++++
src/drivers/intel/wifi/chip.h | 32 +++++++++++++++++++
src/drivers/intel/wifi/wifi.c | 71 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 127 insertions(+)
diff --git a/src/drivers/intel/wifi/Kconfig b/src/drivers/intel/wifi/Kconfig
index 330de6c..1e6be6d 100644
--- a/src/drivers/intel/wifi/Kconfig
+++ b/src/drivers/intel/wifi/Kconfig
@@ -5,3 +5,27 @@ config DRIVERS_INTEL_WIFI
help
When enabled, add identifiers in ACPI and SMBIOS tables to
make OS drivers work with certain Intel PCI-e WiFi chipsets.
+
+config USE_SAR
+ bool
+ default n
+ help
+ Enable it when wifi driver uses SAR configuration feature.
+ VPD entry "wifi_sar" is required to support it.
+
+config SAR_ENABLE
+ bool
+ default n
+ depends on USE_SAR
+
+config DSAR_ENABLE
+ bool
+ default n
+ depends on USE_SAR
+
+config DSAR_SET_NUM
+ hex "Number of SAR sets when D-SAR is enabled"
+ default 0x3
+ depends on USE_SAR
+ help
+ There can be up to 3 optional SAR table sets.
diff --git a/src/drivers/intel/wifi/chip.h b/src/drivers/intel/wifi/chip.h
index 117d39c..0871874 100644
--- a/src/drivers/intel/wifi/chip.h
+++ b/src/drivers/intel/wifi/chip.h
@@ -1,3 +1,35 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2016-2017 Intel Corporation
+ *
+ * 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 _WIFI_CHIP_H_
+#define _WIFI_CHIP_H_
+
+/* WRDS Spec Revision */
+#define WRDS_REVISION 0x0
+
+/* EWRD Spec Revision */
+#define EWRD_REVISION 0x0
+
+/* WRDS Domain type */
+#define WRDS_DOMAIN_TYPE_WIFI 0x7
+
+/* EWRD Domain type */
+#define EWRD_DOMAIN_TYPE_WIFI 0x7
+
struct drivers_intel_wifi_config {
unsigned wake; /* Wake pin for ACPI _PRW */
};
+
+#endif /* _WIFI_CHIP_H_ */
diff --git a/src/drivers/intel/wifi/wifi.c b/src/drivers/intel/wifi/wifi.c
index 789d0d5..06bc54c 100644
--- a/src/drivers/intel/wifi/wifi.c
+++ b/src/drivers/intel/wifi/wifi.c
@@ -20,6 +20,7 @@
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ids.h>
+#include <sar.h>
#include <smbios.h>
#include <string.h>
#include <wrdd.h>
@@ -59,6 +60,72 @@ static int smbios_write_wifi(struct device *dev, int *handle,
#endif
#if IS_ENABLED(CONFIG_HAVE_ACPI_TABLES)
+static void emit_sar_acpi_structures(void)
+{
+ int i, j, package_size;
+ struct wifi_sar_limits sar_limits;
+
+ /* Retrieve the sar limits data */
+ if (get_wifi_sar_limits(&sar_limits) < 0) {
+ printk(BIOS_ERR, "Error: failed from getting SAR limits!\n");
+ return;
+ }
+
+ /*
+ * Name ("WRDS", Package () {
+ * Revision,
+ * Package () {
+ * Domain Type, // 0x7:WiFi
+ * WiFi SAR BIOS, // BIOS SAR Enable/disable
+ * SAR Table Set // Set#1 of SAR Table (10 bytes)
+ * }
+ * })
+ */
+ acpigen_write_name("WRDS");
+ acpigen_write_package(2);
+ acpigen_write_dword(WRDS_REVISION);
+ /* Emit 'Domain Type' + 'WiFi SAR BIOS' + 10 bytes for Set#1 */
+ package_size = 1 + 1 + BYTES_PER_SAR_LIMIT;
+ acpigen_write_package(package_size);
+ acpigen_write_dword(WRDS_DOMAIN_TYPE_WIFI);
+ acpigen_write_dword(CONFIG_SAR_ENABLE);
+ for (i = 0; i < BYTES_PER_SAR_LIMIT; i++)
+ acpigen_write_byte(sar_limits.sar_limit[0][i]);
+ acpigen_pop_len();
+ acpigen_pop_len();
+
+ /*
+ * Name ("EWRD", Package () {
+ * Revision,
+ * Package () {
+ * Domain Type, // 0x7:WiFi
+ * Dynamic SAR Enable, // Dynamic SAR Enable/disable
+ * Extended SAR sets, // Number of optional SAR table sets
+ * SAR Table Set, // Set#2 of SAR Table (10 bytes)
+ * SAR Table Set, // Set#3 of SAR Table (10 bytes)
+ * SAR Table Set // Set#4 of SAR Table (10 bytes)
+ * }
+ * })
+ */
+ acpigen_write_name("EWRD");
+ acpigen_write_package(2);
+ acpigen_write_dword(EWRD_REVISION);
+ /*
+ * Emit 'Domain Type' + "Dynamic SAR Enable' + 'Extended SAR sets'
+ * + number of bytes for Set#2 & 3 & 4
+ */
+ package_size = 1 + 1 + 1 + (NUM_SAR_LIMITS - 1) * BYTES_PER_SAR_LIMIT;
+ acpigen_write_package(package_size);
+ acpigen_write_dword(EWRD_DOMAIN_TYPE_WIFI);
+ acpigen_write_dword(CONFIG_DSAR_ENABLE);
+ acpigen_write_dword(CONFIG_DSAR_SET_NUM);
+ for (i = 1; i < NUM_SAR_LIMITS; i++)
+ for (j = 0; j < BYTES_PER_SAR_LIMIT; j++)
+ acpigen_write_byte(sar_limits.sar_limit[i][j]);
+ acpigen_pop_len();
+ acpigen_pop_len();
+}
+
static void intel_wifi_fill_ssdt(struct device *dev)
{
struct drivers_intel_wifi_config *config = dev->chip_info;
@@ -105,6 +172,10 @@ static void intel_wifi_fill_ssdt(struct device *dev)
acpigen_pop_len();
}
+ /* Fill Wifi sar related ACPI structures */
+ if (IS_ENABLED(CONFIG_USE_SAR))
+ emit_sar_acpi_structures();
+
acpigen_pop_len(); /* Device */
acpigen_pop_len(); /* Scope */
Keith Tzeng (keith.tzeng(a)quantatw.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18086
-gerrit
commit 36f9774e7cbb1b76aa10cec909585f58cb318506
Author: Kevin Chiu <Kevin.Chiu(a)quantatw.com>
Date: Tue Jan 10 22:31:05 2017 +0800
google/pyro: Add ELAN touch screen support
Current fw does not create ACPI device for
OS to recognize ELAN touchscreen.
List the touch screen in the devicetree so that
the correct ACPI device are created.
BUG=chrome-os-partner:61803
BRANCH=reef
TEST=emerge-pyro coreboot
Change-Id: I9015fa63ef3aba74b682da3608a05ee49c4947c5
Signed-off-by: Kevin Chiu <Kevin.Chiu(a)quantatw.com>
---
src/mainboard/google/reef/variants/pyro/devicetree.cb | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/mainboard/google/reef/variants/pyro/devicetree.cb b/src/mainboard/google/reef/variants/pyro/devicetree.cb
index bc06bbb..f7551d6 100644
--- a/src/mainboard/google/reef/variants/pyro/devicetree.cb
+++ b/src/mainboard/google/reef/variants/pyro/devicetree.cb
@@ -176,6 +176,21 @@ chip soc/intel/apollolake
register "hid_desc_reg_offset" = "0x1"
device i2c 0xA on end
end
+ chip drivers/i2c/generic
+ register "hid" = ""ELAN0001""
+ register "desc" = ""ELAN Touchscreen""
+ register "irq" = "IRQ_EDGE_LOW(GPIO_21_IRQ)"
+ register "probed" = "1"
+
+ chip drivers/generic/gpio_regulator
+ register "name" = ""vcc33""
+ register "gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_152)"
+ register "enabled_on_boot" = "1"
+ device generic 0 on end
+ end
+
+ device i2c 10 on end
+ end
end # - I2C 3
device pci 17.0 on
chip drivers/i2c/generic