SPRADK8 February 2025 AM62P
This section describes the steps required to achieve an early splash screen, along with flicker-free transition from the SBL stage to the Linux Kernel. The DSS sharing example in the MCU+ SDK integrates early splash of image along with SBL on the OSPI boot media, Device Manager, and Inter-processor communication functionality. The bootloader, IPC, and Display run on separate tasks. The Display task displays a splash image with alpha blending and finally switches to the display sharing task, where telltale frames quickly move back and forth. Falcon boot is used in the example, which means the intermediate U-Boot stage is skipped and SBL directly boots the Linux image. This DSS example, with a few modifications is used for demonstration.
ti-linux-kernel directory under
/board-support to make the modifications as described
in the following steps. Generate the Device Tree Blob (DTB) and image file
after the modifications to ti-linux-kernel. These files
are later used to create the linux.appimage, which is used
in the RTOS example to run Linux on an A53 core.linux.appimage is built using Falcon boot mode. Hence, include the bootargs information in the k3-am62p5-sk.dts file under the chosen node:bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk1p2 rw rootfstype=ext4 rootwait";ti-u-boot dynamically updates the Linux Kernel device-tree with framebuffer region meta-data, marking the region as reserved in the Linux device tree as follows:framebuffer: framebuffer@ff700000 {
reg = <0x00 0xff700000 0x00 0x008ca000>;
no-map;
};simple-framebuffer node to "okay" by manually modifying the board device-tree file under the chosen node as shown in the following code:framebuffer0: framebuffer@0 {
compatible = "simple-framebuffer";
power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>,
<&k3_pds 243 TI_SCI_PD_EXCLUSIVE>,
<&k3_pds 244 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 186 6>,
<&dss0_vp1_clk>,
<&k3_clks 186 2>;
display = <&dss0>;
reg = <0x00 0xff700000 0x00 0x008ca000>;
width = <1920>;
height = <1200>;
stride = <(1920 * 4)>;
format = "x8r8g8b8";
};arch/arm64/configs/defconfig like mentioned below: # CONFIG_DRM_FBDEV_EMULATION is not setk3-am62p5-sk-microtips-mf101hie-panel.dtbo onto the DTB file to support display on an OLDI panel. Use the following command:fdtoverlay -i ./arch/arm64/boot/dts/ti/k3-am62p5-sk.dtb ./arch/arm64/boot/dts/ti/k3-am62p5-sk-microtips-mf101hie-panel.dtbo -o ./../../board-support/prebuilt-images/am62pxx-evm-display-cluster/k3-am62p.dtb/board-support/prebuilt-images/am62pxx-evm-display-cluster folder: k3-am62p.dtb (created in the previous step)arch/arm64/boot/)DispApp_splashThread() and DispApp_displayShareThread() in the examples/drivers/dss/dss_display_share/dss_display_share.c file
Figure 5-2 Code Changes 1
Figure 5-3 Code Changes 2
Figure 5-4 Code Changes 3tools/boot/sbl_prebuilt/am62px-sk/default_sbl_ospi_linux_hs_fs_splash_screen.cfgti-img-rogue-driver using the top-level makefile in SDK. Use the following steps:make ti-img-rogue-driver (Value RGX_BVNC="36.53.104.796" in Rules.make)sudo make ti-img-rogue-driver_install DESTDIR=/media/aparna/rootBOOTMODE [ 8 : 15 ] (SW5) = 0000 0000BOOTMODE [ 0 : 7 ] (SW4) = 1100 1110