netbsd man page for ddc

Query: ddc

OS: netbsd

Section: 9

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

DDC(9)							   BSD Kernel Developer's Manual						    DDC(9)

NAME
ddc -- VESA Display Data Channel V2
SYNOPSIS
#include <dev/i2c/ddcvar.h> int ddc_read_edid(i2c_tag_t tag, uint8_t *dest, size_t len);
DESCRIPTION
The ddc_read_edid() reads a VESA Extended Display Identification Data block (EDID) via VESA Display Data Channel (DDCv2). DDCv2 is a proto- col for data exchange between display devices (such as monitors and flat panels) and host machines using an I2C bus. The tag argument is a machine-dependent tag used to specify the I2C bus on which the DDCv2 device is located. The dest argument is a pointer to a buffer where the EDID data will be stored. The len argument is the amount of data to read into the buffer. (The buffer must be large enough.) Typically, this value will be 128, which is the size of a normal EDID data block. Normally the EDID data block will be post-processed with the edid_parse() function.
RETURN VALUES
The ddc_read_edid() function returns zero on success, and non-zero otherwise.
ENVIRONMENT
The ddc_read_edid() function is part of the ddc(4) driver, and is only included in the kernel if that driver is also included.
EXAMPLES
The following code uses ddc_read_edid() to retrieve and print information about a monitor: struct edid_info info; i2c_tag_t tag; char buffer[128]; ... /* initialize i2c tag... */ ... if ((ddc_read_edid(tag, buffer, 128) == 0) && (edid_parse(buffer, &info) == 0)) edid_print(info); ... Note that this must be called before the PCI bus is attached during autoconfiguration.
SEE ALSO
ddc(4), edid(9), iic(9)
HISTORY
DDCv2 support was added in NetBSD 4.0.
AUTHORS
Garrett D'Amore <gdamore@NetBSD.org>
BSD
May 11, 2006 BSD
Related Man Pages
i2c(8) - freebsd
get-edid(1) - debian
iic(4) - debian
i2c_register_board_info(9) - suse
edid(9) - netbsd
Similar Topics in the Unix Linux Community
read-edid 1.4.2 (Default branch)
read-edid 2.0.0 (Default branch)