HDMI support for rockchip SBC

Peter Robinson pbrobinson at gmail.com
Thu Jul 24 09:33:10 CEST 2025


On Wed, 23 Jul 2025 at 23:40, Stefan Monnier <monnier at iro.umontreal.ca> wrote:
>
> [ AFAICT this mailing-list is used for development of U-Boot more than
>   for users of U-Boot.  I s there a more appropriate mailing-list, for
>   users?  ]
>
> I'm building the bootloader for two different SBCs, both based on rk3568
> (NanoPi R5S and Odroid-M1), and using the default config for those boards
> I can easily make a bootloader that successfully loads my Debian
> installation, but sadly it's all "blind" until the Linux kernel
> initializes the display.
>
> I saw that the default config does not include support for the HDMI
> output, so I figured it would be easy to fix but I still haven't managed
> to get any visual.
>
> I made the following changes:
>
> - Set CONFIG_BOOTDELAY to 10, to minimize the risk that my monitor
>   sleeps through it all.
> - I enabled: CONFIG_USB_KEYBOARD, CONFIG_VIDEO, CONFIG_VIDEO_ROCKCHIP,
>   CONFIG_DISPLAY_ROCKCHIP_HDMI, CONFIG_DISPLAY, and CONFIG_VIDEO_DT_SIMPLEFB.
>
> but still, nothing shows up on my screen until the Linux kernel
> configures the display (and pressing a key on the keyboard doesn't seem
> to prevent autobooting).
>
> What am I missing?

Support for the rk35xx isn't upstream yet, this patch series is likely
a good start:
https://lists.denx.de/pipermail/u-boot/2025-June/591737.html

>         Stefan
>
>
> --- .config.ORIG        2025-07-23 20:27:50.725403359 +0000
> +++ .config     2025-07-23 21:12:52.281271378 +0000
> @@ -464,6 +464,7 @@
>  CONFIG_BOOTSTD_FULL=y
>  CONFIG_BOOTSTD_DEFAULTS=y
>  CONFIG_BOOTSTD_BOOTCOMMAND=y
> +CONFIG_BOOTSTD_MENU=y
>  CONFIG_BOOTMETH_GLOBAL=y
>  # CONFIG_BOOTMETH_ANDROID is not set
>  # CONFIG_BOOTMETH_CROS is not set
> @@ -480,6 +481,7 @@
>  # CONFIG_BOOTMETH_VBE_ABREC is not set
>  CONFIG_BOOTMETH_VBE_SIMPLE_OS=y
>  # CONFIG_SPL_BOOTMETH_VBE_SIMPLE is not set
> +CONFIG_EXPO=y
>  # CONFIG_BOOTMETH_RAUC is not set
>  CONFIG_BOOTMETH_SCRIPT=y
>  # CONFIG_UPL is not set
> @@ -512,7 +514,7 @@
>  # Autoboot options
>  #
>  CONFIG_AUTOBOOT=y
> -CONFIG_BOOTDELAY=2
> +CONFIG_BOOTDELAY=10
>  # CONFIG_AUTOBOOT_KEYED is not set
>  # CONFIG_AUTOBOOT_USE_MENUKEY is not set
>  # CONFIG_BOOT_RETRY is not set
> @@ -531,6 +533,7 @@
>  # CONFIG_OF_SYSTEM_SETUP is not set
>  # CONFIG_OF_STDOUT_VIA_ALIAS is not set
>  # CONFIG_FDT_FIXUP_PARTITIONS is not set
> +# CONFIG_FDT_SIMPLEFB is not set
>  CONFIG_ARCH_FIXUP_FDT_MEMORY=y
>  # CONFIG_USE_BOOTARGS is not set
>  # CONFIG_BOOTARGS_SUBST is not set
> @@ -544,6 +547,7 @@
>  #
>  # Configuration editor
>  #
> +# CONFIG_CEDIT is not set
>
>  #
>  # Console
> @@ -565,7 +569,7 @@
>  # CONFIG_SYS_CONSOLE_IS_IN_ENV is not set
>  # CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set
>  # CONFIG_SYS_CONSOLE_INFO_QUIET is not set
> -# CONFIG_SYS_STDIO_DEREGISTER is not set
> +CONFIG_SYS_STDIO_DEREGISTER=y
>  # CONFIG_SPL_SYS_STDIO_DEREGISTER is not set
>  # CONFIG_SYS_DEVICE_NULLDEV is not set
>
> @@ -945,6 +949,7 @@
>  # Misc commands
>  #
>  # CONFIG_CMD_2048 is not set
> +# CONFIG_CMD_BMP is not set
>  # CONFIG_CMD_BSP is not set
>  CONFIG_CMD_BLOCK_CACHE=y
>  # CONFIG_CMD_CACHE is not set
> @@ -967,6 +972,8 @@
>  # CONFIG_CMD_PSTORE is not set
>  # CONFIG_CMD_TERMINAL is not set
>  # CONFIG_CMD_UUID is not set
> +CONFIG_CMD_VIDCONSOLE=y
> +# CONFIG_CMD_SELECT_FONT is not set
>
>  #
>  # TI specific command line interface
> @@ -1368,9 +1375,12 @@
>  # CONFIG_I2C_MUX is not set
>  CONFIG_INPUT=y
>  # CONFIG_SPL_INPUT is not set
> -# CONFIG_DM_KEYBOARD is not set
> +CONFIG_DM_KEYBOARD=y
>  # CONFIG_SPL_DM_KEYBOARD is not set
> +# CONFIG_APPLE_SPI_KEYB is not set
> +# CONFIG_BUTTON_KEYBOARD is not set
>  # CONFIG_CROS_EC_KEYB is not set
> +# CONFIG_I8042_KEYB is not set
>  # CONFIG_TWL4030_INPUT is not set
>
>  #
> @@ -2138,9 +2148,13 @@
>  # USB peripherals
>  #
>  CONFIG_USB_STORAGE=y
> -# CONFIG_USB_KEYBOARD is not set
> +CONFIG_USB_KEYBOARD=y
>  # CONFIG_USB_ONBOARD_HUB is not set
>  CONFIG_USB_HUB_DEBOUNCE_TIMEOUT=1000
> +CONFIG_USB_KEYBOARD_FN_KEYS=y
> +CONFIG_SYS_USB_EVENT_POLL=y
> +# CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE is not set
> +# CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP is not set
>  # CONFIG_USB_HOST_ETHER is not set
>  # CONFIG_USB_GADGET is not set
>  # CONFIG_SPL_USB_GADGET is not set
> @@ -2153,7 +2167,105 @@
>  #
>  # Graphics support
>  #
> -# CONFIG_VIDEO is not set
> +CONFIG_VIDEO=y
> +# CONFIG_VIDEO_FONT_4X6 is not set
> +CONFIG_VIDEO_FONT_8X16=y
> +# CONFIG_VIDEO_FONT_SUN12X22 is not set
> +# CONFIG_VIDEO_FONT_16X32 is not set
> +CONFIG_VIDEO_LOGO=y
> +CONFIG_BACKLIGHT=y
> +CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0x0
> +# CONFIG_VIDEO_COPY is not set
> +CONFIG_VIDEO_DAMAGE=y
> +CONFIG_BACKLIGHT_PWM=y
> +# CONFIG_BACKLIGHT_GPIO is not set
> +CONFIG_VIDEO_BPP8=y
> +CONFIG_VIDEO_BPP16=y
> +CONFIG_VIDEO_BPP32=y
> +CONFIG_VIDEO_ANSI=y
> +# CONFIG_VIDEO_MIPI_DSI is not set
> +CONFIG_CONSOLE_NORMAL=y
> +# CONFIG_CONSOLE_ROTATION is not set
> +# CONFIG_CONSOLE_TRUETYPE is not set
> +CONFIG_SYS_WHITE_ON_BLACK=y
> +# CONFIG_NO_FB_CLEAR is not set
> +CONFIG_VIDEO_SYNC_MS=100
> +CONFIG_PANEL=y
> +CONFIG_SIMPLE_PANEL=y
> +# CONFIG_PANEL_HX8238D is not set
> +
> +#
> +# TrueType Fonts
> +#
> +# CONFIG_VIDEO_BOCHS is not set
> +# CONFIG_VIDEO_VESA is not set
> +# CONFIG_VIDEO_LCD_ANX9804 is not set
> +# CONFIG_ATMEL_LCD_BGR555 is not set
> +# CONFIG_VIDEO_BCM2835 is not set
> +# CONFIG_VIDEO_LCD_ENDEAVORU is not set
> +# CONFIG_VIDEO_LCD_HIMAX_HX8394 is not set
> +# CONFIG_VIDEO_LCD_MOT is not set
> +# CONFIG_VIDEO_LCD_NOVATEK_NT35510 is not set
> +# CONFIG_VIDEO_LCD_ORISETECH_OTM8009A is not set
> +# CONFIG_VIDEO_LCD_LG_LD070WX3 is not set
> +# CONFIG_VIDEO_LCD_LG_LH400WV3 is not set
> +# CONFIG_VIDEO_LCD_RAYDIUM_RM68200 is not set
> +# CONFIG_VIDEO_LCD_RENESAS_R61307 is not set
> +# CONFIG_VIDEO_LCD_RENESAS_R69328 is not set
> +# CONFIG_VIDEO_LCD_SAMSUNG_LTL106HL02 is not set
> +# CONFIG_VIDEO_LCD_SHARP_LQ079L1SX01 is not set
> +# CONFIG_VIDEO_LCD_SHARP_LQ101R1SX01 is not set
> +# CONFIG_VIDEO_LCD_SSD2828 is not set
> +# CONFIG_VIDEO_LCD_TDO_TL070WSH30 is not set
> +# CONFIG_VIDEO_LCD_HITACHI_TX10D07VM0BAA is not set
> +# CONFIG_VIDEO_LCD_HITACHI_TX18D42VM is not set
> +# CONFIG_VIDEO_MESON is not set
> +# CONFIG_VIDEO_MVEBU is not set
> +CONFIG_I2C_EDID=y
> +# CONFIG_I2C_EDID_STANDARD is not set
> +CONFIG_DISPLAY=y
> +# CONFIG_NXP_TDA19988 is not set
> +# CONFIG_ATMEL_HLCD is not set
> +# CONFIG_BACKLIGHT_AAT2870 is not set
> +# CONFIG_BACKLIGHT_LM3532 is not set
> +# CONFIG_BACKLIGHT_LM3533 is not set
> +# CONFIG_BACKLIGHT_LP855x is not set
> +# CONFIG_AM335X_LCD is not set
> +# CONFIG_VIDEO_EXYNOS is not set
> +# CONFIG_LOGICORE_DP_TX is not set
> +CONFIG_VIDEO_ROCKCHIP=y
> +CONFIG_VIDEO_ROCKCHIP_MAX_XRES=3840
> +CONFIG_VIDEO_ROCKCHIP_MAX_YRES=2160
> +# CONFIG_DISPLAY_ROCKCHIP_EDP is not set
> +# CONFIG_DISPLAY_ROCKCHIP_LVDS is not set
> +CONFIG_DISPLAY_ROCKCHIP_HDMI=y
> +# CONFIG_DISPLAY_ROCKCHIP_MIPI is not set
> +# CONFIG_DISPLAY_ROCKCHIP_DW_MIPI is not set
> +# CONFIG_VIDEO_ARM_MALIDP is not set
> +# CONFIG_VIDEO_STM32 is not set
> +# CONFIG_VIDEO_TIDSS is not set
> +# CONFIG_VIDEO_BRIDGE is not set
> +# CONFIG_HOST1X_TEGRA is not set
> +# CONFIG_VIDEO_TEGRA is not set
> +# CONFIG_TEGRA_BACKLIGHT_PWM is not set
> +# CONFIG_VIDEO_TEGRA124 is not set
> +# CONFIG_IMX_LCDIF is not set
> +# CONFIG_VIDEO_MXS is not set
> +# CONFIG_VIDEO_SEPS525 is not set
> +CONFIG_CONSOLE_SCROLL_LINES=1
> +CONFIG_VIDEO_DW_HDMI=y
> +# CONFIG_VIDEO_SIMPLE is not set
> +CONFIG_VIDEO_DT_SIMPLEFB=y
> +# CONFIG_VIDEO_MCDE_SIMPLE is not set
> +# CONFIG_OSD is not set
> +# CONFIG_VIDEO_REMOVE is not set
> +# CONFIG_SPLASH_SCREEN is not set
> +# CONFIG_BMP is not set
> +CONFIG_VIDEO_LOGO_MAX_SIZE=0x100000
> +CONFIG_VIDEO_BMP_RLE8=y
> +# CONFIG_BMP_16BPP is not set
> +# CONFIG_BMP_24BPP is not set
> +# CONFIG_BMP_32BPP is not set
>  # CONFIG_SPL_VIDEO is not set
>


More information about the U-Boot mailing list