incubator-nuttx/arch
Lee Lup Yuen 8e30c13441 arch/risc-v: Add support for SOPHGO SG2000 SoC (T-Head C906)
This PR adds support for the SOPHGO SG2000 SoC, based on T-Head C906 64-bit RISC-V Core. This will be used by the upcoming port of NuttX for Milk-V Duo S SBC.

Most of the code was derived from NuttX for Ox64 BL808. The source files are explained in the articles here: https://github.com/lupyuen/nuttx-sg2000

Modified Files in arch/risc-v:

`Kconfig`: Added ARCH_CHIP_SG2000 for SG2000 SoC

New Files in arch/risc-v:

`include/sg2000/chip.h`: SG2000 Definitions

`include/sg2000/irq.h`: External Interrupts

`src/sg2000/chip.h`: Interrupt Stack Macro

`src/sg2000/sg2000_allocateheap.c`: Kernel Heap

`src/sg2000/sg2000_head.S`: Linux Header and Boot Code

`src/sg2000/sg2000_irq.c`: Configure Interrupts

`src/sg2000/sg2000_irq_dispatch.c`: Dispatch Interrupts

`src/sg2000/sg2000_memorymap.h`: Memory Map

`src/sg2000/sg2000_mm_init.c`, `sg2000_mm_init.h`: Memory Mgmt

`src/sg2000/sg2000_pgalloc.c`: Page Allocator

`src/sg2000/sg2000_start.c`: Startup Code

`src/sg2000/sg2000_timerisr.c`: Timer Interrupt

`src/sg2000/hardware/sg2000_memorymap.h`: PLIC and UART Base Address

`src/sg2000/hardware/sg2000_plic.h`: PLIC Register Addresses

`src/sg2000/Kconfig`: SG2000 Config

`src/sg2000/Make.defs`: Makefile
2024-06-17 09:41:29 +08:00
..
arm Add flags for building shared objects for architectures supporting dynamic loading 2024-06-12 23:21:16 -03:00
arm64 imx9: map flexspi peripheral interface 2024-05-31 10:22:27 +08:00
avr Add basic support for locales in order to C++ streams to build and work for simple cases (POSIX / C locale). 2024-04-29 17:34:10 +08:00
ceva Add basic support for locales in order to C++ streams to build and work for simple cases (POSIX / C locale). 2024-04-29 17:34:10 +08:00
dummy
hc stack: update up_get_intstackbase API to support cpu id 2024-04-09 16:59:00 -03:00
mips up_putc: int up_putc, enter_critical_section may be called 2024-05-09 13:45:02 +08:00
misoc fix nxstyle 2024-05-13 22:24:36 +02:00
or1k up_putc: int up_putc, enter_critical_section may be called 2024-05-09 13:45:02 +08:00
renesas stack: update up_get_intstackbase API to support cpu id 2024-04-09 16:59:00 -03:00
risc-v arch/risc-v: Add support for SOPHGO SG2000 SoC (T-Head C906) 2024-06-17 09:41:29 +08:00
sim sim/net: Support to set the MTU of the sim netdevice. 2024-06-02 09:31:37 -03:00
sparc up_putc: int up_putc, enter_critical_section may be called 2024-05-09 13:45:02 +08:00
tricore arch/tricore: update the function prototype as mainline 2024-06-12 23:36:11 +08:00
x86 stack: update up_get_intstackbase API to support cpu id 2024-04-09 16:59:00 -03:00
x86_64 cmake:bugfix CMake compilation options settings should not use strings 2024-05-30 10:02:10 -03:00
xtensa ESP32S3 bootloader.mk file has a typo error. In the file CONFIG_ESP32S2_MCUBOOT_VERSION config variable is declared, while the correct config variable for esp32s3 bootloader.mk file is CONFIG_ESP32S3_MCUBOOT_VERSION which is defined in the .config file when the config is generated for ESP32S3-devkit board. 2024-06-16 23:36:54 +08:00
z16 up_putc: int up_putc, enter_critical_section may be called 2024-05-09 13:45:02 +08:00
z80 up_putc: int up_putc, enter_critical_section may be called 2024-05-09 13:45:02 +08:00
CMakeLists.txt build/cmake: add initial KERNEL mode support 2024-03-15 16:21:23 +08:00
Kconfig Kconfig: move LTO options to Build Setup menu 2024-06-02 09:26:35 -03:00