[coreboot] Patch set updated for coreboot: 4f9b473 import SPL files for board_i2c_{claim, release}_bus()
David Hendricks (dhendrix@chromium.org)
gerrit at coreboot.org
Fri Dec 28 02:49:00 CET 2012
David Hendricks (dhendrix at chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2081
-gerrit
commit 4f9b473b5f6aa11670dc1355713df62cde32850d
Author: David Hendricks <dhendrix at chromium.org>
Date: Thu Dec 27 15:11:27 2012 -0800
import SPL files for board_i2c_{claim,release}_bus()
This imports SPL (second phase loader) files from U-Boot. Most of the
content of these files will eventually go away since they're fairly
U-Boot specific. For now they are here to make Jenkins happy.
Change-Id: Ib3a365ecb9dc304b20f7c1c06665aad2c0c53e69
Signed-off-by: David Hendricks <dhendrix at chromium.org>
---
src/cpu/samsung/exynos5-common/spl.h | 4 ++++
src/mainboard/google/snow/smdk5250_spl.c | 35 ++++++++++++++++++++++++++++++--
2 files changed, 37 insertions(+), 2 deletions(-)
diff --git a/src/cpu/samsung/exynos5-common/spl.h b/src/cpu/samsung/exynos5-common/spl.h
index afa9a8e..439e1b0 100644
--- a/src/cpu/samsung/exynos5-common/spl.h
+++ b/src/cpu/samsung/exynos5-common/spl.h
@@ -91,4 +91,8 @@ struct spl_machine_param *spl_get_machine_params(void);
*/
void spl_early_init(void);
+/* FIXME(dhendrix): for early i2c init */
+void board_i2c_release_bus(int node);
+int board_i2c_claim_bus(int node);
+
#endif /* __ASM_ARCH_EXYNOS_SPL_H__ */
diff --git a/src/mainboard/google/snow/smdk5250_spl.c b/src/mainboard/google/snow/smdk5250_spl.c
index 204e411..19d8610 100644
--- a/src/mainboard/google/snow/smdk5250_spl.c
+++ b/src/mainboard/google/snow/smdk5250_spl.c
@@ -24,8 +24,12 @@
#define SIGNATURE 0xdeadbeef
/* Parameters of early board initialization in SPL */
-static struct spl_machine_param machine_param
- __attribute__((section(".machine_param"))) = {
+/* FIXME(dhendrix): does this really need to be in a particular section?
+ * I suspect in U-boot's case the section attribute was needed for global
+ * data. */
+//static struct spl_machine_param machine_param
+// __attribute__((section(".machine_param"))) = {
+static struct spl_machine_param machine_param = {
.signature = SIGNATURE,
.version = 1,
.params = "vmubfasirMw",
@@ -65,6 +69,18 @@ struct spl_machine_param *spl_get_machine_params(void)
return &machine_param;
}
+#if 0
+int board_get_revision(void)
+{
+ struct spl_machine_param *params = spl_get_machine_params();
+ unsigned gpio[CONFIG_BOARD_REV_GPIO_COUNT];
+
+ gpio[0] = params->board_rev_gpios & 0xffff;
+ gpio[1] = params->board_rev_gpios >> 16;
+ return gpio_decode_number(gpio, CONFIG_BOARD_REV_GPIO_COUNT);
+}
+#endif
+
int board_wakeup_permitted(void)
{
struct spl_machine_param *param = spl_get_machine_params();
@@ -76,3 +92,18 @@ int board_wakeup_permitted(void)
return !is_bad_wake;
}
+
+/*
+ * TODO(sjg at chromium.org):
+ * Declared there here for SPL, since there is no core i2c subsystem and
+ * cmd_i2c.c is not included.
+ */
+void board_i2c_release_bus(int node)
+{
+}
+
+int board_i2c_claim_bus(int node)
+{
+ /* EC is not allowed to touch the bus until we enter U-Boot */
+ return 0;
+}
More information about the coreboot
mailing list