Issue #538 has been updated by Nico Huber.
Brian L wrote in #note-16:
If you want to get libgfxinit working again, a log would really be the next best step.
See attached full ADA debug log, thanks
Thanks. Not what I expected. Gave me some ideas, though, even if it feels a bit desparate: There's a timeout waiting for the GMBUS (I2C) controller when trying to read an EDID over the *DP* connector. Not directly a problem, but this controller is known to sometimes act rather erratic, and maybe, maybe it causes problems even for other connectors probed later. ``` [0.053716] HW.GFX.GMA.Registers.Wait: 0x00000800 <- 0x00000800 & 0x000c5108:PCH_GMBUS2 [0.553718] HW.GFX.GMA.Registers.Wait: Timed Out! ``` This happens after we request power to the panel and delays for incredibly long 500ms. That makes a timing issue unlikely. Two things I'd try: 1. Place the LVDS first in `src/mainboard/lenovo/x230/variants/x230/gma-mainboard.ads` (if that helps, try the old order with HDMI1 removed). 2. Add another desparate delay to the Wait_On() procedure nevertheless: ``` diff --git a/common/hw-gfx-gma-panel.adb b/common/hw-gfx-gma-panel.adb index 532bf674b41d..c546b81dc820 100644 --- a/common/hw-gfx-gma-panel.adb +++ b/common/hw-gfx-gma-panel.adb @@ -384,6 +384,8 @@ is TOut_MS => 300);
Registers.Unset_Mask (PP (Panel).CONTROL, PCH_PP_CONTROL_VDD_OVERRIDE); + + Time.M_Delay (500); end Wait_On;
procedure Off (Panel : Panel_Control) ```
---------------------------------------- Bug #538: [Soft Brick] x230 Dock Causes Internal Display to "Permanently" Malfunction https://ticket.coreboot.org/issues/538#change-1848
* Author: Brian L * Status: New * Priority: High * Target version: none * Start date: 2024-05-14 * Affected hardware: Lenovo x230 ---------------------------------------- Environment: - Lenovo x230 - Stock screen replaced with Pixel Qi (not sure if relevant) (plug & play LVDS) - Coreboot using Heads (coreboot + linuxboot) - Official lenovo docking station connected to external monitor via DisplayPort
Bug Trigger: Using Heads/coreboot fine for years with my Pixel Qi screen modded x230. I then bought a Lenovo docking station. Booted up, everything worked fine. Disconnected from dock, booted up, and there was no bios screen. Screen did not turn on until taken over by Linux Kernel. Once in userspace, wayland could no longer identify the monitor as a Pixel Qi or its proper resolution. EDID is blank. Booting with docking station allows bios to show on external display.
Restarting did *not* fix the issue, reflashing heads did *not* fix the issue, flashing skulls (coreboot + seabios) did *not* fix the issue.
Flashing stock bios *did fix* the issue. I can now see BIOS screen and get proper EDID in userspace whether on the dock or not. *However* reflashing coreboot again, even coming from stock bios working state, and I immediately now no longer get a BIOS screen or EDID, even without ever introducing the dock again. Essentially now bricked with anything but stock bios.
---Files-------------------------------- cbmem.log (62.6 KB)