Add board ids for Optimus Prime and Sideswipe Prime

Define board ids for Optimus Prime and Sideswipe Prime. Map these board
ids to the Optimus public rsa key for secure boot purposes. Define
signatures (OPTIMUS_PRIME_BOARD_ID_OTP) to be stored in the OTP memory.

Change-Id: Ib459ddd62810a4a2ef433e82a2575badadb4978c
diff --git a/arch/arm/boards/optimus/optimus.c b/arch/arm/boards/optimus/optimus.c
index 004fca8..dba5967 100644
--- a/arch/arm/boards/optimus/optimus.c
+++ b/arch/arm/boards/optimus/optimus.c
@@ -289,6 +289,12 @@
 			case SPACECAST_BOARD_ID_OTP:
 				return SPACECAST_BOARD_ID;
 
+			case OPTIMUS_PRIME_BOARD_ID_OTP:
+				return OPTIMUS_PRIME_BOARD_ID;
+
+			case SIDESWIPE_PRIME_BOARD_ID_OTP:
+				return SIDESWIPE_PRIME_BOARD_ID;
+
 			default:
 				printf("Invalid board ID (OTP): 0x%08x\n", board_id_otp);
 			}
diff --git a/commands/otp_key.c b/commands/otp_key.c
index 09cce55..5cb46ab 100644
--- a/commands/otp_key.c
+++ b/commands/otp_key.c
@@ -402,6 +402,10 @@
 		board_id_otp = SIDESWIPE_BOARD_ID_OTP;
 	} else if (board_id == SPACECAST_BOARD_ID) {
 		board_id_otp = SPACECAST_BOARD_ID_OTP;
+	} else if (board_id == OPTIMUS_PRIME_BOARD_ID) {
+		board_id_otp = OPTIMUS_PRIME_BOARD_ID_OTP;
+	} else if (board_id == SIDESWIPE_PRIME_BOARD_ID) {
+		board_id_otp = SIDESWIPE_PRIME_BOARD_ID_OTP;
 	} else {
 		printf("Unsupported board: %d\n", board_id);
 		return 1;
diff --git a/include/board_id.h b/include/board_id.h
index ce36517..ea62e14 100644
--- a/include/board_id.h
+++ b/include/board_id.h
@@ -4,10 +4,16 @@
 #define OPTIMUS_BOARD_ID	0
 #define SIDESWIPE_BOARD_ID	1
 #define SPACECAST_BOARD_ID	2
+#define UNASSIGNED_BOARD_ID	3
+#define OPTIMUS_PRIME_BOARD_ID	4
+#define SIDESWIPE_PRIME_BOARD_ID	5
 
 #define OPTIMUS_BOARD_ID_OTP	(1 << OPTIMUS_BOARD_ID)
 #define SIDESWIPE_BOARD_ID_OTP	(1 << SIDESWIPE_BOARD_ID)
 #define SPACECAST_BOARD_ID_OTP	(1 << SPACECAST_BOARD_ID)
+#define UNASSIGNED_BOARD_ID_OTP	(1 << UNASSIGNED_BOARD_ID)
+#define OPTIMUS_PRIME_BOARD_ID_OTP	(1 << OPTIMUS_PRIME_BOARD_ID)
+#define SIDESWIPE_PRIME_BOARD_ID_OTP	(1 << SIDESWIPE_PRIME_BOARD_ID)
 
 int get_board_id(void);
 int get_board_id_gpio(void);
diff --git a/lib/rsa/rsa_public_keys.c b/lib/rsa/rsa_public_keys.c
index 871aac6..84e8660 100644
--- a/lib/rsa/rsa_public_keys.c
+++ b/lib/rsa/rsa_public_keys.c
@@ -9,6 +9,9 @@
 	0, /* OPTIMUS_BOARD_ID */
 	0, /* SIDESWIPE_BOARD_ID */
 	1, /* SPACECAST_BOARD_ID */
+	-1, /* UNASSIGNED_BOARD_ID */
+	0, /* OPTIMUS_PRIME_BOARD_ID */
+	0, /* SIDESWIPE_PRIME_BOARD_ID */
 };
 
 /*