diff options
Diffstat (limited to 'cras/src/common/edid_utils.h')
-rw-r--r-- | cras/src/common/edid_utils.h | 204 |
1 files changed, 0 insertions, 204 deletions
diff --git a/cras/src/common/edid_utils.h b/cras/src/common/edid_utils.h deleted file mode 100644 index b43a6bc8..00000000 --- a/cras/src/common/edid_utils.h +++ /dev/null @@ -1,204 +0,0 @@ -// Copyright (c) 2010 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef __EDID_UTILS_H__ -#define __EDID_UTILS_H__ - -#include "stdio.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* These match the EDID encoding for Standard Timing block */ -#define ASPECT_16_10 0 -#define ASPECT_4_3 1 -#define ASPECT_5_4 2 -#define ASPECT_16_9 3 -#define N_ASPECTS 4 - -/* Defines based on EDID and CEA-861D descriptions */ -#define EDID_HDR 0 -#define EDID_MFG_EID 0x8 -#define EDID_MFG_PROD_LO 0x0A -#define EDID_MFG_PROD_HI 0x0B -#define EDID_MFG_SERIAL 0x0C -#define EDID_MFG_WEEK 0x10 -#define EDID_MFG_YEAR 0x11 -#define EDID_VERSION 0x12 -#define EDID_REVISION 0x13 -#define EDID_VIDEO_IN 0x14 -#define EDID_MAX_HSIZE 0x15 -#define EDID_MAX_VSIZE 0x16 -#define EDID_GAMMA 0x17 -#define EDID_FEATURES 0x18 - -#define EDID_ESTTIME1 0x23 -#define EDID_ESTTIME2 0x24 -#define EDID_MFGTIME 0x25 -/* Next two repeat 8 times for standard timings 1-8 */ -#define EDID_STDTIMEH 0x26 -#define EDID_STDTIMEV 0x27 -#define EDID_N_STDTIME 8 - -/* There are 4 DTD blocks in the EDID */ -#define EDID_DTD_BASE 0x36 -#define EDID_N_DTDS 4 - -#define EDID_EXT_FLAG 0x7E -#define EDID_CSUM 0x7F -#define EDID_SIZE 0x80 - -#define EEXT_TAG 0 -#define EEXT_REV 1 -#define EEXT_SIZE 0x80 - -#define EEDID_SIZE (EDID_SIZE + EEXT_SIZE) - -/* 2 byte standard timing structure */ -#define STDTIME_HBASE 248 -#define STDTIME_HMULT 8 -#define STDTIME_VASPECT_SHIFT 6 -#define STDTIME_VREFMINUS60_MASK 0x3f -#define STDTIME_SIZE 2 - -/* 18 byte DTD structure */ -#define DTD_PCLK_LO 0 -#define DTD_PCLK_HI 1 -#define DTD_HA_LO 2 -#define DTD_HBL_LO 3 -#define DTD_HABL_HI 4 -#define DTD_VA_LO 5 -#define DTD_VBL_LO 6 -#define DTD_VABL_HI 7 -#define DTD_HSO_LO 8 -#define DTD_HSW_LO 9 -#define DTD_VSX_LO 10 -#define DTD_HVSX_HI 11 -#define DTD_HSIZE_LO 12 -#define DTD_VSIZE_LO 13 -#define DTD_HVSIZE_HI 14 -#define DTD_HBORDER 15 -#define DTD_VBORDER 16 -#define DTD_FLAGS 17 -#define DTD_SIZE 18 - -/* These apply when PCLK is zero */ -#define DTD_TYPETAG 3 -#define DTD_STRING 5 -#define DTD_MINV_HZ 5 -#define DTD_MAXV_HZ 6 -#define DTD_MINH_kHZ 7 -#define DTD_MAXH_kHZ 8 -#define DTD_MAXCLK_100kHZ 9 - -/* Types in the TYPETAG field */ -#define DTDTYPE_MANUF 0x0f -#define DTDTYPE_STDTIME 0xfa -#define DTDTYPE_COLPOINT 0xfb -#define DTDTYPE_NAME 0xfc -#define DTDTYPE_LIMITS 0xfd -#define DTDTYPE_STRING 0xfe -#define DTDTYPE_SERIAL 0xff - -/* This is the CEA extension version 3 */ -#define CEA_TAG 0 -#define CEA_REV 1 -#define CEA_DTD_OFFSET 2 -/* Next two are low nibble, high nibble of same byte */ -#define CEA_NATIVE_DTDS 3 -#define CEA_SUPPORT 3 -#define CEA_DBC_START 4 -/* Last DBC is at [CEA_DTD_OFFSET]-1, first DTD is at [CEA_DTD_OFFSET] */ -/* Padding needs min of two (gives PCLK=00 in DTD) */ -#define CEA_LAST_PAD 125 -#define CEA_END_PAD 126 -#define CEA_CHECKSUM 127 - -/* Data Block Collections */ -/* Same byte: upper 3 bits tag, low five length */ -#define DBC_TAG_LENGTH 0 -#define DBC_LEN_MASK 0x1f -#define DBC_TAG_SHIFT 5 -#define DBC_ETAG 1 - -#define DBCA_FORMAT 0 -#define DBCA_RATE 1 -#define DBCA_INFO 2 -#define DBCA_SIZE 3 - -#define DBCA_FMT_LPCM 1 - -#define DBCV_CODE 0 -#define DBCV_SIZE 1 - -#define DBCVND_IEEE_LO 0 -#define DBCVND_IEEE_MID 1 -#define DBCVND_IEEE_HI 2 - -#define DBCVHDMI_CEC_LO 3 -#define DBCVHDMI_CEC_HI 4 -#define DBCVHDMI_SUPPORT 5 -#define DBCVHDMI_MAXTMDS_5MHz 6 -#define DBCVHDMI_LATFLAGS 7 -#define DBCVHDMI_VLAT 8 -#define DBCVHDMI_ALAT 9 -#define DBCVHDMI_IVLAT 10 -#define DBCVHDMI_IALAT 11 - -#define DBCSP_ALLOC 0 -#define DBCSP_SIZE 3 - -#define DBC_TAG_AUDIO 1 -#define DBC_TAG_VIDEO 2 -#define DBC_TAG_VENDOR 3 -#define DBC_TAG_SPEAKER 4 -#define DBC_TAG_VESA 5 -#define DBC_TAG_EXTENDED 7 - -#define DBC_ETAG_VCDB 0 -#define DBC_ETAG_VENDOR_VDB 1 -#define DBC_ETAG_COL 5 - -#define VCDB_TAG 0 -#define VCDB_ETAG 1 -#define VCDB_FLAGS 2 -#define VCDB_S_PT(x) (((x)&0x30) >> 4) -#define VCDB_S_IT(x) (((x)&0x0C) >> 2) -#define VCDB_S_CE(x) (((x)&0x03)) - -#define COL_TAG 0 -#define COL_ETAG 1 -#define COL_FLAGS 2 -#define COL_META 3 - -/* Number of test EDID arrays available to get/show_test_edid */ -#define N_TEST_EDIDS 6 - -int edid_valid(const unsigned char *edid_data); -int edid_has_hdmi_info(const unsigned char *edid_data, int ext); -int edid_lpcm_support(const unsigned char *edid_data, int ext); -void show_edid_data(FILE *outfile, unsigned char *edid_data, int items, - int base); -void show_edid(FILE *outfile, unsigned char *edid_data, int ext); -int find_aspect(int h, int v); -int find_aspect_fromisize(unsigned char *edid_data); -extern char *aspect_to_str[]; -int get_test_edid(int n, unsigned char *dst); -int show_test_edid(FILE *outfile, int n); - -/* Gets monitor name from EDID. - * Args: - * edid_data - EDID data. - * buf - buffer to store monitor name. - * buf_size - buffer size. - */ -int edid_get_monitor_name(const unsigned char *edid_data, char *buf, - unsigned int buf_size); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif |