FAQ_MA35D1_Show Logo when booting

Post Reply
ytliu6
Posts: 79
Joined: 08 Nov 2022, 10:28

21 Nov 2022, 10:10

1. Go to the following path and open U-Boot menuconfig

Code: Select all

~/yocto/build/tmp-glibc/work/numaker_som_ma35d16a81-poky-linux/u-boot-ma35d1/2020.07-r0/build/ma35d1_sdcard0_defconfig$ make menuconfig
2. Enable LCD driver and modify RAM size in U-Boot

Code: Select all

Device Drivers --->
Graphics support --->
[*] Enable driver model support LCD/video
[*] Nuvoton MA35D1 video support
(0x84000000) MA35D1 DCU framebuffer address
3. According to your boot source to modify U-Boot environment

Code: Select all

~/yocto/build/tmp-glibc/work/numaker_som_ma35d16a81-poky-linux/u-boot-ma35d1/2020.07-r0/git/include/configs$ vim ma35d1.h

"mmc read ${bmp_addr_r} 0xe000 0x1000; "\
"bmp display ${bmp_addr_r}; " \
"mmc read ${kernel_addr_r} 0x1800 0x8000; " \
"mmc read ${fdt_addr_r} 0x1600 0x80; " \
"booti ${kernel_addr_r} - ${fdt_addr_r}; " \
4. According to your evaluation board and modify device to close display initial function

Code: Select all

~/yocto/build/tmp-glibc/work-shared/numaker-som-ma35d16a81/kernel-source/arch/arm64/boot/dts/nuvoton$
vim ma35d1.dtsi

&display {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_display0>;
    memory-region = <&display_buf>;
    //resets = <&reset MA35D1_RESET_DISP>;
    status = "okay";
}; 

Code: Select all

~/yocto/build/tmp-glibc/work-shared/numaker-som-ma35d16a81/kernel-source/arch/arm64/boot/dts/nuvoton$
vim ma35d1-som-256.dts

reserved-memory {
		display_buf: display_buf@0 {
			reg = <0x0 0x84000000 0x0 0x3000000>; /* 48MiB */
			no-map;
		};
		vc8k_buf: vc8k_buf@0 {
			reg = <0x0 0x8A800000 0x0 0x2000000>; /* 32MiB */
			no-map;
		};
		gc520l_buf: gc520l_buf@0 {
			reg = <0x0 0x8A000000 0x0 0x800000>; /* 8MiB */
			no-map;
		};
		rproc_buf: rproc_buf@0 {
			reg = <0x0 0x80020000 0x0 0x60000>; /* 384KB */
			no-map;
		};
	}; 
5. Re-define the U-Boot RAM size

Code: Select all

~/yocto/build/tmp-glibc/work/numaker_som_ma35d16a81-poky-linux/u-boot-ma35d1/2020.07-r0/git/arch/arm/dts$ vim ma35d1-sdcard0.dts

memory {
    device_type = "memory";
    reg = <0x00000000 0x80000000 0 0x0F000000>; /* 112M */
};
6. Close default logo from Yocto

Code: Select all

~/yocto/build/conf$ vim local.conf

IMAGE_FEATURES_remove += " splash "
7. Rebuild U-Boot, Linux kernel and re-pack Image

Code: Select all

~/yocto/build$ bitbake u-boot-ma35d1 linux-ma35d1 tf-a-ma35d1 –C compile && bitbake nvt-image-qt5 –c cleanall && bitbake nvt-image-qt5
8. Program the Image to MA35D1

9. Use NuWriter program the bmp file to address 0x1C00000

10. If you see the flicker when system running into Linux, you can disable " enable-gpios = <&gpiok 7 GPIO_ACTIVE_HIGH>; "

Code: Select all

	backlight: backlight {
		compatible = "pwm-backlight";
		brightness-levels = <250 225 175 125 75 25>;
		default-brightness-level = <5>;
		pwms = <&epwm1 1 50000>;
		//enable-gpios = <&gpiok 7 GPIO_ACTIVE_HIGH>;
		status = "okay";
        };
#MA35D1 #Logo #Booting

Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 3 guests