Topic: Force LCD enable with custom EDID on disk
Hi,
Not sure if this should go into hardware or software, but ...
I am trying to get a pixelQi 1024x600 LCD panel hooked up to the LVDS headers on the board. All the connections have been double-checked, and the LCD works fine through a HDMI-to-LVDS external controller board. But when hooked up directly, the LCD lights up with a penguin splash in the top left corner during boot, but very quickly goes dark. The boot messages (through UART debug port) indicate that the panel is not being detected, and HDMI is being defaulted to instead. A grep of dmesg output for the term "display" reveals the following:
[ 0.920494] lcd-display-power: 3300 mV
[ 0.920565] reg-fixed-voltage display-regulator: lcd-display-power supplying 3300000uV
[ 2.485454] imx-drm display-subsystem: bound imx-ipuv3-crtc.0 (ops ipu_crtc_ops)
[ 2.492967] imx-drm display-subsystem: bound imx-ipuv3-crtc.4 (ops ipu_crtc_ops)
[ 2.500436] imx-drm display-subsystem: bound imx-ipuv3-crtc.5 (ops ipu_crtc_ops)
[ 2.507927] imx-drm display-subsystem: bound imx-ipuv3-crtc.1 (ops ipu_crtc_ops)
[ 2.523233] imx-drm display-subsystem: bound 120000.hdmi (ops hdmi_ops)
[ 2.530065] imx-drm display-subsystem: No connectors reported connected with modes
[ 2.568543] imx-drm display-subsystem: fb0: frame buffer device
[ 2.574580] imx-drm display-subsystem: registered panic notifier
[ 11.992234] lcd-display-power: disabling
[ 26.043674] systemd-default-display-manager-generator[218]: /etc/X11/default-display-manager points at lightdm while the default systemd unit is . Reconfiguring lightdm as default.
And a grep search for "lcd" returned these:
[ 0.710804] lcd-lvds-power: 3300 mV
[ 0.710899] reg-fixed-voltage lcd-regulator: lcd-lvds-power supplying 3300000uV
[ 0.920494] lcd-display-power: 3300 mV
[ 0.920565] reg-fixed-voltage display-regulator: lcd-display-power supplying 3300000uV
[ 11.992234] lcd-display-power: disabling
I cut the EDID data and clock lines going to the LCD and the results were the same. I suspect that most of the pixelQi LCD panels floating around on the internet never got the EDID uploaded into their EEPROMs since the company sunk (I intend to confirm this by trying to read the EDID data from the LCD soon). The external HDMI-to-LVDS controller board did not have EDID clock and data lines going into the LCD, as it had pixelQi specific EDID loaded into its firmware. I got the full 128 bytes of EDID data from the pixelQi datasheet (it had a couple of errors that were easy to spot), and am right now trying to use the "drm_kms_helper.edid_firmware=<name>.bin" feature in the kernel command line, but not having any success. I am trying to find the name for the lvds connector (the lvds equivalent to HDMI-A-1) so I can force it to remain enabled, but I don't see it inside /sys/class/drm/.
Does anyone know how to go about doing this? I want to solve this through linux instead of having to upload the EDID firmware into my LCD.