|
@@ -104,125 +104,6 @@
|
|
|
#define MAX_CNT 0xFF
|
|
|
#define HAD_SUSPEND_DELAY 1000
|
|
|
|
|
|
-#define OTM_HDMI_ELD_SIZE 128
|
|
|
-
|
|
|
-union otm_hdmi_eld_t {
|
|
|
- unsigned char eld_data[OTM_HDMI_ELD_SIZE];
|
|
|
- struct {
|
|
|
- /* Byte[0] = ELD Version Number */
|
|
|
- union {
|
|
|
- unsigned char byte0;
|
|
|
- struct {
|
|
|
- unsigned char reserved:3; /* Reserf */
|
|
|
- unsigned char eld_ver:5; /* ELD Version Number */
|
|
|
- /* 00000b - reserved
|
|
|
- * 00001b - first rev, obsoleted
|
|
|
- * 00010b - version 2, supporting CEA version
|
|
|
- * 861D or below
|
|
|
- * 00011b:11111b - reserved
|
|
|
- * for future
|
|
|
- */
|
|
|
- };
|
|
|
- };
|
|
|
-
|
|
|
- /* Byte[1] = Vendor Version Field */
|
|
|
- union {
|
|
|
- unsigned char vendor_version;
|
|
|
- struct {
|
|
|
- unsigned char reserved1:3;
|
|
|
- unsigned char veld_ver:5; /* Version number of the ELD
|
|
|
- * extension. This value is
|
|
|
- * provisioned and unique to
|
|
|
- * each vendor.
|
|
|
- */
|
|
|
- };
|
|
|
- };
|
|
|
-
|
|
|
- /* Byte[2] = Baseline Length field */
|
|
|
- unsigned char baseline_eld_length; /* Length of the Baseline structure
|
|
|
- * divided by Four.
|
|
|
- */
|
|
|
-
|
|
|
- /* Byte [3] = Reserved for future use */
|
|
|
- unsigned char byte3;
|
|
|
-
|
|
|
- /* Starting of the BaseLine EELD structure
|
|
|
- * Byte[4] = Monitor Name Length
|
|
|
- */
|
|
|
- union {
|
|
|
- unsigned char byte4;
|
|
|
- struct {
|
|
|
- unsigned char mnl:5;
|
|
|
- unsigned char cea_edid_rev_id:3;
|
|
|
- };
|
|
|
- };
|
|
|
-
|
|
|
- /* Byte[5] = Capabilities */
|
|
|
- union {
|
|
|
- unsigned char capabilities;
|
|
|
- struct {
|
|
|
- unsigned char hdcp:1; /* HDCP support */
|
|
|
- unsigned char ai_support:1; /* AI support */
|
|
|
- unsigned char connection_type:2; /* Connection type
|
|
|
- * 00 - HDMI
|
|
|
- * 01 - DP
|
|
|
- * 10 -11 Reserved
|
|
|
- * for future
|
|
|
- * connection types
|
|
|
- */
|
|
|
- unsigned char sadc:4; /* Indicates number of 3 bytes
|
|
|
- * Short Audio Descriptors.
|
|
|
- */
|
|
|
- };
|
|
|
- };
|
|
|
-
|
|
|
- /* Byte[6] = Audio Synch Delay */
|
|
|
- unsigned char audio_synch_delay; /* Amount of time reported by the
|
|
|
- * sink that the video trails audio
|
|
|
- * in milliseconds.
|
|
|
- */
|
|
|
-
|
|
|
- /* Byte[7] = Speaker Allocation Block */
|
|
|
- union {
|
|
|
- unsigned char speaker_allocation_block;
|
|
|
- struct {
|
|
|
- unsigned char flr:1; /*Front Left and Right channels*/
|
|
|
- unsigned char lfe:1; /*Low Frequency Effect channel*/
|
|
|
- unsigned char fc:1; /*Center transmission channel*/
|
|
|
- unsigned char rlr:1; /*Rear Left and Right channels*/
|
|
|
- unsigned char rc:1; /*Rear Center channel*/
|
|
|
- unsigned char flrc:1; /*Front left and Right of Center
|
|
|
- *transmission channels
|
|
|
- */
|
|
|
- unsigned char rlrc:1; /*Rear left and Right of Center
|
|
|
- *transmission channels
|
|
|
- */
|
|
|
- unsigned char reserved3:1; /* Reserved */
|
|
|
- };
|
|
|
- };
|
|
|
-
|
|
|
- /* Byte[8 - 15] - 8 Byte port identification value */
|
|
|
- unsigned char port_id_value[8];
|
|
|
-
|
|
|
- /* Byte[16 - 17] - 2 Byte Manufacturer ID */
|
|
|
- unsigned char manufacturer_id[2];
|
|
|
-
|
|
|
- /* Byte[18 - 19] - 2 Byte Product ID */
|
|
|
- unsigned char product_id[2];
|
|
|
-
|
|
|
- /* Byte [20-83] - 64 Bytes of BaseLine Data */
|
|
|
- unsigned char mn_sand_sads[64]; /* This will include
|
|
|
- * - ASCII string of Monitor name
|
|
|
- * - List of 3 byte SADs
|
|
|
- * - Zero padding
|
|
|
- */
|
|
|
-
|
|
|
- /* Vendor ELD Block should continue here!
|
|
|
- * No Vendor ELD block defined as of now.
|
|
|
- */
|
|
|
- } __packed;
|
|
|
-};
|
|
|
-
|
|
|
enum had_drv_status {
|
|
|
HAD_DRV_CONNECTED,
|
|
|
HAD_DRV_RUNNING,
|