dev: gcdb: extend fastboot oem support for dual DSI cases

Add change to support dual DSI setup via fastboot oem command.
Introduce two flags "prim" and "sec" to specify the primary
and secondary panels separately in case of dual DSI use cases.
Add validity checks to take care of various error and corner
cases related to this. The panel strings will be passed to
display drivers in kernel via command line. Based on the two
DSI panel strings, the DSI configuration (dual/split/single)
will be decided and passed to kernel via command line.

Default:
fastboot oem select-display-panel jdi_1080p_video

Dual DSI:
fastboot oem select-display-panel prim:jdi_1080p_video:sec:sharp_1080p_cmd
fastboot oem select-display-panel prim:jdi_1080p_video:skip:sec:sharp_1080p_cmd
fastboot oem select-display-panel prim:jdi_1080p_video:disable:sec:sharp_1080p_cmd
fastboot oem select-display-panel prim:jdi_1080p_video:skip#sim:sec:sharp_1080p_cmd

Passing only secondary panel:
fastboot oem select-display-panel sec:sharp_1080p_cmd
(The default panel will be picked as primary)

Change-Id: Ie0df852c252caac698250f47f27a4623dc57787d
diff --git a/dev/gcdb/display/gcdb_display.h b/dev/gcdb/display/gcdb_display.h
index 5a5f3ed..0f38d5e 100755
--- a/dev/gcdb/display/gcdb_display.h
+++ b/dev/gcdb/display/gcdb_display.h
@@ -43,6 +43,8 @@
 #define BIST_SIZE 6
 #define LANE_SIZE 45
 
+#define DSI_CFG_SIZE 15
+
 /*---------------------------------------------------------------------------*/
 /* API                                                                       */
 /*---------------------------------------------------------------------------*/
@@ -66,9 +68,11 @@
 
 struct oem_panel_data  {
 	char panel[MAX_PANEL_ID_LEN];
+	char sec_panel[MAX_PANEL_ID_LEN];
 	bool cont_splash;
 	bool skip;
 	uint32_t sim_mode;
+	char dsi_config[DSI_CFG_SIZE];
 };
 
 #endif /*_GCDB_DISPLAY_H_ */