diff options
-rw-r--r-- | platforms/astbmc/mowgli.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/platforms/astbmc/mowgli.c b/platforms/astbmc/mowgli.c index b31a656..9bfe7a4 100644 --- a/platforms/astbmc/mowgli.c +++ b/platforms/astbmc/mowgli.c @@ -31,6 +31,24 @@ static const struct slot_table_entry mowgli_phb_table[] = { { .etype = st_end }, }; +/* + * HACK: Hostboot doesn't export the correct data for the system VPD EEPROM + * for this system. So we need to work around it here. + */ +static void vpd_dt_fixup(void) +{ + struct dt_node *n = dt_find_by_path(dt_root, + "/xscom@603fc00000000/i2cm@a2000/i2c-bus@0/eeprom@50"); + + if (n) { + dt_check_del_prop(n, "compatible"); + dt_add_property_string(n, "compatible", "atmel,24c512"); + + dt_check_del_prop(n, "label"); + dt_add_property_string(n, "label", "system-vpd"); + } +} + static bool mowgli_probe(void) { if (!dt_node_is_compatible(dt_root, "ibm,mowgli")) @@ -42,6 +60,8 @@ static bool mowgli_probe(void) /* Setup UART for use by OPAL (Linux hvc) */ uart_set_console_policy(UART_CONSOLE_OPAL); + vpd_dt_fixup(); + slot_table_init(mowgli_phb_table); return true; |