Hi Nico,
Thanks for your email & response.
The problem originally I had was that on PortC, DP/HDMI did not work for the external display in the OS, In BIOS it looked good, so I configured PortC as an eDP interface then the external display started working in the OS.
Now at runtime when there is no external display, the VBIOS is causing delay, so I want to disable PortC for eDP at runtime when there is no external display connected. So am trying to find which MMIO register gets set when there is external Display connected to DisplayPort
Thanks Rao
On Fri, Jul 30, 2021 at 3:29 PM Rao G grao.v80@gmail.com wrote:
Hi Nico,
Thanks for your response, though I enabled Bits 29,28,27 in 0x61110h, the values in 0x61114h returned 0, I have configured the port as eDP in VBIOS not as HDMI/DP, will that make a difference? For eDP which MMIO register need to be checked?
Thanks Rao
On Fri, Jul 30, 2021 at 2:47 PM Nico Huber nico.h@gmx.de wrote:
Hello Rao,
On 30.07.21 13:53, Rao G wrote:
trying to see the MMIO or VBIOS data when a external display device is plugged/unplugged with DP/HDMI interface, which MMIO register is set or cleared
I think you are looking at the right register (last one below).
Any inputs are appreciated, some of the registers tried on Port B/Port C are given below. when Display is connected and when Display is not connected, both these instances return the same data. Looking for register/bit that sets/clears when external display is connected/disconnected
printk(BIOS_DEBUG, "Intel Gfx BAR GTTMMADR\n"); printk(BIOS_DEBUG, " DP_B %X\n", read32(bar+0x180000+0x64100)); printk(BIOS_DEBUG, " DP_C %X\n", read32(bar+0x180000+0x64200)); printk(BIOS_DEBUG, " HDMIC %X\n", read32(bar+0x180000+0x61160)); printk(BIOS_DEBUG, " HDMIB %X\n", read32(bar+0x180000+0x61140)); printk(BIOS_DEBUG, " Hotplug control %X\n",
read32(bar+0x180000+0x61164));
printk(BIOS_DEBUG, " pipeA control %X\n", read32(bar+0x180000+0x61204)); printk(BIOS_DEBUG, " pipeB control %X\n", read32(bar+0x180000+0x61304)); printk(BIOS_DEBUG, " porthot plug stat %X\n",
read32(bar+0x180000+0x61114));
According to the datasheet, the bits in this register should change but only if enabled in PORT_HOTPLUG_EN (0x61110).
Nico
NB. There is also libgfxinit support under review [1]. In case you are trying to do some native graphics init ;)
[1] https://review.coreboot.org/q/topic:%2522baytrail-libgfxinit%2522