--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1014,6 +1014,10 @@ int __init board_register_devices(void)
 		platform_device_register(&bcm63xx_gpio_buttons_device);
 	}
 
+	if (board.num_devs) {
+		platform_add_devices(board.devs, board.num_devs);
+	}
+
 	return 0;
 }
 
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -59,6 +59,10 @@ struct board_info {
 
 	/* Buttons */
 	struct gpio_button buttons[2];
+
+	/* Additional platform devices */
+	struct platform_device **devs;
+	unsigned int	num_devs;
 };
 
 #endif /* ! BOARD_BCM963XX_H_ */
