Date: Thu, 24 Nov 2016 01:24:26 +0000 (UTC) From: Emmanuel Vadot <manu@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r309079 - head/sys/arm/allwinner Message-ID: <201611240124.uAO1OQqT055761@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: manu Date: Thu Nov 24 01:24:26 2016 New Revision: 309079 URL: https://svnweb.freebsd.org/changeset/base/309079 Log: Enable the SCL and SDA i2c line for DDC. This is an undocumented register that we need to set if we do not want to rely on u-boot or other bootloader. Modified: head/sys/arm/allwinner/a10_hdmi.c Modified: head/sys/arm/allwinner/a10_hdmi.c ============================================================================== --- head/sys/arm/allwinner/a10_hdmi.c Thu Nov 24 00:49:00 2016 (r309078) +++ head/sys/arm/allwinner/a10_hdmi.c Thu Nov 24 01:24:26 2016 (r309079) @@ -189,6 +189,9 @@ __FBSDID("$FreeBSD$"); #define DDC_ADDR 0x50 #define EDDC_ADDR 0x60 #define EDID_LENGTH 128 +#define DDC_CTRL_LINE 0x540 +#define DDC_LINE_SCL_ENABLE (1 << 8) +#define DDC_LINE_SDA_ENABLE (1 << 9) #define HDMI_ENABLE_DELAY 50000 #define DDC_READ_RETRY 4 #define EXT_TAG 0x00 @@ -494,6 +497,10 @@ a10hdmi_get_edid(device_t dev, uint8_t * /* Configure DDC clock */ HDMI_WRITE(sc, DDC_CLOCK, DDC_CLOCK_M | DDC_CLOCK_N); + /* Enable SDA/SCL */ + HDMI_WRITE(sc, DDC_CTRL_LINE, + DDC_LINE_SCL_ENABLE | DDC_LINE_SDA_ENABLE); + /* Read EDID block */ error = a10hdmi_ddc_read(sc, 0, sc->edid); if (error == 0) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201611240124.uAO1OQqT055761>