Commit 466ab2ea authored by Florian Fainelli's avatar Florian Fainelli Committed by Thomas Bogendoerfer

MIPS: BMIPS: Utilize cfe_die() for invalid DTB

If we were not specified a correct DTB, we will not be able to print
anything useful with panic() which requires a working console of some
sort. Utilize cfe_die() to callback into the CFE default UART and print
some useful diagnostics.
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent c059ee9d
...@@ -294,6 +294,7 @@ config BMIPS_GENERIC ...@@ -294,6 +294,7 @@ config BMIPS_GENERIC
select HARDIRQS_SW_RESEND select HARDIRQS_SW_RESEND
select HAVE_PCI select HAVE_PCI
select PCI_DRIVERS_GENERIC select PCI_DRIVERS_GENERIC
select FW_CFE
help help
Build a generic DT-based kernel image that boots on select Build a generic DT-based kernel image that boots on select
BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include <asm/smp-ops.h> #include <asm/smp-ops.h>
#include <asm/time.h> #include <asm/time.h>
#include <asm/traps.h> #include <asm/traps.h>
#include <asm/fw/cfe/cfe_api.h>
#define RELO_NORMAL_VEC BIT(18) #define RELO_NORMAL_VEC BIT(18)
...@@ -123,8 +124,19 @@ static const struct bmips_quirk bmips_quirk_list[] = { ...@@ -123,8 +124,19 @@ static const struct bmips_quirk bmips_quirk_list[] = {
{ }, { },
}; };
static void __init bmips_init_cfe(void)
{
cfe_seal = fw_arg3;
if (cfe_seal != CFE_EPTSEAL)
return;
cfe_init(fw_arg0, fw_arg2);
}
void __init prom_init(void) void __init prom_init(void)
{ {
bmips_init_cfe();
bmips_cpu_setup(); bmips_cpu_setup();
register_bmips_smp_ops(); register_bmips_smp_ops();
} }
...@@ -165,7 +177,7 @@ void __init plat_mem_setup(void) ...@@ -165,7 +177,7 @@ void __init plat_mem_setup(void)
dtb = get_fdt(); dtb = get_fdt();
if (!dtb) if (!dtb)
panic("no dtb found"); cfe_die("no dtb found");
__dt_setup_arch(dtb); __dt_setup_arch(dtb);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment