[coreboot] Patch set updated for coreboot: 3f79f9a import SPL files for board_i2c_{claim, release}_bus()

David Hendricks (dhendrix@chromium.org) gerrit at coreboot.org
Mon Dec 31 03:54:16 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 3f79f9ad182cfd9f640e8fa9dfe51f44823ce968
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