arch/risc-v: Add support for StarFive JH7110 SoC #10069
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds support for the StarFive JH7110 RISC-V SoC. This will be used by the upcoming port of NuttX for PINE64 Star64 SBC. The source files are explained in the articles here
Modified Files in arch/risc-v
Kconfig: Added ARCH_CHIP_JH7110 for JH7110 SoCNew Files in arch/risc-v
include/jh7110/chip.h: JH7110 Definitionsinclude/jh7110/irq.h: Support 127 External Interruptssrc/jh7110/chip.h: Interrupt Stack Macrosrc/jh7110/jh7110_allocateheap.c: Kernel Heapsrc/jh7110/jh7110_head.S: Linux Header and Boot Codesrc/jh7110/jh7110_irq.c: Configure Interruptssrc/jh7110/jh7110_irq_dispatch.c: Dispatch Interruptssrc/jh7110/jh7110_memorymap.h: Memory Mapsrc/jh7110/jh7110_mm_init.c,jh7110_mm_init.h: Memory Mgmtsrc/jh7110/jh7110_pgalloc.c: Page Allocatorsrc/jh7110/jh7110_start.c: Startup Codesrc/jh7110/jh7110_timerisr.c: Timer Interruptsrc/jh7110/hardware/jh7110_memorymap.h: PLIC Base Addresssrc/jh7110/hardware/jh7110_plic.h: PLIC Register Addressessrc/jh7110/Kconfig: JH7110 Configsrc/jh7110/Make.defs: MakefileImpact
This PR is needed for the upcoming port of NuttX for PINE64 Star64 SBC.
No impact on existing code, since the JH7110 source files are not used by existing code.
Testing
We tested the JH7110 source files on PINE64 Star64 SBC. NuttX boots correctly to NSH Shell:
We may ignore the
exec_spawnmessages, they are caused by NSH attempting to load the app binaries from the NuttX Apps Filesystem (initrd), when they are actually built-in NSH Commands.