the following patch was just integrated into master:
commit 186e9c4313fbbd55b7b5391a139235ee6121cb74
Author: Arthur Heymans <arthur(a)aheymans.xyz>
Date: Tue Jan 10 14:26:23 2017 +0100
nb/i945/raminit.c: Use Makefile.inc instead of '#include rcven.c'
Change-Id: Ib86600b687c7002646ca82d5fa52121b6eafcd60
Signed-off-by: Arthur Heymans <arthur(a)aheymans.xyz>
Reviewed-on: https://review.coreboot.org/18087
Tested-by: build bot (Jenkins)
Reviewed-by: Nico Huber <nico.h(a)gmx.de>
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
See https://review.coreboot.org/18087 for details.
-gerrit
Kevin Chiu (Kevin.Chiu(a)quantatw.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18086
-gerrit
commit 20519ca863a031a7a27f7acac35400d0be7ec911
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=none
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
Kevin Chiu (Kevin.Chiu(a)quantatw.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18086
-gerrit
commit db1b851bc7e04ba6ffd45924982d29f6ec91ef52
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=none
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 | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/mainboard/google/reef/variants/pyro/devicetree.cb b/src/mainboard/google/reef/variants/pyro/devicetree.cb
index bc06bbb..f5bec23 100644
--- a/src/mainboard/google/reef/variants/pyro/devicetree.cb
+++ b/src/mainboard/google/reef/variants/pyro/devicetree.cb
@@ -176,6 +176,13 @@ 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"
+ device i2c 10 on end
+ end
end # - I2C 3
device pci 17.0 on
chip drivers/i2c/generic
Kane Chen (kane.chen(a)intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18060
-gerrit
commit f1655546ca8d2ef40553257ca57c1af859bd6239
Author: Kane Chen <kane.chen(a)intel.com>
Date: Wed Jan 11 12:53:58 2017 +0800
soc/intel/apollolake: Allow USB2 eye pattern configuration in devicetree
This code allows people to override the usb2 eye pattern
UPD settings for boards.
BUG=chrome-os-partner:61031
BRANCH=None
TEST=Usb2 function ok and make sure fsp upd is overridden
Change-Id: I5fab620a29aba196edf1f24ffe6a1695de1e523e
Signed-off-by: Kane Chen <kane.chen(a)intel.com>
---
src/soc/intel/apollolake/chip.c | 32 +++++++++++++++++++++++++++++
src/soc/intel/apollolake/chip.h | 5 +++++
src/soc/intel/apollolake/include/soc/usb.h | 33 ++++++++++++++++++++++++++++++
3 files changed, 70 insertions(+)
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c
index a24ca33..1de41cf 100644
--- a/src/soc/intel/apollolake/chip.c
+++ b/src/soc/intel/apollolake/chip.c
@@ -436,6 +436,7 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *silupd)
{
FSP_S_CONFIG *silconfig = &silupd->FspsConfig;
static struct soc_intel_apollolake_config *cfg;
+ uint8_t port;
/* Load VBT before devicetree-specific config. */
silconfig->GraphicsConfigPtr = (uintptr_t)vbt;
@@ -491,6 +492,37 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *silupd)
/* Bios config lockdown Audio clk and power gate */
silconfig->BiosCfgLockDown = cfg->hdaudio_bios_config_lockdown;
+ /* USB2 eye diagram settings per port */
+ for (port = 0; port < APOLLOLAKE_USB2_PORT_MAX; port++) {
+ if (cfg->usb2eye[port].Usb20PerPortTxPeHalf != 0)
+ silconfig->PortUsb20PerPortTxPeHalf[port] =
+ cfg->usb2eye[port].Usb20PerPortTxPeHalf;
+
+ if (cfg->usb2eye[port].Usb20PerPortPeTxiSet != 0)
+ silconfig->PortUsb20PerPortPeTxiSet[port] =
+ cfg->usb2eye[port].Usb20PerPortPeTxiSet;
+
+ if (cfg->usb2eye[port].Usb20PerPortTxiSet != 0)
+ silconfig->PortUsb20PerPortTxiSet[port] =
+ cfg->usb2eye[port].Usb20PerPortTxiSet;
+
+ if (cfg->usb2eye[port].Usb20HsSkewSel != 0)
+ silconfig->PortUsb20HsSkewSel[port] =
+ cfg->usb2eye[port].Usb20HsSkewSel;
+
+ if (cfg->usb2eye[port].Usb20IUsbTxEmphasisEn != 0)
+ silconfig->PortUsb20IUsbTxEmphasisEn[port] =
+ cfg->usb2eye[port].Usb20IUsbTxEmphasisEn;
+
+ if (cfg->usb2eye[port].Usb20PerPortRXISet != 0)
+ silconfig->PortUsb20PerPortRXISet[port] =
+ cfg->usb2eye[port].Usb20PerPortRXISet;
+
+ if (cfg->usb2eye[port].Usb20HsNpreDrvSel != 0)
+ silconfig->PortUsb20HsNpreDrvSel[port] =
+ cfg->usb2eye[port].Usb20HsNpreDrvSel;
+ }
+
}
struct chip_operations soc_intel_apollolake_ops = {
diff --git a/src/soc/intel/apollolake/chip.h b/src/soc/intel/apollolake/chip.h
index 5f8fed9..d60ffbf 100644
--- a/src/soc/intel/apollolake/chip.h
+++ b/src/soc/intel/apollolake/chip.h
@@ -24,6 +24,7 @@
#include <soc/intel/common/lpss_i2c.h>
#include <device/i2c.h>
#include <soc/pm.h>
+#include <soc/usb.h>
#define CLKREQ_DISABLED 0xf
#define APOLLOLAKE_I2C_DEV_MAX 8
@@ -115,6 +116,10 @@ struct soc_intel_apollolake_config {
/* GPIO pin for PERST_0 */
uint16_t prt0_gpio;
+
+ /* USB2 eye diagram settings per port */
+ struct usb2_eye_per_port usb2eye[APOLLOLAKE_USB2_PORT_MAX];
+
};
#endif /* _SOC_APOLLOLAKE_CHIP_H_ */
diff --git a/src/soc/intel/apollolake/include/soc/usb.h b/src/soc/intel/apollolake/include/soc/usb.h
new file mode 100644
index 0000000..7220023
--- /dev/null
+++ b/src/soc/intel/apollolake/include/soc/usb.h
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2017 Intel Corp.
+ * (Written by Kane Chen <Kane.Chen(a)intel.com> for 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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_APOLLOLAKE_USB_H_
+#define _SOC_APOLLOLAKE_USB_H_
+
+#define APOLLOLAKE_USB2_PORT_MAX 8
+
+struct usb2_eye_per_port {
+ uint8_t Usb20PerPortTxPeHalf;
+ uint8_t Usb20PerPortPeTxiSet;
+ uint8_t Usb20PerPortTxiSet;
+ uint8_t Usb20HsSkewSel;
+ uint8_t Usb20IUsbTxEmphasisEn;
+ uint8_t Usb20PerPortRXISet;
+ uint8_t Usb20HsNpreDrvSel;
+};
+
+#endif /* _SOC_APOLLOLAKE_USB_H_ */
Kane Chen (kane.chen(a)intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18060
-gerrit
commit d227f79a98899e6df89ad9cd104bbdf286074cb4
Author: Kane Chen <kane.chen(a)intel.com>
Date: Wed Jan 11 12:53:58 2017 +0800
soc/intel/apollolake: Allow USB2 eye pattern configuration in devicetree
This code allows people to override the usb2 eye pattern
UPD settings for boards.
BUG=chrome-os-partner:61031
BRANCH=None
TEST=Usb2 function ok and make sure fsp upd is overridden
Change-Id: I5fab620a29aba196edf1f24ffe6a1695de1e523e
Signed-off-by: Kane Chen <kane.chen(a)intel.com>
---
src/soc/intel/apollolake/chip.c | 32 +++++++++++++++++++++++++++++
src/soc/intel/apollolake/chip.h | 5 +++++
src/soc/intel/apollolake/include/soc/usb.h | 33 ++++++++++++++++++++++++++++++
3 files changed, 70 insertions(+)
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c
index a24ca33..1de41cf 100644
--- a/src/soc/intel/apollolake/chip.c
+++ b/src/soc/intel/apollolake/chip.c
@@ -436,6 +436,7 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *silupd)
{
FSP_S_CONFIG *silconfig = &silupd->FspsConfig;
static struct soc_intel_apollolake_config *cfg;
+ uint8_t port;
/* Load VBT before devicetree-specific config. */
silconfig->GraphicsConfigPtr = (uintptr_t)vbt;
@@ -491,6 +492,37 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *silupd)
/* Bios config lockdown Audio clk and power gate */
silconfig->BiosCfgLockDown = cfg->hdaudio_bios_config_lockdown;
+ /* USB2 eye diagram settings per port */
+ for (port = 0; port < APOLLOLAKE_USB2_PORT_MAX; port++) {
+ if (cfg->usb2eye[port].Usb20PerPortTxPeHalf != 0)
+ silconfig->PortUsb20PerPortTxPeHalf[port] =
+ cfg->usb2eye[port].Usb20PerPortTxPeHalf;
+
+ if (cfg->usb2eye[port].Usb20PerPortPeTxiSet != 0)
+ silconfig->PortUsb20PerPortPeTxiSet[port] =
+ cfg->usb2eye[port].Usb20PerPortPeTxiSet;
+
+ if (cfg->usb2eye[port].Usb20PerPortTxiSet != 0)
+ silconfig->PortUsb20PerPortTxiSet[port] =
+ cfg->usb2eye[port].Usb20PerPortTxiSet;
+
+ if (cfg->usb2eye[port].Usb20HsSkewSel != 0)
+ silconfig->PortUsb20HsSkewSel[port] =
+ cfg->usb2eye[port].Usb20HsSkewSel;
+
+ if (cfg->usb2eye[port].Usb20IUsbTxEmphasisEn != 0)
+ silconfig->PortUsb20IUsbTxEmphasisEn[port] =
+ cfg->usb2eye[port].Usb20IUsbTxEmphasisEn;
+
+ if (cfg->usb2eye[port].Usb20PerPortRXISet != 0)
+ silconfig->PortUsb20PerPortRXISet[port] =
+ cfg->usb2eye[port].Usb20PerPortRXISet;
+
+ if (cfg->usb2eye[port].Usb20HsNpreDrvSel != 0)
+ silconfig->PortUsb20HsNpreDrvSel[port] =
+ cfg->usb2eye[port].Usb20HsNpreDrvSel;
+ }
+
}
struct chip_operations soc_intel_apollolake_ops = {
diff --git a/src/soc/intel/apollolake/chip.h b/src/soc/intel/apollolake/chip.h
index 5f8fed9..d60ffbf 100644
--- a/src/soc/intel/apollolake/chip.h
+++ b/src/soc/intel/apollolake/chip.h
@@ -24,6 +24,7 @@
#include <soc/intel/common/lpss_i2c.h>
#include <device/i2c.h>
#include <soc/pm.h>
+#include <soc/usb.h>
#define CLKREQ_DISABLED 0xf
#define APOLLOLAKE_I2C_DEV_MAX 8
@@ -115,6 +116,10 @@ struct soc_intel_apollolake_config {
/* GPIO pin for PERST_0 */
uint16_t prt0_gpio;
+
+ /* USB2 eye diagram settings per port */
+ struct usb2_eye_per_port usb2eye[APOLLOLAKE_USB2_PORT_MAX];
+
};
#endif /* _SOC_APOLLOLAKE_CHIP_H_ */
diff --git a/src/soc/intel/apollolake/include/soc/usb.h b/src/soc/intel/apollolake/include/soc/usb.h
new file mode 100644
index 0000000..7220023
--- /dev/null
+++ b/src/soc/intel/apollolake/include/soc/usb.h
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2017 Intel Corp.
+ * (Written by Kane Chen <Kane.Chen(a)intel.com> for 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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_APOLLOLAKE_USB_H_
+#define _SOC_APOLLOLAKE_USB_H_
+
+#define APOLLOLAKE_USB2_PORT_MAX 8
+
+struct usb2_eye_per_port {
+ uint8_t Usb20PerPortTxPeHalf;
+ uint8_t Usb20PerPortPeTxiSet;
+ uint8_t Usb20PerPortTxiSet;
+ uint8_t Usb20HsSkewSel;
+ uint8_t Usb20IUsbTxEmphasisEn;
+ uint8_t Usb20PerPortRXISet;
+ uint8_t Usb20HsNpreDrvSel;
+};
+
+#endif /* _SOC_APOLLOLAKE_USB_H_ */
Kane Chen (kane.chen(a)intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18060
-gerrit
commit 772b49691e95c47a559b35880b41a5787d6240f5
Author: Kane Chen <kane.chen(a)intel.com>
Date: Wed Jan 11 12:53:58 2017 +0800
soc/intel/apollolake: Allow USB2 eye pattern configuration in devicetree
This code allows people to override the usb2 eye pattern
UPD settings for boards.
BUG=chrome-os-partner:61031
BRANCH=None
TEST=Usb2 function ok and make sure fsp upd is overridden
Change-Id: I5fab620a29aba196edf1f24ffe6a1695de1e523e
Signed-off-by: Kane Chen <kane.chen(a)intel.com>
---
src/soc/intel/apollolake/chip.c | 32 +++++++++++++++++++++++++++++
src/soc/intel/apollolake/chip.h | 5 +++++
src/soc/intel/apollolake/include/soc/usb.h | 33 ++++++++++++++++++++++++++++++
3 files changed, 70 insertions(+)
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c
index a24ca33..1de41cf 100644
--- a/src/soc/intel/apollolake/chip.c
+++ b/src/soc/intel/apollolake/chip.c
@@ -436,6 +436,7 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *silupd)
{
FSP_S_CONFIG *silconfig = &silupd->FspsConfig;
static struct soc_intel_apollolake_config *cfg;
+ uint8_t port;
/* Load VBT before devicetree-specific config. */
silconfig->GraphicsConfigPtr = (uintptr_t)vbt;
@@ -491,6 +492,37 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *silupd)
/* Bios config lockdown Audio clk and power gate */
silconfig->BiosCfgLockDown = cfg->hdaudio_bios_config_lockdown;
+ /* USB2 eye diagram settings per port */
+ for (port = 0; port < APOLLOLAKE_USB2_PORT_MAX; port++) {
+ if (cfg->usb2eye[port].Usb20PerPortTxPeHalf != 0)
+ silconfig->PortUsb20PerPortTxPeHalf[port] =
+ cfg->usb2eye[port].Usb20PerPortTxPeHalf;
+
+ if (cfg->usb2eye[port].Usb20PerPortPeTxiSet != 0)
+ silconfig->PortUsb20PerPortPeTxiSet[port] =
+ cfg->usb2eye[port].Usb20PerPortPeTxiSet;
+
+ if (cfg->usb2eye[port].Usb20PerPortTxiSet != 0)
+ silconfig->PortUsb20PerPortTxiSet[port] =
+ cfg->usb2eye[port].Usb20PerPortTxiSet;
+
+ if (cfg->usb2eye[port].Usb20HsSkewSel != 0)
+ silconfig->PortUsb20HsSkewSel[port] =
+ cfg->usb2eye[port].Usb20HsSkewSel;
+
+ if (cfg->usb2eye[port].Usb20IUsbTxEmphasisEn != 0)
+ silconfig->PortUsb20IUsbTxEmphasisEn[port] =
+ cfg->usb2eye[port].Usb20IUsbTxEmphasisEn;
+
+ if (cfg->usb2eye[port].Usb20PerPortRXISet != 0)
+ silconfig->PortUsb20PerPortRXISet[port] =
+ cfg->usb2eye[port].Usb20PerPortRXISet;
+
+ if (cfg->usb2eye[port].Usb20HsNpreDrvSel != 0)
+ silconfig->PortUsb20HsNpreDrvSel[port] =
+ cfg->usb2eye[port].Usb20HsNpreDrvSel;
+ }
+
}
struct chip_operations soc_intel_apollolake_ops = {
diff --git a/src/soc/intel/apollolake/chip.h b/src/soc/intel/apollolake/chip.h
index 5f8fed9..d60ffbf 100644
--- a/src/soc/intel/apollolake/chip.h
+++ b/src/soc/intel/apollolake/chip.h
@@ -24,6 +24,7 @@
#include <soc/intel/common/lpss_i2c.h>
#include <device/i2c.h>
#include <soc/pm.h>
+#include <soc/usb.h>
#define CLKREQ_DISABLED 0xf
#define APOLLOLAKE_I2C_DEV_MAX 8
@@ -115,6 +116,10 @@ struct soc_intel_apollolake_config {
/* GPIO pin for PERST_0 */
uint16_t prt0_gpio;
+
+ /* USB2 eye diagram settings per port */
+ struct usb2_eye_per_port usb2eye[APOLLOLAKE_USB2_PORT_MAX];
+
};
#endif /* _SOC_APOLLOLAKE_CHIP_H_ */
diff --git a/src/soc/intel/apollolake/include/soc/usb.h b/src/soc/intel/apollolake/include/soc/usb.h
new file mode 100644
index 0000000..7220023
--- /dev/null
+++ b/src/soc/intel/apollolake/include/soc/usb.h
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2017 Intel Corp.
+ * (Written by Kane Chen <Kane.Chen(a)intel.com> for 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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_APOLLOLAKE_USB_H_
+#define _SOC_APOLLOLAKE_USB_H_
+
+#define APOLLOLAKE_USB2_PORT_MAX 8
+
+struct usb2_eye_per_port {
+ uint8_t Usb20PerPortTxPeHalf;
+ uint8_t Usb20PerPortPeTxiSet;
+ uint8_t Usb20PerPortTxiSet;
+ uint8_t Usb20HsSkewSel;
+ uint8_t Usb20IUsbTxEmphasisEn;
+ uint8_t Usb20PerPortRXISet;
+ uint8_t Usb20HsNpreDrvSel;
+};
+
+#endif /* _SOC_APOLLOLAKE_USB_H_ */