arch/risc-v/eic7700x: Add support for ESWIN EIC7700X SoC #95
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 ESWIN EIC7700X RISC-V SoC. This will be used by the upcoming port of NuttX for PINE64 StarPro64 SBC.
Most of the code was derived from NuttX for SOPHGO SG2000 SoC. The modified code is explained here
Modified Files in arch/risc-v
Kconfig
: Added ARCH_CHIP_EIC7700X for EIC7700X SoCNew Files in arch/risc-v
include/eic7700x/chip.h
: EIC7700X Definitionsinclude/eic7700x/irq.h
: External Interruptssrc/eic7700x/chip.h
: Interrupt Stack Macrosrc/eic7700x/eic7700x_allocateheap.c
: Kernel Heapsrc/eic7700x/eic7700x_head.S
: Linux Header and Boot Codesrc/eic7700x/eic7700x_irq.c
: Configure Interruptssrc/eic7700x/eic7700x_irq_dispatch.c
: Dispatch Interruptssrc/eic7700x/eic7700x_memorymap.h
: Memory Mapsrc/eic7700x/eic7700x_mm_init.c
,eic7700x_mm_init.h
: Memory Mgmtsrc/eic7700x/eic7700x_pgalloc.c
: Page Allocatorsrc/eic7700x/eic7700x_start.c
: Startup Codesrc/eic7700x/eic7700x_timerisr.c
: Timer Interruptsrc/eic7700x/hardware/eic7700x_memorymap.h
: PLIC and UART Base Addresssrc/eic7700x/hardware/eic7700x_plic.h
: PLIC Register Addressessrc/eic7700x/Kconfig
: EIC7700X Configsrc/eic7700x/Make.defs
: MakefileDocumentation
platforms/risc-v/eic7700x/index.rst
: Added EIC7700X SoCImpact
This PR is needed for the upcoming port of NuttX for PINE64 StarPro64 SBC.
No impact on existing code, since the EIC7700X source files are not used by existing code.
Testing
We tested the EIC7700X source files on PINE64 StarPro64 SBC. NuttX boots correctly to NSH Shell and passes OSTest: