<div dir="ltr">It is also interesting that I have forced the EDID by specifying the drm_kms_helper.edid_firmware=edid/ktc_edid.bin in the kernel command line, and dw_hdmi is still convinced it has no audio, nor HDMI.<br><font size="2"></font><br><pre><font size="2">[  223.043957] dwhdmi-imx 120000.hdmi: Detected HDMI TX controller v1.30a with HDCP (DWC HDMI 3D TX PHY)<br>[  223.047497] hdmi_set_clk_regenerator:521: dwhdmi-imx 120000.hdmi: hdmi_set_clk_regenerator: fs=48000Hz ftdms=74.250MHz N=6144 cts=74250<br>[  223.048323] dw_hdmi_irq:2146: dwhdmi-imx 120000.hdmi: EVENT=plugin<br>[  223.055143] imx-drm display-subsystem: bound 120000.hdmi (ops dw_hdmi_imx_ops [dw_hdmi_imx])<br>[  223.057152] [drm] Got external EDID base block and 1 extension from "edid/ktc_edid.bin" for connector "HDMI-A-1"<br>[  223.080466] dw_hdmi_setup:1679: dwhdmi-imx 120000.hdmi: Non-CEA mode used in HDMI<br>[  223.080501] hdmi_av_composer:1495: dwhdmi-imx 120000.hdmi: final pixclk = 65000000<br>[  223.080552] dw_hdmi_phy_power_off:1096: dwhdmi-imx 120000.hdmi: PHY powered down in 0 iterations<br>[  223.091885] dw_hdmi_phy_power_on:1133: dwhdmi-imx 120000.hdmi: PHY PLL locked 1 iterations<br>[  223.091910] dw_hdmi_phy_power_off:1096: dwhdmi-imx 120000.hdmi: PHY powered down in 0 iterations<br>[  223.103160] dw_hdmi_phy_power_on:1133: dwhdmi-imx 120000.hdmi: PHY PLL locked 1 iterations<br><br></font></pre><pre><font size="2">-->Here:<br></font></pre><pre><font size="2">[  223.103193] dw_hdmi_setup:1744: dwhdmi-imx 120000.hdmi: dw_hdmi_setup DVI mode<br>[  223.140906] Console: switching to colour frame buffer device 128x48<br>[  223.152326] imx-drm display-subsystem: fb0:  frame buffer device<br>[  223.185475] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 1<br>[  224.226887] [drm] Got external EDID base block and 1 extension from "edid/ktc_edid.bin" for connector "HDMI-A-1"</font><br><br></pre></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 7, 2017 at 8:38 AM, Luís Mendes <span dir="ltr"><<a href="mailto:luis.p.mendes@gmail.com" target="_blank">luis.p.mendes@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div></div><div>It is interesting that xf86-video-armada is able to get the EDID data, also if I run get-edid from the command line I get:</div><div>#sudo get-edid > tv.edid<br></div><div>This is read-edid version 3.0.2. Prepare for some fun.<br>Attempting to use i2c interface<br>No EDID on bus 0<br>No EDID on bus 2<br>1 potential busses found: 1<br>256-byte EDID successfully retrieved from i2c bus 1<br>Looks like i2c was successful. Have a good day.<br></div><div><br></div><div>parse-edid shows that the read data is from the TV and is correct.<br></div><div><br></div><div>Fabio prepared the DTS files and they look correct too, that is:<br></div>imx6qdl-wandboard.dtsi<br>...<br></div>&hdmi {<br></div>    ddc-i2c-bus = <&i2c1>;<br></div>    status = "okay";<br>}<br>...<br><br></div>Could it be that EDID is being read before i2c is initialized? Or a bug in dw-hdmi?<br><br></div>Anyway wouldn't it make sense to add a kernel parameter has_audio={-1,0,1}?<br></div>-1 = auto<br></div>0 = force no audio<br></div>1 = force audio<br><br></div>Then if the user has a kernel command line like: video=HDMI-A-1:1024x768M@60 dw_hdmi.has_audio=1, then:<br></div>1 - dw_hdmi should accept there is a HDMI connection despite it is unable to read the EDID, because video=HDMI-A-1<br></div>2 - since dw_hdmi.has_audio=1 then audio and HDMI should be enabled.<br><div><div><div><div class="gmail_extra"><br></div><div class="gmail_extra">What do you think? Does it make sense for me do create a patch for this?<br></div><div><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 6, 2017 at 11:46 PM, Russell King - ARM Linux <span dir="ltr"><<a href="mailto:linux@armlinux.org.uk" target="_blank">linux@armlinux.org.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_-5894771257596241458gmail-">On Mon, Nov 06, 2017 at 11:33:18PM +0000, Luís Mendes wrote:<br>
> I've enable dynamic debug in the kernel module and got this log below.<br>
> Is it my impression or dw_hdmi goes into DVI mode because is unable to get<br>
> edid, which is why I don't get sound?<br>
> According to the module code in dw_hdmi_connector_get_modes of dw-hdmi.c:<br>
> hdmi->sink_is_hdmi and hdmi->sink_has_audio is only set when EDID can be<br>
> read via I2C DDC.<br>
<br>
</span>Yep, that'll be it then.  I think you need to solve the EDID reading<br>
first.  I'd say, check your pinmux settings.<br>
<br>
If you're using a normal I2C controller rather than dw-hdmi's built-in<br>
DDC, then (iirc) you need different pinmux settings - at least on<br>
imx6q/d/sl that's the case.<br>
<div class="m_-5894771257596241458gmail-HOEnZb"><div class="m_-5894771257596241458gmail-h5"><br>
--<br>
RMK's Patch system: <a href="http://www.armlinux.org.uk/developer/patches/" rel="noreferrer" target="_blank">http://www.armlinux.org.uk/dev<wbr>eloper/patches/</a><br>
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up<br>
According to <a href="http://speedtest.net" rel="noreferrer" target="_blank">speedtest.net</a>: 8.21Mbps down 510kbps up<br>
</div></div></blockquote></div><br></div></div></div></div></div></div></div>
</blockquote></div><br></div>