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

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
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -294,6 +294,7 @@ config BMIPS_GENERIC
	select HARDIRQS_SW_RESEND
	select HAVE_PCI
	select PCI_DRIVERS_GENERIC
	select FW_CFE
	help
	  Build a generic DT-based kernel image that boots on select
	  BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top
+13 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
#include <asm/smp-ops.h>
#include <asm/time.h>
#include <asm/traps.h>
#include <asm/fw/cfe/cfe_api.h>

#define RELO_NORMAL_VEC		BIT(18)

@@ -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)
{
	bmips_init_cfe();
	bmips_cpu_setup();
	register_bmips_smp_ops();
}
@@ -165,7 +177,7 @@ void __init plat_mem_setup(void)
		dtb = get_fdt();

	if (!dtb)
		panic("no dtb found");
		cfe_die("no dtb found");

	__dt_setup_arch(dtb);