Vladimir Serbinenko (phcoder(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6651
-gerrit
commit 80f0679181d765590f4331c61fbc31dcfcda87f5
Author: Vladimir Serbinenko <phcoder(a)gmail.com>
Date: Wed Aug 13 23:04:46 2014 +0200
lenovo/x200: Fix black screen on quick boot.
Otherwise without USB when coreboot boots too quickly
EC is confused and thinks that LID is closed and so
powers off the backlight until user flaps the lid.
Change-Id: I14dfaa62582de83fd4c9f9518e9436b3a3035366
Signed-off-by: Vladimir Serbinenko <phcoder(a)gmail.com>
---
src/mainboard/lenovo/x200/devicetree.cb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mainboard/lenovo/x200/devicetree.cb b/src/mainboard/lenovo/x200/devicetree.cb
index f46bf35..278b464 100644
--- a/src/mainboard/lenovo/x200/devicetree.cb
+++ b/src/mainboard/lenovo/x200/devicetree.cb
@@ -156,7 +156,7 @@ chip northbridge/intel/gm45
end
register "config0" = "0xa6"
- register "config1" = "0x05"
+ register "config1" = "0x04"
register "config2" = "0xa0"
register "config3" = "0x01"
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4552
-gerrit
commit b2d9fd52510b2d15ea197760165bbb06e0b9c9c5
Author: Patrick Georgi <patrick(a)georgi-clan.de>
Date: Sat Dec 21 21:39:37 2013 +0100
libpayload: Add ARM defconfig
make junit.xml tries to build it, but fails
(ARM port doesn't seem to be ready?)
Useful test case to demonstrate a failing
libpayload build.
Change-Id: Iba4fe551b48f631e6a3bd90eb07930fc70761332
Signed-off-by: Patrick Georgi <patrick(a)georgi-clan.de>
---
payloads/libpayload/configs/defconfig-arm | 72 +++++++++++++++++++++++++++++++
1 file changed, 72 insertions(+)
diff --git a/payloads/libpayload/configs/defconfig-arm b/payloads/libpayload/configs/defconfig-arm
new file mode 100644
index 0000000..ac074c1
--- /dev/null
+++ b/payloads/libpayload/configs/defconfig-arm
@@ -0,0 +1,72 @@
+#
+# Automatically generated make config: don't edit
+# libpayload version: 0.2.0
+# Sat Dec 21 21:38:06 2013
+#
+
+#
+# Generic Options
+#
+# CONFIG_EXPERIMENTAL is not set
+# CONFIG_OBSOLETE is not set
+# CONFIG_DEVELOPER is not set
+# CONFIG_CHROMEOS is not set
+
+#
+# Architecture Options
+#
+CONFIG_ARCH_ARMV7=y
+# CONFIG_ARCH_X86 is not set
+# CONFIG_MEMMAP_RAM_ONLY is not set
+
+#
+# Standard Libraries
+#
+CONFIG_LIBC=y
+CONFIG_CURSES=y
+CONFIG_TINYCURSES=y
+# CONFIG_PDCURSES is not set
+CONFIG_CBFS=y
+CONFIG_LZMA=y
+
+#
+# Console Options
+#
+# CONFIG_SKIP_CONSOLE_INIT is not set
+CONFIG_CBMEM_CONSOLE=y
+CONFIG_SERIAL_CONSOLE=y
+# CONFIG_SERIAL_SET_SPEED is not set
+# CONFIG_SERIAL_ACS_FALLBACK is not set
+CONFIG_VIDEO_CONSOLE=y
+# CONFIG_COREBOOT_VIDEO_CONSOLE is not set
+CONFIG_PC_KEYBOARD=y
+CONFIG_PC_KEYBOARD_LAYOUT_US=y
+# CONFIG_PC_KEYBOARD_LAYOUT_DE is not set
+
+#
+# Drivers
+#
+# CONFIG_RTC_PORT_EXTENDED_VIA is not set
+CONFIG_STORAGE=y
+# CONFIG_STORAGE_64BIT_LBA is not set
+CONFIG_STORAGE_ATA=y
+CONFIG_STORAGE_ATAPI=y
+CONFIG_USB=y
+CONFIG_USB_OHCI=y
+CONFIG_USB_EHCI=y
+CONFIG_USB_XHCI=y
+CONFIG_USB_HID=y
+CONFIG_USB_HUB=y
+CONFIG_USB_MSC=y
+CONFIG_USB_GEN_HUB=y
+# CONFIG_USB_PCI is not set
+CONFIG_USB_MEMORY=y
+CONFIG_USB_OHCI_BASE_ADDRESS=0x12120000
+CONFIG_USB_EHCI_BASE_ADDRESS=0x12110000
+CONFIG_USB_XHCI_BASE_ADDRESS=0x12000000
+# CONFIG_BIG_ENDIAN is not set
+CONFIG_LITTLE_ENDIAN=y
+# CONFIG_IO_ADDRESS_SPACE is not set
+CONFIG_ARCH_SPECIFIC_OPTIONS=y
+CONFIG_COREBOOT_INFO_RANGE_BASE=0x10
+CONFIG_COREBOOT_INFO_RANGE_SIZE=0x4000000
the following patch was just integrated into master:
commit 755615a12310469b34fc4804bcf2622eb587949c
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Wed Aug 28 16:29:40 2013 -0700
exynos5420: Enable relocatable module support
Since we're now supporting ARMv7 relocations, we can enable
rmodule support on Exynos 5420. This does not automatically
enable relocatable ramstage.
Signed-off-by: Stefan Reinauer <reinauer(a)google.com>
Change-Id: Ic3af1eabb3b816944587a46409224f778d941b8a
Reviewed-on: https://chromium-review.googlesource.com/167403
Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
Tested-by: Stefan Reinauer <reinauer(a)google.com>
Commit-Queue: Stefan Reinauer <reinauer(a)google.com>
(cherry picked from commit 7b5afef4ee87fc3245ec887dfda873c529d8d04d)
Signed-off-by: Isaac Christensen <isaac.christensen(a)se-eng.com>
Reviewed-on: http://review.coreboot.org/6629
Tested-by: build bot (Jenkins)
Reviewed-by: David Hendricks <dhendrix(a)chromium.org>
See http://review.coreboot.org/6629 for details.
-gerrit
Isaac Christensen (isaac.christensen(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6650
-gerrit
commit 89848e3bcb4a7d997b15d795741a9438f6207a03
Author: Julius Werner <jwerner(a)chromium.org>
Date: Thu Sep 19 20:15:45 2013 -0700
exynos5420: Don't map low addresses that lead nowhere
I just spent half a day (including the time to implement a stack dumper)
to figure out that I am reading from a NULL pointer. A problem this
simple should be more easy to catch. Let's mark the address range below
SRAM as uncached so that the MMU can yell at you right away for being
the bad programmer you are when you access a NULL pointer.
Change-Id: I4a3a13f75bf21b25732be2ecb69d47503eff1b53
Signed-off-by: Julius Werner <jwerner(a)chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/170112
Reviewed-by: Ronald Minnich <rminnich(a)chromium.org>
(cherry picked from commit 7316732ea0ccdc0d607bde81dbb38ca9abd29fa9)
Signed-off-by: Isaac Christensen <isaac.christensen(a)se-eng.com>
---
src/cpu/samsung/exynos5420/bootblock.c | 4 ++--
src/cpu/samsung/exynos5420/cpu.h | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/cpu/samsung/exynos5420/bootblock.c b/src/cpu/samsung/exynos5420/bootblock.c
index 2c42b03..97e85f1 100644
--- a/src/cpu/samsung/exynos5420/bootblock.c
+++ b/src/cpu/samsung/exynos5420/bootblock.c
@@ -24,7 +24,7 @@
#include "cpu.h"
/* convenient shorthand (in MB) */
-#define SRAM_START (0x02020000 >> 20)
+#define SRAM_START (EXYNOS5_SRAM_BASE >> 20)
#define SRAM_SIZE 1
#define SRAM_END (SRAM_START + SRAM_SIZE) /* plus one... */
@@ -43,7 +43,7 @@ void bootblock_cpu_init(void)
/* set up dcache and MMU */
mmu_init();
- mmu_config_range(0, SRAM_START, DCACHE_OFF);
+ mmu_disable_range(0, SRAM_START);
mmu_config_range(SRAM_START, SRAM_SIZE, DCACHE_WRITEBACK);
mmu_config_range(SRAM_END, 4096 - SRAM_END, DCACHE_OFF);
dcache_mmu_enable();
diff --git a/src/cpu/samsung/exynos5420/cpu.h b/src/cpu/samsung/exynos5420/cpu.h
index e3c7f1b..847800d 100644
--- a/src/cpu/samsung/exynos5420/cpu.h
+++ b/src/cpu/samsung/exynos5420/cpu.h
@@ -22,6 +22,8 @@
#include <arch/io.h>
+#define EXYNOS5_SRAM_BASE 0x02020000
+
/* Base address registers */
#define EXYNOS5420_GPIO_PART6_BASE 0x03860000 /* Z0 */
#define EXYNOS5_PRO_ID 0x10000000
Isaac Christensen (isaac.christensen(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6648
-gerrit
commit 8dc136a6facf546c0e7c3ea0a4ed09369ef55ddd
Author: Gabe Black <gabeblack(a)google.com>
Date: Wed Sep 18 05:37:20 2013 -0700
libpayload: Add in a missing "static".
The readwrite_chunk was private to the usb mass storage driver, but wasn't
marked as static which was upsetting the compiler.
Change-Id: I0ef5c5f96a29f793dd43ff672a939902bad13c45
Signed-off-by: Gabe Black <gabeblack(a)google.com>
Reviewed-on: https://chromium-review.googlesource.com/169816
Reviewed-by: Julius Werner <jwerner(a)chromium.org>
Commit-Queue: Gabe Black <gabeblack(a)chromium.org>
Tested-by: Gabe Black <gabeblack(a)chromium.org>
(cherry picked from commit 8140e6145b3d072b7f12a924418570022207c065)
Signed-off-by: Isaac Christensen <isaac.christensen(a)se-eng.com>
---
payloads/libpayload/drivers/usb/usbmsc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/payloads/libpayload/drivers/usb/usbmsc.c b/payloads/libpayload/drivers/usb/usbmsc.c
index 1f8c551..464d73d 100644
--- a/payloads/libpayload/drivers/usb/usbmsc.c
+++ b/payloads/libpayload/drivers/usb/usbmsc.c
@@ -365,7 +365,7 @@ readwrite_blocks_512 (usbdev_t *dev, int start, int n,
* @param buf buffer to read into or write from. Must be at least n*sectorsize bytes
* @return 0 on success, 1 on failure
*/
-int
+static int
readwrite_chunk (usbdev_t *dev, int start, int n, cbw_direction dir, u8 *buf)
{
cmdblock_t cb;
Isaac Christensen (isaac.christensen(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6647
-gerrit
commit 20deceff32f25b583253148ea9ad8f8ba40cea5b
Author: Shawn Nematbakhsh <shawnn(a)chromium.org>
Date: Thu Sep 12 18:23:09 2013 -0700
libpayload: Reduce media init timeout to 5 seconds.
Currently, we wait for up to 30 seconds for a device to become ready to
respond to a TEST_UNIT_READY command. In practice, all media devices become
ready much sooner. But, certain devices do not function with libpayload's
USB driver, and always timeout. To provide a better user experience when
booting with such devices, reduce the timeout to 5 seconds.
Change-Id: Icceab99fa266cdf441847627087eaa5de9b88ecc
Signed-off-by: Shawn Nematbakhsh <shawnn(a)chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/169209
(cherry picked from commit 9e55204e92adca0476d273565683f211d6803e7a)
Signed-off-by: Isaac Christensen <isaac.christensen(a)se-eng.com>
---
payloads/libpayload/drivers/usb/usbmsc.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/payloads/libpayload/drivers/usb/usbmsc.c b/payloads/libpayload/drivers/usb/usbmsc.c
index f68bee5..1f8c551 100644
--- a/payloads/libpayload/drivers/usb/usbmsc.c
+++ b/payloads/libpayload/drivers/usb/usbmsc.c
@@ -539,8 +539,10 @@ usb_msc_test_unit_ready (usbdev_t *dev)
int i;
time_t start_time_secs;
struct timeval tv;
- /* SCSI/ATA specs say we have to wait up to 30s. Ugh */
- const int timeout_secs = 30;
+ /* SCSI/ATA specs say we have to wait up to 30s, but most devices
+ * are ready much sooner. Use a 5 sec timeout to better accomodate
+ * devices which fail to respond. */
+ const int timeout_secs = 5;
usb_debug (" Waiting for device to become ready...");