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";
};