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: https://lupyuen.github.io/articles/starpro64#appendix-port-nuttx-to-starpro64 Modified Files in arch/risc-v: Kconfig: Added ARCH_CHIP_EIC7700X for EIC7700X SoC New Files in arch/risc-v: include/eic7700x/chip.h: EIC7700X Definitions include/eic7700x/irq.h: External Interrupts src/eic7700x/chip.h: Interrupt Stack Macro src/eic7700x/eic7700x_allocateheap.c: Kernel Heap src/eic7700x/eic7700x_head.S: Linux Header and Boot Code src/eic7700x/eic7700x_irq.c: Configure Interrupts src/eic7700x/eic7700x_irq_dispatch.c: Dispatch Interrupts src/eic7700x/eic7700x_memorymap.h: Memory Map src/eic7700x/eic7700x_mm_init.c, eic7700x_mm_init.h: Memory Mgmt src/eic7700x/eic7700x_pgalloc.c: Page Allocator src/eic7700x/eic7700x_start.c: Startup Code src/eic7700x/eic7700x_timerisr.c: Timer Interrupt src/eic7700x/hardware/eic7700x_memorymap.h: PLIC and UART Base Address src/eic7700x/hardware/eic7700x_plic.h: PLIC Register Addresses src/eic7700x/Kconfig: EIC7700X Config src/eic7700x/Make.defs: Makefile Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
44 lines
1.7 KiB
C
44 lines
1.7 KiB
C
/****************************************************************************
|
|
* arch/risc-v/src/eic7700x/eic7700x_memorymap.h
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership. The
|
|
* ASF licenses this file to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance with the
|
|
* License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
* License for the specific language governing permissions and limitations
|
|
* under the License.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef __ARCH_RISCV_SRC_EIC7700X_EIC7700X_MEMORYMAP_H
|
|
#define __ARCH_RISCV_SRC_EIC7700X_EIC7700X_MEMORYMAP_H
|
|
|
|
/****************************************************************************
|
|
* Included Files
|
|
****************************************************************************/
|
|
|
|
#include "riscv_common_memorymap.h"
|
|
|
|
/****************************************************************************
|
|
* Pre-processor Definitions
|
|
****************************************************************************/
|
|
|
|
/* Idle thread stack starts from _ebss */
|
|
|
|
#ifndef __ASSEMBLY__
|
|
#define EIC7700X_IDLESTACK_BASE (uintptr_t)_ebss
|
|
#else
|
|
#define EIC7700X_IDLESTACK_BASE _ebss
|
|
#endif
|
|
|
|
#endif /* __ARCH_RISCV_SRC_EIC7700X_EIC7700X_MEMORYMAP_H */
|