--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -144,6 +144,18 @@ void __init device_tree_init(void)
 
 	unflatten_and_copy_device_tree();
 }
+
+int board_of_device_present(const char *alias)
+{
+	bool present;
+	struct device_node *np;
+
+	np = of_find_node_by_path(alias);
+	present = of_device_is_available(np);
+	of_node_put(np);
+
+	return present;
+}
 #endif
 
 static struct gpio_led_platform_data bcm63xx_led_data;
--- a/arch/mips/bcm63xx/boards/board_common.h
+++ b/arch/mips/bcm63xx/boards/board_common.h
@@ -15,4 +15,13 @@ void board_bcm963xx_init(void);
 static inline void board_bcm963xx_init(void) { }
 #endif
 
+#if defined(CONFIG_OF)
+int board_of_device_present(const char *alias);
+#else
+static inline void board_of_device_present(const char *alias)
+{
+	return 0;
+}
+#endif
+
 #endif /* __BOARD_COMMON_H */
