[vim3][hdmi] Skip HDMI video output setup in bootloader.

The u-boot display driver may set the hardware to an invalid state
if the display preferred mode is not supported by the driver (for
example, 480x480p @ 60Hz). This caused some display devices to
fail on system boot.

This change fixes the issue by skipping the display layer and
HDMI output module setup in the bootloader, so that the Fuchsia
display driver can configure the display device under a clean state.

Test: On core.vim3 and begonia_eng.vim3.
      (1) Plug the USB power cable of AML028-30MB-A1 to VIM3.
      (2) Power on VIM3.
      (3) Display contents (for core.vim3, it's virtcon; for
          begonia_eng, it's Starnix) show on the panel.
      Manually tested for 20 times on both builds.
Bug: 329337069
Change-Id: I2a37bce4934310fafe6bb5b9a47e4fe874e64d8e
Reviewed-on: https://turquoise-internal-review.googlesource.com/c/third_party/u-boot/+/818490
Reviewed-by: David Pursell <dpursell@google.com>
Reviewed-by: Victor Costan <costan@google.com>
GitOrigin-RevId: fd9c59c143048286803463e84f3c26d997c26403
1 file changed
tree: 43eab6a9fa98e5554115b2073e3d353f333a434e
  1. api/
  2. arch/
  3. bl2/
  4. bl30/
  5. bl31/
  6. bl31_1.3/
  7. board/
  8. common/
  9. configs/
  10. disk/
  11. doc/
  12. drivers/
  13. dts/
  14. examples/
  15. fip/
  16. fs/
  17. include/
  18. lib/
  19. Licenses/
  20. net/
  21. post/
  22. scripts/
  23. test/
  24. tools/
  25. vim3_aml_tools/
  26. .checkpatch.conf
  27. .clang-format
  28. .gitignore
  29. .mailmap
  30. amlogic_help.sh
  31. build_uboot_vim3_zircon.sh
  32. check_compile.sh
  33. config.mk
  34. fuchsia_upload.py
  35. Kbuild
  36. Kconfig
  37. MAINTAINERS
  38. MAKEALL
  39. Makefile
  40. mk
  41. README
  42. README.md
  43. snapshot.commit
README.md

SPDX-License-Identifier: GPL-2.0+

u-boot

This is a version of u-boot, modified to support Fuchsia on the Khadas vim3

Building vim3 Bootloader for Fuchsia

To build the vim3 bootloader for Fuchsia:

Prerequisites - arm and aarch64 toolchains. On Debian/Ubuntu systems, for example:

apt-get install gcc-arm-none-eabi gcc-aarch64-linux-gnu

Run the build script from repo root

./build_uboot_vim3_zircon.sh

You now have a build/u-boot.bin.unsigned that you can flash to a target using fastboot.