-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
risc-v/qemu-rv: Add LED Driver for QEMU RISC-V 32-bit and 64-bit #12762
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again Rushabh for your awesome contribution to NuttX Kernel in Google Summer of Code! :-)
@rushabhvg Could you please Rebase To The Latest Master? It should fix the "imx9-sdimage.img" Issue for NuttX Continuous Integration thanks! |
eab76d3
to
feb7160
Compare
@lupyuen Yes, I have rebased to latest master and re-pushed the code. Thanks! |
@rushabhvg Oops sorry we have a problem with the 2 defconfig files, it's missing the newline at the end of the files. Could you fix the newlines, then run $ ./tools/refresh.sh --silent rv-virt:leds64
Normalize rv-virt:leds64
75c75
< CONFIG_USERLED_LOWER=y
\ No newline at end of file
---
> CONFIG_USERLED_LOWER=y
Saving the new configuration file
$ ./tools/refresh.sh --silent rv-virt:leds
Normalize rv-virt:leds
71c71
< CONFIG_USERLED_LOWER=y
\ No newline at end of file
---
> CONFIG_USERLED_LOWER=y
Saving the new configuration file UPDATE: Sorry the rv-virt/smp and rv-virt/smp64 builds are also failing. I'll update you when I figure out what's wrong thanks! |
6107833
to
abfe709
Compare
- This PR adds the LED Driver for QEMU RISC-V 32-bit and 64-bit (User LEDs and Auto LEDs) - QEMU RISC-V LED Driver will be used by the Rust Blinky App for Google Summer of Code - Blinking the LED is probably the most common Embedded Demo, and now it's supported by QEMU RISC-V - We added NuttX Configs `rv-virt:leds` and `rv-virt:leds64` to support User LEDs for 32-bit and 64-bit RISC-V - Turning on/off a Simulated User LED will print a log message: "LED 1 set to 1" - The code is derived from NuttX PinePhone LED Driver
76ecc1a
to
6289f72
Compare
The |
Thank you @lupyuen for the last minute fixes! |
Summary
rv-virt:leds
andrv-virt:leds64
to support User LEDs for 32-bit and 64-bit RISC-VModified Files in boards:
Kconfig
: Added ARCH_HAVE_LEDS for QEMU RISC-VModified Files in boards/risc-v/qemu-rv/rv-virt:
include/board.h
: Added LED Definitionssrc/qemu_rv_appinit.c
: Init User LEDs at startupsrc/Makefile
: Added source files for User LEDs and Auto LEDssrc/CMakeLists.txt
: Added source files for User LEDs and Auto LEDsNew Files in boards/risc-v/qemu-rv/rv-virt:
src/qemu_rv_autoleds.c
: QEMU RISC-V driver for Auto LEDssrc/qemu_rv_userleds.c
: QEMU RISC-V driver for User LEDsconfigs/leds/defconfig
: NuttX Config for 32-bit RISC-V with User LEDs (rv-virt:leds
)configs/leds64/defconfig
: NuttX Config for 64-bit RISC-V with User LEDs (rv-virt:leds64
)Updated Documentation:
platforms/risc-v/qemu-rv/boards/rv-virt/index.rst
: Addedrv-virt:leds
andrv-virt:leds64
Impact
rv-virt:leds
andrv-virt:leds64
only)CONFIG_USERLED
is disabled. We provided Empty Stub Functions for the Auto LED Driver, to minimise the impact on all QEMU RISC-V Boards.Testing
We tested Rust Blinky App and the
leds
Example App onrv-virt:leds
andrv-virt:leds64
:Regression Testing
For Regression Testing, we tested QEMU RISC-V Flat Build and Kernel Build, 32-bit and 64-bit: