rush: Add devicetree selection to FIT image

Use board ID to select 'nvidia,norrin' DT for Rush.

BUG=None
BRANCH=None
TEST=Built and booted on Rush, saw 'nvidia,norrin' selected and
kernel booted to command prompt OK.

Change-Id: Id7248df937648dab0ac52eddda9b83b2d942953a
Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-on: https://chromium-review.googlesource.com/217836
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/src/board/rush/board.c b/src/board/rush/board.c
index f13ba13..e1b1880 100644
--- a/src/board/rush/board.c
+++ b/src/board/rush/board.c
@@ -30,6 +30,7 @@
 #include "config.h"
 #include "drivers/bus/spi/tegra.h"
 #include "drivers/bus/i2c/tegra.h"
+#include "drivers/bus/usb/usb.h"
 #include "drivers/gpio/sysinfo.h"
 #include "drivers/gpio/tegra.h"
 #include "drivers/dma/tegra_apb.h"
@@ -38,7 +39,10 @@
 #include "drivers/tpm/tpm.h"
 #include "drivers/storage/tegra_mmc.h"
 #include "drivers/ec/cros/spi.h"
-#include "drivers/bus/usb/usb.h"
+
+enum {
+	BOARD_ID_PROTO_0 = 0x0A,
+};
 
 enum {
 	CLK_RST_BASE = 0x60006000,
@@ -95,10 +99,24 @@
 	return power;
 }
 
+static void choose_devicetree_by_boardid(void)
+{
+        switch(lib_sysinfo.board_id) {
+        case BOARD_ID_PROTO_0:
+                fit_override_kernel_compat("nvidia,norrin");
+                break;
+        default:
+                printf("Unknown board id: %x\n", lib_sysinfo.board_id);
+                break;
+        }
+}
+
 static int board_setup(void)
 {
 	sysinfo_install_flags();
 
+        choose_devicetree_by_boardid();
+
 	void *dma_channel_bases[32];
 	for (int i = 0; i < ARRAY_SIZE(dma_channel_bases); i++)
 		dma_channel_bases[i] = (void *)((unsigned long)0x60021000 + 0x40 * i);