Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16767
-gerrit
commit c39751aa06c2a29a796913b84f1cd2aebc1d9a44
Author: Suresh Rajashekara <sureshraj(a)google.com>
Date: Thu Sep 22 08:20:16 2016 -0700
Gale: Fix the orange color to match the UX doc
UX Doc = go/gale-hw-ui
This color wasn't changed earlier as the change wasn't done in
the OS also. However, since we cannot change this later in FW
(but OS can change anytime), I am making this change after discussing
with the UX team.
BUG=b:31501528, b:31633562
TEST=Change the device state to 'recovery mode' to observe the new
color.
BRANCH=none
Change-Id: Ia91f14eb77492095cb41a9de0bb9790e72aa4851
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 36a3d8c6eabbc0b23d0a15d5bddc5ed3bdeebe70
Original-Change-Id: I88768b94cf91804a6005e44b1a168e059698ec4b
Original-Signed-off-by: Suresh Rajashekara <sureshraj(a)google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/388206
Original-Commit-Ready: Suresh Rajashekara <sureshraj(a)chromium.org>
Original-Tested-by: Suresh Rajashekara <sureshraj(a)chromium.org>
Original-Reviewed-by: Christopher Book <cbook(a)chromium.org>
Original-Reviewed-by: Kan Yan <kyan(a)google.com>
---
src/drivers/i2c/ww_ring/ww_ring_programs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/drivers/i2c/ww_ring/ww_ring_programs.c b/src/drivers/i2c/ww_ring/ww_ring_programs.c
index fb74a1b..0c70e10 100644
--- a/src/drivers/i2c/ww_ring/ww_ring_programs.c
+++ b/src/drivers/i2c/ww_ring/ww_ring_programs.c
@@ -170,8 +170,8 @@ static const TiLp55231Program blink_wipeout1_program = {
static const uint8_t blink_recovery1_text[] = {
0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x90, 0x02,
0x94, 0x02, 0x9f, 0x80, 0x98, 255, 0x84, 0x62,
- 0x9f, 0x81, 0x98, 50, 0x84, 0x62, 0x9f, 0x82,
- 0x98, 0, 0x84, 0x62, 0x4c, 0x00, 0x86, 0x2c,
+ 0x9f, 0x81, 0x98, 100, 0x84, 0x62, 0x9f, 0x82,
+ 0x98, 10, 0x84, 0x62, 0x4c, 0x00, 0x86, 0x2c,
0x40, 0x00, 0x9f, 0x81, 0x40, 0x00, 0x9f, 0x80,
0x40, 0x00, 0x4c, 0x00, 0x86, 0x49, 0xa0, 0x03,
0xc0, 0x00, 0xc0, 0x00, 0x00,
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16882
-gerrit
commit e3e5a5e1719aa02076bbca01805b1b91478b6b74
Author: Brian Norris <briannorris(a)chromium.org>
Date: Wed Sep 21 18:16:54 2016 -0700
google/gru: drive WLAN_MODULE_RST# low as early as possible
GPIO1_B3 (WLAN_MODULE_RST#) defaults as a pull-up input, but it is also
"pulled up" by 1.8V_WLAN. However, 1.8V_WLAN remains low for some time
during early boot. This leaves the signal floating somewhere in the
middle.
This has two potential issues:
(1) we're leaking some power for some (hopefully) short period of time
(2) we are possibly screwing with the Wifi power sequence; we aren't
supposed to deassert PDn (i.e., MODULE_RST#) until all the rails
have fully ramped for some period of time
Neither of the above issues are likely to be significant, but it is nice
to fix, I expect.
BRANCH=gru
BUG=chrome-os-partner:54026
TEST=measure WLAN_MODULE_RST# on scope at boot time
Change-Id: Ia6af9ad6954ad8feeda33015e3f205842380939e
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 0e890a2787bf034d3358a33fc88c2dd8078593ab
Original-Change-Id: I120e26ad0ca486a326874986e142dcaee965b62d
Original-Signed-off-by: Brian Norris <briannorris(a)chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/388009
Original-Reviewed-by: Douglas Anderson <dianders(a)chromium.org>
Original-Reviewed-by: Julius Werner <jwerner(a)chromium.org>
---
src/mainboard/google/gru/mainboard.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/mainboard/google/gru/mainboard.c b/src/mainboard/google/gru/mainboard.c
index 8b9f595..ae2c339 100644
--- a/src/mainboard/google/gru/mainboard.c
+++ b/src/mainboard/google/gru/mainboard.c
@@ -29,6 +29,16 @@
#include "board.h"
+/*
+ * Wifi's PDN/RST line is pulled down by its (unpowered) voltage rails, but
+ * this reset pin is pulled up by default. Let's drive it low as early as we
+ * can.
+ */
+static void deassert_wifi_power(void)
+{
+ gpio_output(GPIO(1, B, 3), 0); /* Assert WLAN_MODULE_RST# */
+}
+
static void configure_emmc(void)
{
/* Host controller does not support programmable clock generator.
@@ -236,6 +246,7 @@ static void setup_usb(void)
static void mainboard_init(device_t dev)
{
+ deassert_wifi_power();
configure_sdmmc();
configure_emmc();
configure_codec();
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16881
-gerrit
commit a545d910afa121beafb9a12ee6cad546792f70f5
Author: Furquan Shaikh <furquan(a)chromium.org>
Date: Thu Sep 29 19:37:49 2016 -0700
Revert "soc/intel/apollolake: Add pmc_ipc device support"
This reverts commit 28821dbb2261267462a7e9b0cc1c23b51af2d3ee.
(https://review.coreboot.org/16649)
This change causes the kernel to boot really slow. Maybe there is an
interrupt storm that prevents the kernel from making any
progress. Reverting until the proper kernel dependency is met.
BUG=chrome-os-partner:57364
BRANCH=None
TEST=Kernels boots to prompt fine on DVT.
Change-Id: I1c9913b4476a08303f9dd887b8631601c847dcf7
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: d7014ee1bb88df7a2d7f6b3dced797fef75b252d
Original-Change-Id: I061c0b03b43b516a190b370c04888e73a410fcf1
Original-Signed-off-by: Furquan Shaikh <furquan(a)chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/391233
Original-Reviewed-by: Duncan Laurie <dlaurie(a)google.com>
---
src/soc/intel/apollolake/acpi/pmc_ipc.asl | 57 ---------------------------
src/soc/intel/apollolake/acpi/southbridge.asl | 3 --
2 files changed, 60 deletions(-)
diff --git a/src/soc/intel/apollolake/acpi/pmc_ipc.asl b/src/soc/intel/apollolake/acpi/pmc_ipc.asl
deleted file mode 100644
index b89bebf..0000000
--- a/src/soc/intel/apollolake/acpi/pmc_ipc.asl
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2016 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.
- */
-
-#include <soc/iomap.h>
-
-#define MAILBOX_DATA 0x7080
-#define MAILBOX_INTF 0x7084
-#define PMIO_LENGTH 0x80
-
-Device (IPC1)
-{
- Name (_HID, "INT34D2")
- Name (_CID, "INT34D2")
- Name (_DDN, "Intel(R) IPC1 Controller")
- Name (RBUF, ResourceTemplate ()
- {
- Memory32Fixed (ReadWrite, 0x0, 0x2000, IBAR)
- Memory32Fixed (ReadWrite, 0x0, 0x4, MDAT)
- Memory32Fixed (ReadWrite, 0x0, 0x4, MINF)
- IO (Decode16, ACPI_PMIO_BASE, ACPI_PMIO_BASE + PMIO_LENGTH,
- 0x04, PMIO_LENGTH)
- Memory32Fixed (ReadWrite, 0x0, 0x2000, SBAR)
- Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , )
- {
- PMC_INT
- }
- })
-
- Method (_CRS, 0x0, NotSerialized)
- {
- CreateDwordField (^RBUF, ^IBAR._BAS, IBAS)
- Store (PMC_BAR0, IBAS)
-
- CreateDwordField (^RBUF, ^MDAT._BAS, MDBA)
- Store (MCH_BASE_ADDR + MAILBOX_DATA, MDBA)
- CreateDwordField (^RBUF, ^MINF._BAS, MIBA)
- Store (MCH_BASE_ADDR + MAILBOX_INTF, MIBA)
-
- CreateDwordField (^RBUF, ^SBAR._BAS, SBAS)
- Store (PMC_SRAM_BASE_0, SBAS)
-
- Return (^RBUF)
- }
-}
diff --git a/src/soc/intel/apollolake/acpi/southbridge.asl b/src/soc/intel/apollolake/acpi/southbridge.asl
index f2b09c7..1c10f1a 100644
--- a/src/soc/intel/apollolake/acpi/southbridge.asl
+++ b/src/soc/intel/apollolake/acpi/southbridge.asl
@@ -40,9 +40,6 @@ Scope (\_SB)
#include "xhci.asl"
-/* PMC IPC */
-#include "pmc_ipc.asl"
-
/* LPC */
#include "lpc.asl"
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16701
-gerrit
commit bef71b6fc97936211505b6264c7bb4874ec565c3
Author: Simon Glass <sjg(a)chromium.org>
Date: Sat Aug 27 15:03:02 2016 -0600
spi: Add a way to show SPI transfer speed for reads
SPI read speed directly impacts boot time and we do quite a lot of
reading.
Add a way to easily find out the speed of SPI flash reads within
coreboot.
Write speed is less important since there are very few writes and they
are small.
BUG=chrome-os-partner:56556
BRANCH=none
TEST=run on gru with SPI_SPEED_DEBUG set to 1. See the output messages:
read SPI 627d4 7d73: 18455 us, 1740 KB/s, 13.920 Mbps
Change-Id: Id3814bd2b7bd045cdfcc67eb1fabc861bf9ed3b2
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 82cb93f6be47efce3b0a3843bab89d2381baef89
Original-Change-Id: Iec66f5b8e3ad62f14d836a538dc7801e4ca669e7
Original-Signed-off-by: Simon Glass <sjg(a)chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/376944
Original-Commit-Ready: Julius Werner <jwerner(a)chromium.org>
Original-Tested-by: Simon Glass <sjg(a)google.com>
Original-Reviewed-by: Julius Werner <jwerner(a)chromium.org>
---
src/drivers/spi/cbfs_spi.c | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/src/drivers/spi/cbfs_spi.c b/src/drivers/spi/cbfs_spi.c
index 1895b9d..46e7346 100644
--- a/src/drivers/spi/cbfs_spi.c
+++ b/src/drivers/spi/cbfs_spi.c
@@ -23,14 +23,44 @@
#include <spi_flash.h>
#include <symbols.h>
#include <cbmem.h>
+#include <timer.h>
static struct spi_flash *spi_flash_info;
+/*
+ * Set this to 1 to debug SPI speed, 0 to disable it
+ * The format is:
+ *
+ * read SPI 62854 7db7: 10416 us, 3089 KB/s, 24.712 Mbps
+ *
+ * The important number is the last one. It should roughly match your SPI
+ * clock. If it doesn't, your driver might need a little tuning.
+ */
+#define SPI_SPEED_DEBUG 0
+
static ssize_t spi_readat(const struct region_device *rd, void *b,
size_t offset, size_t size)
{
+ struct stopwatch sw;
+ bool show = SPI_SPEED_DEBUG && size >= 4 * KiB;
+
+ if (show)
+ stopwatch_init(&sw);
if (spi_flash_info->read(spi_flash_info, offset, size, b))
return -1;
+ if (show) {
+ long usecs;
+
+ usecs = stopwatch_duration_usecs(&sw);
+ u64 speed; /* KiB/s */
+ int bps; /* Bits per second */
+
+ speed = (u64)size * 1000 / usecs;
+ bps = speed * 8;
+
+ printk(BIOS_DEBUG, "read SPI %#zx %#zx: %ld us, %lld KB/s, %d.%03d Mbps\n",
+ offset, size, usecs, speed, bps / 1000, bps % 1000);
+ }
return size;
}
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16720
-gerrit
commit 092200099e112292ff0ecdffdb7434de18e05b07
Author: Lin Huang <hl(a)rock-chips.com>
Date: Tue Aug 30 15:34:42 2016 -0700
google/gru: pass apio number to arm-trust-firmware
for save power consumption, some gpio2 ~ gpio4 need to
set to input and pull none mode. It depend on these gpio
should shut down there power supply, so pass apio number
to ATF, to decide which gpio need to config.
BRANCH=None
BUG=chrome-os-partner:56423
TEST=run suspend_stress_test on kevin board
Change-Id: Id57fe8f622ae3f9c2bc7e58be89518b2b846cd37
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 9c42082d1ca9a6baa735821382d3e83c1f8dc9ad
Original-Change-Id: Iaf441e8e34c5591ffe7c65f6533fcf0b733ff5ac
Original-Signed-off-by: Lin Huang <hl(a)rock-chips.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/378475
Original-Commit-Ready: Caesar Wang <wxt(a)rock-chips.com>
Original-Tested-by: Caesar Wang <wxt(a)rock-chips.com>
Original-Reviewed-by: Julius Werner <jwerner(a)chromium.org>
---
src/mainboard/google/gru/mainboard.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/src/mainboard/google/gru/mainboard.c b/src/mainboard/google/gru/mainboard.c
index 902228b..8b9f595 100644
--- a/src/mainboard/google/gru/mainboard.c
+++ b/src/mainboard/google/gru/mainboard.c
@@ -43,6 +43,23 @@ static void configure_emmc(void)
rkclk_configure_emmc();
}
+static void register_apio_suspend(void)
+{
+ static struct bl31_apio_param param_apio = {
+ .h = {
+ .type = PARAM_SUSPEND_APIO,
+ },
+ .apio = {
+ .apio1 = 1,
+ .apio2 = 1,
+ .apio3 = 1,
+ .apio4 = 1,
+ .apio5 = 1,
+ },
+ };
+ register_bl31_param(¶m_apio.h);
+}
+
static void register_gpio_suspend(void)
{
/*
@@ -227,6 +244,7 @@ static void mainboard_init(device_t dev)
register_reset_to_bl31();
register_poweroff_to_bl31();
register_gpio_suspend();
+ register_apio_suspend();
}
static void enable_backlight_booster(void)
the following patch was just integrated into master:
commit 52669fc4dc4ab38e9ca61d65487fdfb809d3dd3d
Author: Simon Glass <sjg(a)chromium.org>
Date: Mon Sep 5 11:04:50 2016 -0600
rockchip: spi: Set rxd sample delay when using high speed
At higher SPI bus speeds the SPI RX value is not available in time for
sampling at the normal time. Add a delay to ensure that we read the
correct data.
The value of 40ns is chosen arbitrarily. In my testing I can use a sample
delay of 1 even at 24MHz. But since it is not necessary, I have left that
case alone. It kicks in at 25MHz and up.
BUG=chrome-os-partner:56556
BRANCH=none
TEST=boot on gru and see no change at current speed
Change-Id: I3ef335d9a532eaef1e76034bd02e185acf11176a
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: e9b620c47fc3e39211487507fadb8657afdebee7
Original-Change-Id: I65d66d752cbbbee4d02f475de23a52069a0e9782
Original-Signed-off-by: Simon Glass <sjg(a)chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/381311
Original-Commit-Ready: Julius Werner <jwerner(a)chromium.org>
Original-Tested-by: Simon Glass <sjg(a)google.com>
Original-Reviewed-by: Julius Werner <jwerner(a)chromium.org>
Reviewed-on: https://review.coreboot.org/16707
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See https://review.coreboot.org/16707 for details.
-gerrit
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16882
-gerrit
commit eedcf7d3b6b5138b9e35e3c689875978b1428d13
Author: Brian Norris <briannorris(a)chromium.org>
Date: Wed Sep 21 18:16:54 2016 -0700
google/gru: drive WLAN_MODULE_RST# low as early as possible
GPIO1_B3 (WLAN_MODULE_RST#) defaults as a pull-up input, but it is also
"pulled up" by 1.8V_WLAN. However, 1.8V_WLAN remains low for some time
during early boot. This leaves the signal floating somewhere in the
middle.
This has two potential issues:
(1) we're leaking some power for some (hopefully) short period of time
(2) we are possibly screwing with the Wifi power sequence; we aren't
supposed to deassert PDn (i.e., MODULE_RST#) until all the rails
have fully ramped for some period of time
Neither of the above issues are likely to be significant, but it is nice
to fix, I expect.
BRANCH=gru
BUG=chrome-os-partner:54026
TEST=measure WLAN_MODULE_RST# on scope at boot time
Change-Id: Ia6af9ad6954ad8feeda33015e3f205842380939e
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 0e890a2787bf034d3358a33fc88c2dd8078593ab
Original-Change-Id: I120e26ad0ca486a326874986e142dcaee965b62d
Original-Signed-off-by: Brian Norris <briannorris(a)chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/388009
Original-Reviewed-by: Douglas Anderson <dianders(a)chromium.org>
Original-Reviewed-by: Julius Werner <jwerner(a)chromium.org>
---
src/mainboard/google/gru/mainboard.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/mainboard/google/gru/mainboard.c b/src/mainboard/google/gru/mainboard.c
index 8b9f595..ae2c339 100644
--- a/src/mainboard/google/gru/mainboard.c
+++ b/src/mainboard/google/gru/mainboard.c
@@ -29,6 +29,16 @@
#include "board.h"
+/*
+ * Wifi's PDN/RST line is pulled down by its (unpowered) voltage rails, but
+ * this reset pin is pulled up by default. Let's drive it low as early as we
+ * can.
+ */
+static void deassert_wifi_power(void)
+{
+ gpio_output(GPIO(1, B, 3), 0); /* Assert WLAN_MODULE_RST# */
+}
+
static void configure_emmc(void)
{
/* Host controller does not support programmable clock generator.
@@ -236,6 +246,7 @@ static void setup_usb(void)
static void mainboard_init(device_t dev)
{
+ deassert_wifi_power();
configure_sdmmc();
configure_emmc();
configure_codec();