the following patch was just integrated into master:
commit 6e301c3e0d4fbd9044fbe6914cf9b420d86b48f3
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Mon Feb 24 22:27:39 2014 -0600
coreboot: introduce arch_payload_run()
The selfboot() function relied on global variables
within the selfboot.c compilation unit. Now that the
bounce buffer is a part of struct payload use a new
architecture-specific arch_payload_run() function
for jumping to the payload. selfboot() can then be
removed.
Change-Id: Icec74942e94599542148561b3311ce5096ac5ea5
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
See http://review.coreboot.org/5300 for details.
-gerrit
the following patch was just integrated into master:
commit 70ba6a72a3688ef69a52a28fa35642476039594d
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Mon Feb 24 22:11:45 2014 -0600
selfboot: store bounce buffer in struct payload
In order to break the dependency on selfboot for jumping to
payload the bounce buffer location needs to be communicated.
Therefore, add the bounce buffer to struct payload.
Change-Id: I9d9396e5c5bfba7a63940227ee0bdce6cba39578
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
See http://review.coreboot.org/5299 for details.
-gerrit
the following patch was just integrated into master:
commit 7763c681b8da894e58a489cbaaa3e5bfada9765b
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Mon Feb 24 21:50:24 2014 -0600
coreboot: use struct payload for selfload()
In order to encapsulate more data for self loading use struct
payload as the type. That way modifications to what is needed
for payload loading does not introduce more global variables.
Change-Id: I5b8facd7881e397ca7de1c04cec747fc1dce2d5f
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
See http://review.coreboot.org/5298 for details.
-gerrit
the following patch was just integrated into master:
commit 42ece05cc7936ce6fcd8858ef498b57cc917e602
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Mon Feb 24 21:24:28 2014 -0600
coreboot: move common code to payload_run() from selfboot()
The selfboot() routine was perfoming most of the common teardown
and stack checking infrastructure. Move that code into
payload_run() to prepare removal of the selfboot() function.
Change-Id: I29f2a5cfcc692f7a0fe2656cb1cda18158c49c6e
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
See http://review.coreboot.org/5297 for details.
-gerrit
the following patch was just integrated into master:
commit dc11a0df45e9d0ab5ea32dc121a45e664e7f00d0
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Mon Feb 24 14:56:34 2014 -0600
coreboot: unify infrastructure for loading payloads
A payload can be loaded either from a vboot region or from cbfs.
Provide a common place for choosing where the payload is loaded
from. Additionally, place the logic in the 'loaders' directory
similarly to the ramstage loader infrastructure.
Change-Id: I6b0034ea5ebd04a3d058151819ac77a126a6bfe2
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
See http://review.coreboot.org/5296 for details.
-gerrit
Vladimir Serbinenko (phcoder(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5324
-gerrit
commit 60d4c9a30a845b5efe041c7b9c06769f9ad73351
Author: Vladimir Serbinenko <phcoder(a)gmail.com>
Date: Mon Mar 3 00:44:38 2014 +0100
apple/macbook21: Fix audio.
Change-Id: I0bb939ac377f84431d871b702fdb42651e9a2e96
Signed-off-by: Vladimir Serbinenko <phcoder(a)gmail.com>
---
src/mainboard/apple/macbook21/devicetree.cb | 2 +-
src/mainboard/apple/macbook21/hda_verb.h | 93 +++++++++++++++++++++++++++++
src/mainboard/apple/macbook21/mainboard.c | 6 ++
3 files changed, 100 insertions(+), 1 deletion(-)
diff --git a/src/mainboard/apple/macbook21/devicetree.cb b/src/mainboard/apple/macbook21/devicetree.cb
index d7814f4..66e5fa4 100644
--- a/src/mainboard/apple/macbook21/devicetree.cb
+++ b/src/mainboard/apple/macbook21/devicetree.cb
@@ -71,7 +71,7 @@ chip northbridge/intel/i945
register "c4onc3_enable" = "1"
device pci 1b.0 on # Audio Cnotroller
- subsystemid 0x17aa 0x2010
+ subsystemid 0x8384 0x7680
end
device pci 1c.0 on end # Ethernet
device pci 1c.1 on end # Atheros WLAN
diff --git a/src/mainboard/apple/macbook21/hda_verb.h b/src/mainboard/apple/macbook21/hda_verb.h
new file mode 100644
index 0000000..4e1687d
--- /dev/null
+++ b/src/mainboard/apple/macbook21/hda_verb.h
@@ -0,0 +1,93 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Vladimir Serbinenko.
+ *
+ * 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,
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static const u32 mainboard_cim_verb_data[] = {
+ /* coreboot specific header */
+ 0x83847680, /* Codec Vendor / Device ID: SigmaTel STAC9221 A1 */
+ 0x106b2200, /* Subsystem ID */
+ 0x0000000B, /* Number of 4 dword sets */
+
+ /* NID 0x01: Subsystem ID. */
+ 0x00172000,
+ 0x00172122,
+ 0x0017226B,
+ 0x00172310,
+
+ /* NID 0x0A. */
+ 0x00A71C1F,
+ 0x00A71DE2,
+ 0x00A71E21,
+ 0x00A71F03,
+
+ /* NID 0x0B. */
+ 0x00B71C2E,
+ 0x00B71DE0,
+ 0x00B71EA1,
+ 0x00B71F03,
+
+ /* NID 0x0C. */
+ 0x00C71C10,
+ 0x00C71DE1,
+ 0x00C71E17,
+ 0x00C71F90,
+
+ /* NID 0x0D. */
+ 0x00D71C1F,
+ 0x00D71DE1,
+ 0x00D71E17,
+ 0x00D71F90,
+
+ /* NID 0x0E. */
+ 0x00E71CFE,
+ 0x00E71D00,
+ 0x00E71E00,
+ 0x00E71F40,
+
+ /* NID 0x0F */
+ 0x00F71C20,
+ 0x00F71DE0,
+ 0x00F71E81,
+ 0x00F71F03,
+
+ /* NID 0x10 */
+ 0x01071C30,
+ 0x01071DE2,
+ 0x01071E45,
+ 0x01071F13,
+
+ /* NID 0x11 */
+ 0x01171C40,
+ 0x01171DE2,
+ 0x01171EC5,
+ 0x01171F13,
+
+ /* NID 0x15 */
+ 0x01571CFC,
+ 0x01571D00,
+ 0x01571E00,
+ 0x01571F40,
+
+ /* NID 0x1B. */
+ 0x01B71CFB,
+ 0x01B71D00,
+ 0x01B71E00,
+ 0x01B71F40,
+
+};
diff --git a/src/mainboard/apple/macbook21/mainboard.c b/src/mainboard/apple/macbook21/mainboard.c
index 6bd3aec..9a025dd 100644
--- a/src/mainboard/apple/macbook21/mainboard.c
+++ b/src/mainboard/apple/macbook21/mainboard.c
@@ -34,8 +34,12 @@
#include <arch/x86/include/arch/acpigen.h>
#include <smbios.h>
#include <x86emu/x86emu.h>
+#include "hda_verb.h"
#define PANEL INT15_5F35_CL_DISPLAY_DEFAULT
+extern const u32 *cim_verb_data;
+extern u32 cim_verb_data_size;
+
#if CONFIG_PCI_OPTION_ROM_RUN_YABEL || CONFIG_PCI_OPTION_ROM_RUN_REALMODE
static int int15_handler(void)
{
@@ -83,6 +87,8 @@ static void mainboard_init(device_t dev)
static void mainboard_enable(device_t dev)
{
dev->ops->init = mainboard_init;
+ cim_verb_data = mainboard_cim_verb_data;
+ cim_verb_data_size = sizeof(mainboard_cim_verb_data);
}
struct chip_operations mainboard_ops = {