Hi
We are developing Jetpack 5.0 BSP on our Xavier custom board. Our question is:
Failed to output HDMI display during UEFI.
Success to output HDMI display during kernel boot.
After tracing source code , UEFI is failed to discover T194GraphicsOutputDxe
driver in function GetFirstWinForThisHead
.
Here’s the debugging trace log in UEFI:
Head index=0 DC_DISP_SYNC_WIDTH = 0x00000000
Head index=0 DC_DISP_BACK_PORCH = 0x00000000
Head index=0 DC_DISP_FRONT_PORCH = 0x00000000
Head index=0 DC_DISP_DISP_ACTIVE = 0x00000000 = 0 x 0
GetFirstWinForThisHead: Head index 0 Window index=0 Disabled
GetFirstWinForThisHead: Head index 0 Window index=1 Disabled
GetFirstWinForThisHead: Head index 0 Window index=2 Disabled
GetFirstWinForThisHead: Head index 0 Window index=3 Disabled
GetFirstWinForThisHead: Head index 0 Window index=4 Disabled
GetFirstWinForThisHead: Head index 0 Window index=5 Disabled
It looks it get zero from display controller
registers at any offset, e.g. DC_DISP_SYNC_WIDTH
, DC_DISP_BACK_PORCH
, …
Could you guide my any further info to debug this ? Thanks.
Are you sure your change in kernel dtb also applied to UEFI dtb?
yes, I do the following steps to apply kernel dtb to UEFI dtb (all steps on done in driver package)
Update kernel dtb to kernel/dtb
Remove bootloader/<kernel dtb>
in case flash.sh didn’t update my updated kernel dtb
Put machine into recovery mode
Run command to flash UEFI dtb only.
sudo ./flash.sh -r -k bootloader-dtb <model> mmcblk0p1
Check updated dtb is applied in UEFI by checking model name.
Please share full log from serial console.
Hi @WayneWWW
Please see attached UEFI boot log.
UEFI-Boot-Log.txt (78.9 KB)
[0002.097] I> tegrabl_gpio_driver_register: register ‘max20024-gpio’ driver
[0002.097] I> Boot-device: eMMC
[0002.097] I> Boot_device: SDMMC_BOOT instance: 3
[0002.099] I> sdmmc-3 params source = boot args
[0002.101] W> No board IDs available
[0002.102] E> Failed to get board id info!
[0002.105] I> sdmmc bdev is already initialized
[0002.110] I> sdmmc-3 params source = boot args
[0002.116] I> Found 20 partitions in SDMMC_BOOT (instance 3)
[0002.122] I> Found 41 partitions in SDMMC_USER (instance 3)
[0002.136] E> cannot find any other nvdisp nodes
[0002.136] E> no valid display unit config found in dtb
[0002.139] W> display init failed
[0002.139] initializing target
[0002.140] calling apps_init()
[0002.143] starting app kernel_boot_app
[0002.146] I> Kernel type = Normal
Looks like bootloader cannot find correct device tree node. You better doing full flash.
Hi @WayneWWW
Thanks for your hint.
It looks like UEFI doesn’t support HDMI hotplug so we need to release HDMI reset pin during nvdisp-init
stage. We manage the HDMI reset pin by tca9539 but tca9539
driver was not compiled into nvdisp-init.bin
out from release. After changing cboot source, UEFI on HDMI works now.
Here’s the successful UEFI on HDMI log:
[0001.872] I> NVDisp-Init version: t194-5fe22d2e
[0001.873] I> CPU-BL Params @ 0xca020000
[0001.873] I> 0) Base:0x00000000 Size:0x00000000
[0001.873] I> 1) Base:0xc8300000 Size:0x00100000
[0001.874] I> 2) Base:0xc9800000 Size:0x00200000
[0001.874] I> 3) Base:0xc8600000 Size:0x00200000
[0001.877] I> 4) Base:0xc8200000 Size:0x00100000
[0001.881] I> 5) Base:0xc8100000 Size:0x00100000
[0001.885] I> 6) Base:0xc9400000 Size:0x00400000
[0001.890] I> 7) Base:0xc9000000 Size:0x00400000
[0001.894] I> 8) Base:0xc8000000 Size:0x00100000
[0001.899] I> 9) Base:0xc7f00000 Size:0x00100000
[0001.903] I> 10) Base:0xca800000 Size:0x00800000
[0001.908] I> 11) Base:0x40000000 Size:0x00040000
[0001.912] I> 12) Base:0xc7e00000 Size:0x00100000
[0001.917] I> 13) Base:0x40046000 Size:0x00002000
[0001.921] I> 14) Base:0x40048000 Size:0x00002000
[0001.926] I> 15) Base:0xaf000000 Size:0x00004000
[0001.930] I> 16) Base:0x4004a000 Size:0x00002000
[0001.935] I> 17) Base:0xc7c00000 Size:0x00100000
[0001.939] I> 18) Base:0x4004c000 Size:0x00002000
[0001.943] I> 19) Base:0xc9a00000 Size:0x00600000
[0001.948] I> 20) Base:0x4004e000 Size:0x00002000
[0001.952] I> 21) Base:0xc7dc0000 Size:0x0000c000
[0001.957] I> 22) Base:0x00000000 Size:0x00000000
[0001.961] I> 23) Base:0xc7de0000 Size:0x00020000
[0001.966] I> 24) Base:0xcc000000 Size:0x02000000
[0001.970] I> 25) Base:0x40050000 Size:0x00002000
[0001.975] I> 26) Base:0x40040000 Size:0x00006000
[0001.979] I> 27) Base:0xc8c00000 Size:0x00400000
[0001.984] I> 28) Base:0xc8400000 Size:0x00200000
[0001.988] I> 29) Base:0xc8800000 Size:0x00400000
[0001.993] I> 30) Base:0xc7dd0000 Size:0x00010000
[0001.997] I> 31) Base:0x00000000 Size:0x00000000
[0002.001] I> 32) Base:0xf8000000 Size:0x08000000
[0002.006] I> 33) Base:0xce000000 Size:0x2a000000
[0002.010] I> 34) Base:0xcb000000 Size:0x01000000
[0002.015] I> 35) Base:0xae000000 Size:0x01000000
[0002.019] I> 36) Base:0xa0000000 Size:0x0e000000
[0002.024] I> 37) Base:0xca000000 Size:0x00800000
[0002.028] I> 38) Base:0x80000000 Size:0x20000000
[0002.033] I> 39) Base:0xb0000000 Size:0x08000000
[0002.037] I> 40) Base:0x00000000 Size:0x00000000
[0002.042] I> 41) Base:0x00000000 Size:0x00000000
[0002.046] I> 42) Base:0x00000000 Size:0x00000000
[0002.051] I> 43) Base:0x00000000 Size:0x00000000
[0002.055] I> 44) Base:0x00000000 Size:0x00000000
[0002.060] I> 45) Base:0x00000000 Size:0x00000000
[0002.064] GIC-SPI Target CPU: 0
[0002.067] Interrupts Init done
[0002.070] calling constructors
[0002.073] initializing heap
[0002.075] I> Heap: [0xa0960000 ... 0xadf00000]
[0002.080] initializing threads
[0002.083] initializing timers
[0002.085] creating bootstrap completion thread
[0002.090] top of bootstrap2()
[0002.092] CPU: MIDR: 0x4E0F0040, MPIDR: 0x80000000
[0002.097] initializing platform
[0002.100] E> DEVICE_PROD: Invalid value data = 0, size = 0.
[0002.105] W> device prod register failed
[0002.109] I> Bl_dtb @0xadf00000
[0002.112] I> gpio framework initialized
[0002.125] I> tegrabl_gpio_driver_register: register 'nvidia,tegra194-gpio' driver
[0002.129] I> tegrabl_gpio_driver_register: register 'nvidia,tegra194-gpio-aon' driver
[0002.131] I> tegrabl_tca9539_init: i2c bus: 7, slave addr: 0x40
[0002.142] I> tegrabl_gpio_driver_register: register 'tca9539_gpio_driver' driver
[0002.144] I> tegrabl_tca9539_init: i2c bus: 7, slave addr: 0x42
[0002.155] I> tegrabl_gpio_driver_register: register 'tca9539_gpio_driver' driver
[0002.161] I> fixed regulator driver initialized
[0002.188] I> register 'maxim' power off handle
[0002.190] I> virtual i2c enabled
[0002.191] I> registered 'maxim,max20024' pmic
[0002.191] I> tegrabl_gpio_driver_register: register 'max20024-gpio' driver
[0002.192] I> Boot-device: eMMC
[0002.192] I> Boot_device: SDMMC_BOOT instance: 3
[0002.194] I> sdmmc-3 params source = boot args
[0002.195] W> No board IDs available
[0002.196] E> Failed to get board id info!
[0002.200] I> sdmmc bdev is already initialized
[0002.204] I> sdmmc-3 params source = boot args
[0002.211] I> Found 20 partitions in SDMMC_BOOT (instance 3)
[0002.216] I> Found 41 partitions in SDMMC_USER (instance 3)
[0002.238] I> enabling 'vdd-hdmi-5v0' regulator
[0002.246] I> regulator 'vdd-hdmi-5v0' already enabled
[0002.246] E> tegrabl_display_init_regulator: hdmi cable is not connected
[0002.246] E> tegrabl_display_get_pdata, failed to parse dtb settings
[0002.248] E> cannot find any other nvdisp nodes
[0002.248] E> no valid display unit config found in dtb
[0002.253] W> display init failed
[0002.254] initializing target
[0002.256] calling apps_init()
[0002.259] starting app kernel_boot_app
[0002.263] I> Kernel type = Normal
1 Like
system
Closed
January 4, 2023, 4:30am
10
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.