FAQ_MA35D1_Show Logo when booting
Posted: 21 Nov 2022, 10:10
1. Go to the following path and open U-Boot menuconfig
2. Enable LCD driver and modify RAM size in U-Boot
3. According to your boot source to modify U-Boot environment
4. According to your evaluation board and modify device to close display initial function
5. Re-define the U-Boot RAM size
6. Close default logo from Yocto
7. Rebuild U-Boot, Linux kernel and re-pack Image
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>; "
#MA35D1 #Logo #Booting
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
Code: Select all
Device Drivers --->
Graphics support --->
[*] Enable driver model support LCD/video
[*] Nuvoton MA35D1 video support
(0x84000000) MA35D1 DCU framebuffer address
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}; " \
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;
};
};
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 */
};
Code: Select all
~/yocto/build/conf$ vim local.conf
IMAGE_FEATURES_remove += " splash "
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
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";
};