From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> --- tools/intel_bios.h | 8 ++++++++ tools/intel_bios_reader.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/tools/intel_bios.h b/tools/intel_bios.h index 64e723d..cd6abf9 100644 --- a/tools/intel_bios.h +++ b/tools/intel_bios.h @@ -134,6 +134,14 @@ struct bdb_general_features { #define GPIO_PIN_ADD_DDC 0x04 /* "ADDCARD DDC GPIO pins" */ #define GPIO_PIN_ADD_DDC_I2C 0x06 /* "ADDCARD DDC/I2C GPIO pins" */ +#define DEVICE_HANDLE_CRT 0x01 +#define DEVICE_HANDLE_EFP1 0x04 +#define DEVICE_HANDLE_EFP2 0x40 +#define DEVICE_HANDLE_EFP3 0x20 +#define DEVICE_HANDLE_EFP4 0x10 +#define DEVICE_HANDLE_LPF1 0x08 +#define DEVICE_HANDLE_LFP2 0x80 + /* Pre 915 */ #define DEVICE_TYPE_NONE 0x00 #define DEVICE_TYPE_CRT 0x01 diff --git a/tools/intel_bios_reader.c b/tools/intel_bios_reader.c index bb6139e..19c988b 100644 --- a/tools/intel_bios_reader.c +++ b/tools/intel_bios_reader.c @@ -255,6 +255,32 @@ static const char *child_device_type(unsigned short type) } static const struct { + unsigned char handle; + const char *name; +} child_device_handles[] = { + { DEVICE_HANDLE_CRT, "CRT" }, + { DEVICE_HANDLE_EFP1, "EFP 1 (HDMI/DVI/DP)" }, + { DEVICE_HANDLE_EFP2, "EFP 2 (HDMI/DVI/DP)" }, + { DEVICE_HANDLE_EFP3, "EFP 3 (HDMI/DVI/DP)" }, + { DEVICE_HANDLE_EFP4, "EFP 4 (HDMI/DVI/DP)" }, + { DEVICE_HANDLE_LPF1, "LFP 1 (eDP)" }, + { DEVICE_HANDLE_LFP2, "LFP 2 (eDP)" }, +}; +static const int num_child_device_handles = + sizeof(child_device_handles) / sizeof(child_device_handles[0]); + +static const char *child_device_handle(unsigned char handle) +{ + int i; + + for (i = 0; i < num_child_device_handles; i++) + if (child_device_handles[i].handle == handle) + return child_device_handles[i].name; + + return "unknown"; +} + +static const struct { unsigned short type; const char *name; } efp_ports[] = { @@ -324,6 +350,8 @@ static void dump_child_device(struct child_device_config *child) struct efp_child_device_config *efp = (struct efp_child_device_config *)child; printf("\tEFP device info:\n"); + printf("\t\tDevice handle: 0x%04x (%s)\n", efp->handle, + child_device_handle(efp->handle)); printf("\t\tDevice type: 0x%04x (%s)\n", efp->device_type, child_device_type(efp->device_type)); printf("\t\tPort: 0x%02x (%s)\n", efp->port, -- 2.4.6 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx