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) {
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to