[Skiboot] [PATCH 02/13] i2c: Workaround bad clock-frequency property from HostBoot
Jeremy Kerr
jk at ozlabs.org
Fri Feb 27 20:11:06 AEDT 2015
From: Benjamin Herrenschmidt <benh at kernel.crashing.org>
The cell clock is 50Mhz on P8, not 600Mhz ! Remove this when HB has
been fixed.
Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Signed-off-by: Jeremy Kerr <jk at ozlabs.org>
---
hw/p8-i2c.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/hw/p8-i2c.c b/hw/p8-i2c.c
index 061bdaf..52b9489 100644
--- a/hw/p8-i2c.c
+++ b/hw/p8-i2c.c
@@ -1173,6 +1173,12 @@ static void p8_i2c_init_one(struct dt_node *i2cm, enum p8_i2c_master_type type)
/* Local bus speed in Hz */
lb_freq = dt_prop_get_u32(i2cm, "clock-frequency");
+ /* XXX HACK for bad HB value */
+ if (lb_freq == 600000000) {
+ prlog(PR_ERR, "I2C: Fixing up HB bad clock freq !\n");
+ lb_freq = 50000000;
+ }
+
/* Initialise the i2c master structure */
master->state = state_idle;
master->chip_id = dt_get_chip_id(i2cm);
More information about the Skiboot
mailing list