On Mon, Jun 9, 2014 at 7:29 AM, Fabio Estevam festevam@gmail.com wrote:
On Mon, Jun 9, 2014 at 11:06 AM, Russell King - ARM Linux linux@arm.linux.org.uk wrote:
Please check the status in /sys/class/drm/card0-HDMI-A-1/status. This should report the current state of the hotplug detection.
/sys/class/drm/card0-HDMI-A-1/status returns the correct state for HDMI cable connection.
Remember that this code detects off the HPD signal - if the HPD signal has not been correctly wired up, this patch is not going to help (really it comes down to a hardware fault, which I'm not trying to solve with this patch.)
What I'm trying to resolve with this patch is that the state detected on properly wired up systems corresponds with the real initial state of the interface at initialisation time.
The problem with the current code is that we start off assuming that the interface is disconnected, and we rely on an interrupt arriving to change that state. If for whatever reason that interrupt does not arrive, then, even if the HPD signal is active, we continue believing that the interface is not connected.
I seem to remember discussion in the past that the HPD signal is not wired up on SabreSD. Really, this needs to be a DT flag to indicate
It is sabrelite board that does not have HPD signal not wired up.
sabresd does have HPD signal connected.
The HDMI undetected issue I am seeing on sabresd seems to be related to the simultaneous usage of HDMI and LVDS.
If I remove the ldb node from the imx6qdl-sabresd.dtsi, then the HDMI cable is correctly detected and HDMI is shown right after boot.
Fabio,
I'm following along with this thread as I see the same thing you do on our Ventana boards that support both LVDS and HDMI: without hot-plugging the HDMI connector I get not HDMI out simply by having the LVDS node populated.
I am curious however how you are getting simultaneous display on both LVDS and HDMI on a SabreSD board as the standard resistor loading would make the EDID's of both conflict (which causes EDID read failures) - perhaps you are using an LVDS display with no EDID or perhaps you have modified the resistor loading on a SabreSD to move them to different i2cs? Or is there some kernel param/config I don't see to tell the imx_hdmi driver to ignore EDID and force in a mode?
Regards,
Tim