Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11037
-gerrit
commit 8a22bea2b2c24197fb9c05e0feb9a12a2e52c322
Author: Yen Lin <yelin(a)nvidia.com>
Date: Thu Jul 16 10:23:34 2015 -0700
t210: lp0_resume: set CAR2PMC_CPU_ACK_WIDTH to 0
Like in cold boot path, need to set CAR2PMC_CPU_ACK_WIDTH to 0
in lp0 resume path.
BUG=chrome-os-partner:40741
BRANCH=None
TEST=Tested on Smaug; able to suspend/resume
Change-Id: Iffd7fa4d0266e2ec482ec17e5203ceff8afe748f
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 052b649b1e6a4e34d621d710ee43aec7149ab8a8
Original-Change-Id: Icdf9879469485fb37b820b30c9663eda528ac013
Original-Signed-off-by: Yen Lin <yelin(a)nvidia.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/286600
Original-Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
Original-Commit-Queue: Tom Warren <twarren(a)nvidia.com>
---
src/soc/nvidia/tegra210/lp0/tegra_lp0_resume.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/soc/nvidia/tegra210/lp0/tegra_lp0_resume.c b/src/soc/nvidia/tegra210/lp0/tegra_lp0_resume.c
index 168c95a..dc61cba 100644
--- a/src/soc/nvidia/tegra210/lp0/tegra_lp0_resume.c
+++ b/src/soc/nvidia/tegra210/lp0/tegra_lp0_resume.c
@@ -146,6 +146,13 @@ enum {
CLK_ENB_CSITE = 0x1 << 9
};
+static uint32_t *clk_rst_cpu_softrst_ctrl2_ptr =
+ (void *)(CLK_RST_BASE + 0x388);
+enum {
+ CAR2PMC_CPU_ACK_WIDTH_SHIFT = 0,
+ CAR2PMC_CPU_ACK_WIDTH_MASK = 0xfff << CAR2PMC_CPU_ACK_WIDTH_SHIFT
+};
+
static uint32_t *clk_rst_clk_enb_v_set_ptr = (void *)(CLK_RST_BASE + 0x440);
enum {
CLK_ENB_CPUG = 0x1 << 0,
@@ -787,6 +794,9 @@ void lp0_resume(void)
/* Disable PLLX since it isn't used in the kernel as CPU clk source. */
clrbits32(PLLX_ENABLE, clk_rst_pllx_base_ptr);
+ /* Set CAR2PMC_CPU_ACK_WIDTH to 0 */
+ clrbits32(CAR2PMC_CPU_ACK_WIDTH_MASK, clk_rst_cpu_softrst_ctrl2_ptr);
+
/* Clear PMC_SCRATCH190 */
clrbits32(1, pmc_scratch190_ptr);
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11035
-gerrit
commit 2d134e899f7d3dd77759d39ca386c10b05e80e31
Author: Duncan Laurie <dlaurie(a)chromium.org>
Date: Mon Jul 20 17:39:25 2015 -0700
glados: Fix the write protect GPIO exported in ACPI
Update the write protect GPIO reported in ACPI to be 71 which
is GPP_C23. Also update the controller id to INT344B:00 which
will point at the sunrisepoint device in /sys/class/gpio.
BUG=chrome-os-partner:42560
BRANCH=none
TEST=verify crossystem output with and without WP enabled
Change-Id: I625859bd8ac371a5c0cae18697dccf216c26a8b6
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 8fc5cb6b72dacd6aefe69fe8204f4e0d209ed8a4
Original-Change-Id: I04892e75f9bfe739c44eb40e7c6a969c33e157ca
Original-Signed-off-by: Duncan Laurie <dlaurie(a)chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/286842
Original-Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/mainboard/google/glados/acpi/chromeos.asl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mainboard/google/glados/acpi/chromeos.asl b/src/mainboard/google/glados/acpi/chromeos.asl
index 2d8146c..8edbff3 100644
--- a/src/mainboard/google/glados/acpi/chromeos.asl
+++ b/src/mainboard/google/glados/acpi/chromeos.asl
@@ -18,6 +18,6 @@
*/
Name (OIPG, Package() {
- Package () { 0x0001, 0, 0xFFFFFFFF, "INT3437:00" }, // no recovery button
- Package () { 0x0003, 1, 16, "INT3437:00" }, // firmware write protect
+ Package () { 0x0001, 0, 0xFFFFFFFF, "INT344B:00" }, // no recovery button
+ Package () { 0x0003, 1, 71, "INT344B:00" }, // firmware write protect
})
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11033
-gerrit
commit c03328b438edf37fe80b26d008ce362487304890
Author: Duncan Laurie <dlaurie(a)chromium.org>
Date: Mon Jul 20 16:48:55 2015 -0700
intel: common: Let mainboard supplement FSP memory info
Since the FSP memory info HOB does not return all the data that we
need about a DIMM add a weak function that will allow the mainboard
to supplement the generated memory_info structure.
Ideally this would not be necessary but until FSP returns the
module part number we need this.
BUG=chrome-os-partner:42975, chrome-os-partner:42561
BRANCH=none
TEST=run "mosys memory spd print all" on glados
Change-Id: Ic6d0ee0a31d23efcf7e7d7f18a74e944e09e7b46
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 34ad7f1906ba526e52d38d5a6bce7b88b83f0c13
Original-Change-Id: I8509c5c627c1605894473fdea567e7f7ede08cf9
Original-Signed-off-by: Duncan Laurie <dlaurie(a)chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/286876
Original-Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/soc/intel/common/romstage.c | 13 +++++++++++++
src/soc/intel/common/romstage.h | 4 ++++
2 files changed, 17 insertions(+)
diff --git a/src/soc/intel/common/romstage.c b/src/soc/intel/common/romstage.c
index 99ac890..7a05e17 100644
--- a/src/soc/intel/common/romstage.c
+++ b/src/soc/intel/common/romstage.c
@@ -363,6 +363,10 @@ __attribute__((weak)) void mainboard_save_dimm_info(
MEMORY_BUS_WIDTH_128;
break;
}
+
+ /* Add any mainboard specific information */
+ mainboard_add_dimm_info(params, mem_info,
+ channel, dimm, index);
index++;
}
}
@@ -371,6 +375,15 @@ __attribute__((weak)) void mainboard_save_dimm_info(
printk(BIOS_DEBUG, "%d DIMMs found\n", mem_info->dimm_cnt);
}
+/* Add any mainboard specific information */
+__attribute__((weak)) void mainboard_add_dimm_info(
+ struct romstage_params *params,
+ struct memory_info *mem_info,
+ int channel, int dimm, int index)
+{
+ printk(BIOS_DEBUG, "WEAK: %s/%s called\n", __FILE__, __func__);
+}
+
/* Get the memory configuration data */
__attribute__((weak)) int mrc_cache_get_current(
const struct mrc_saved_data **cache)
diff --git a/src/soc/intel/common/romstage.h b/src/soc/intel/common/romstage.h
index c677095..403016e 100644
--- a/src/soc/intel/common/romstage.h
+++ b/src/soc/intel/common/romstage.h
@@ -23,6 +23,7 @@
#include <stdint.h>
#include <arch/cpu.h>
+#include <memory_info.h>
#include <fsp_util.h>
#include <soc/intel/common/util.h>
#include <soc/pei_data.h>
@@ -76,6 +77,9 @@ void mainboard_memory_init_params(struct romstage_params *params,
void mainboard_pre_console_init(struct romstage_params *params);
void mainboard_romstage_entry(struct romstage_params *params);
void mainboard_save_dimm_info(struct romstage_params *params);
+void mainboard_add_dimm_info(struct romstage_params *params,
+ struct memory_info *mem_info,
+ int channel, int dimm, int index);
void raminit(struct romstage_params *params);
void report_memory_config(void);
void report_platform_info(void);
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11031
-gerrit
commit c059cf7ced23a6d2105c0e9183e7f52880613e6e
Author: Duncan Laurie <dlaurie(a)chromium.org>
Date: Mon Jul 20 15:50:42 2015 -0700
glados: Set the write protect GPIO
The write protect gpio is not added to the gpio map
so the structure is not valid for vboot to consume.
BUG=chrome-os-partner:42560
BRANCH=none
TEST=build and boot on glados, check basic crossytem output
CQ-DEPEND=CL:286911
Change-Id: I228d75049b919449072e395699c822203a08f1c6
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: d15438c4bf56d92189f2f501a62b55b5d00ba461
Original-Change-Id: I3290c4b96e1cc675c618a983915b778f11175020
Original-Signed-off-by: Duncan Laurie <dlaurie(a)chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/286930
Original-Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/mainboard/google/glados/chromeos.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/mainboard/google/glados/chromeos.c b/src/mainboard/google/glados/chromeos.c
index f1ff43b..70d78e0 100644
--- a/src/mainboard/google/glados/chromeos.c
+++ b/src/mainboard/google/glados/chromeos.c
@@ -40,6 +40,8 @@ void fill_lb_gpios(struct lb_gpios *gpios)
gpios->count = GPIO_COUNT;
gpio = gpios->gpios;
+ fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "write protect",
+ get_write_protect_state());
fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "recovery",
get_recovery_mode_switch());
fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "developer",