diff --git a/Documentation/platforms/risc-v/qemu-rv/boards/rv-virt/index.rst b/Documentation/platforms/risc-v/qemu-rv/boards/rv-virt/index.rst index 6cdbe6ae4e630..df2e8f17ac86b 100644 --- a/Documentation/platforms/risc-v/qemu-rv/boards/rv-virt/index.rst +++ b/Documentation/platforms/risc-v/qemu-rv/boards/rv-virt/index.rst @@ -143,6 +143,44 @@ To run it with QEMU, use the following command:: -mon chardev=con,mode=readline \ -bios none -kernel nuttx +lvgl64_vector +------------- + +This configuration uses the LVGL graphics framework with RISC-V 64-bit support +and Vector Extension (V-extension) enabled. It allows developers to create +graphical applications with LVGL on RISC-V QEMU while leveraging the Vector +extension for potential SIMD optimization. + +Features: + +- 64-bit RISC-V architecture (RV64) +- RISC-V Vector Extension (RVV/V-extension) support +- LVGL graphics framework with 32-bit color depth +- VirtIO GPU device for framebuffer access +- NSH shell with built-in applications + +To build it:: + + $ ./tools/configure.sh rv-virt:lvgl64_vector + $ make -j$(nproc) + +To run it with QEMU with graphics output:: + + $ qemu-system-riscv64 -semihosting -M virt,aclint=on -cpu rv64,v=true -smp 1 \ + -chardev stdio,id=con,mux=on \ + -serial chardev:con \ + -device virtio-gpu-device,xres=640,yres=480,bus=virtio-mmio-bus.0 \ + -device virtio-mouse-device,bus=virtio-mmio-bus.1 \ + -mon chardev=con,mode=readline \ + -bios none -kernel nuttx + +After booting into the NSH shell, you can run the LVGL demo with:: + + nsh> lvgldemo + +This configuration is suitable for developing and testing LVGL applications +on 64-bit RISC-V targets with Vector extension support. + knetnsh64 --------- diff --git a/boards/risc-v/qemu-rv/rv-virt/configs/lvgl64_vector/defconfig b/boards/risc-v/qemu-rv/rv-virt/configs/lvgl64_vector/defconfig new file mode 100644 index 0000000000000..01a2e94e533f3 --- /dev/null +++ b/boards/risc-v/qemu-rv/rv-virt/configs/lvgl64_vector/defconfig @@ -0,0 +1,106 @@ +# +# This file is autogenerated: PLEASE DO NOT EDIT IT. +# +# You can use "make menuconfig" to make any modifications to the installed .config file. +# You can then do "make savedefconfig" to generate a new defconfig file that includes your +# modifications. +# +# CONFIG_LV_BUILD_EXAMPLES is not set +CONFIG_16550_ADDRWIDTH=0 +CONFIG_16550_UART0=y +CONFIG_16550_UART0_BASE=0x10000000 +CONFIG_16550_UART0_CLOCK=3686400 +CONFIG_16550_UART0_IRQ=37 +CONFIG_16550_UART0_SERIAL_CONSOLE=y +CONFIG_16550_UART=y +CONFIG_ALLOW_BSD_COMPONENTS=y +CONFIG_ARCH="risc-v" +CONFIG_ARCH_BOARD="rv-virt" +CONFIG_ARCH_BOARD_QEMU_RV_VIRT=y +CONFIG_ARCH_CHIP="qemu-rv" +CONFIG_ARCH_CHIP_QEMU_RV64=y +CONFIG_ARCH_CHIP_QEMU_RV=y +CONFIG_ARCH_CHIP_QEMU_RV_ISA_A=y +CONFIG_ARCH_CHIP_QEMU_RV_ISA_C=y +CONFIG_ARCH_CHIP_QEMU_RV_ISA_M=y +CONFIG_ARCH_CHIP_QEMU_RV_ISA_V=y +CONFIG_ARCH_FLOAT_H=y +CONFIG_ARCH_INTERRUPTSTACK=2048 +CONFIG_ARCH_RISCV=y +CONFIG_ARCH_STACKDUMP=y +CONFIG_BOARD_LOOPSPERMSEC=6366 +CONFIG_BUILTIN=y +CONFIG_DEBUG_FULLOPT=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_DEV_SIMPLE_ADDRENV=y +CONFIG_DRIVERS_VIDEO=y +CONFIG_DRIVERS_VIRTIO=y +CONFIG_DRIVERS_VIRTIO_GPU=y +CONFIG_DRIVERS_VIRTIO_MMIO=y +CONFIG_DRIVERS_VIRTIO_SERIAL=y +CONFIG_ELF=y +CONFIG_EXAMPLES_FB=y +CONFIG_EXAMPLES_HELLO=m +CONFIG_EXAMPLES_LVGLDEMO=y +CONFIG_EXAMPLES_LVGLDEMO_STACKSIZE=32768 +CONFIG_FAT_LCNAMES=y +CONFIG_FAT_LFN=y +CONFIG_FS_FAT=y +CONFIG_FS_FATTIME=y +CONFIG_FS_HOSTFS=y +CONFIG_FS_LARGEFILE=y +CONFIG_FS_PROCFS=y +CONFIG_GRAPHICS_LVGL=y +CONFIG_IDLETHREAD_STACKSIZE=2048 +CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_STACKSIZE=4096 +CONFIG_INPUT=y +CONFIG_INTELHEX_BINARY=y +CONFIG_IOB_BUFSIZE=1534 +CONFIG_IOB_NBUFFERS=24 +CONFIG_IOB_NCHAINS=24 +CONFIG_IOB_THROTTLE=2 +CONFIG_LIBC_ENVPATH=y +CONFIG_LIBC_EXECFUNCS=y +CONFIG_LIBC_PERROR_STDOUT=y +CONFIG_LIBC_STRERROR=y +CONFIG_LV_COLOR_DEPTH_32=y +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y +CONFIG_LV_USE_DEMO_WIDGETS=y +CONFIG_LV_USE_LOG=y +CONFIG_LV_USE_NUTTX=y +CONFIG_LV_USE_NUTTX_TOUCHSCREEN=y +CONFIG_MM_IOB=y +CONFIG_MQ_MAXMSGSIZE=64 +CONFIG_NSH_ARCHINIT=y +CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_FILEIOSIZE=512 +CONFIG_NSH_FILE_APPS=y +CONFIG_NSH_READLINE=y +CONFIG_NSH_SYMTAB=y +CONFIG_NSH_SYMTAB_ARRAYNAME="g_symtab" +CONFIG_NSH_SYMTAB_COUNTNAME="g_nsymbols" +CONFIG_PATH_INITIAL="/system/bin" +CONFIG_RAM_SIZE=33554432 +CONFIG_RAM_START=0x80000000 +CONFIG_READLINE_CMD_HISTORY=y +CONFIG_RISCV_SEMIHOSTING_HOSTFS=y +CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_HAVE_PARENT=y +CONFIG_SCHED_HPWORK=y +CONFIG_SCHED_LPWORK=y +CONFIG_SCHED_WAITPID=y +CONFIG_SERIAL_UART_ARCH_MMIO=y +CONFIG_STACK_COLORATION=y +CONFIG_START_DAY=17 +CONFIG_START_MONTH=12 +CONFIG_START_YEAR=2025 +CONFIG_SYMTAB_ORDEREDBYNAME=y +CONFIG_SYSLOG_TIMESTAMP=y +CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NSH_STACKSIZE=3072 +CONFIG_TESTING_GETPRIME=y +CONFIG_TESTING_OSTEST=y +CONFIG_VIDEO_FB=y