614570cdcb
This PR adds support for the Bouffalo Lab BL808 SoC, based on T-Head C906 64-bit RISC-V Core. This will be used by the upcoming port of NuttX for PINE64 Ox64 SBC. Most of the code was derived from NuttX for Star64 JH7110. The UART Driver was derived from BL602 NuttX. The source files are explained in the articles here: https://github.com/lupyuen/nuttx-ox64 `Kconfig`: Added ARCH_CHIP_BL808 for BL808 SoC `include/bl808/chip.h`: BL808 Definitions `include/bl808/irq.h`: External Interrupts `src/bl808/chip.h`: Interrupt Stack Macro `src/bl808/bl808_allocateheap.c`: Kernel Heap `src/bl808/bl808_head.S`: Linux Header and Boot Code `src/bl808/bl808_irq.c`: Configure Interrupts `src/bl808/bl808_irq_dispatch.c`: Dispatch Interrupts `src/bl808/bl808_memorymap.h`: Memory Map `src/bl808/bl808_mm_init.c`, `bl808_mm_init.h`: Memory Mgmt `src/bl808/bl808_pgalloc.c`: Page Allocator `src/bl808/bl808_serial.c`, `bl808_serial.h`: UART Driver `src/bl808/bl808_start.c`: Startup Code `src/bl808/bl808_timerisr.c`: Timer Interrupt `src/bl808/hardware/bl808_memorymap.h`: PLIC and UART Base Address `src/bl808/hardware/bl808_plic.h`: PLIC Register Addresses `src/bl808/hardware/bl808_uart.h`: UART Register Addresses `src/bl808/Kconfig`: BL808 Config `src/bl808/Make.defs`: Makefile
41 lines
1.6 KiB
C
41 lines
1.6 KiB
C
/****************************************************************************
|
|
* arch/risc-v/include/bl808/irq.h
|
|
*
|
|
* 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_INCLUDE_BL808_IRQ_H
|
|
#define __ARCH_RISCV_INCLUDE_BL808_IRQ_H
|
|
|
|
/****************************************************************************
|
|
* Included Files
|
|
****************************************************************************/
|
|
|
|
/****************************************************************************
|
|
* Pre-processor Definitions
|
|
****************************************************************************/
|
|
|
|
/* Map RISC-V exception code to NuttX IRQ */
|
|
|
|
#define NR_IRQS (RISCV_IRQ_SEXT + 57)
|
|
|
|
#define BL808_IRQ_NUM_BASE (16)
|
|
|
|
#define BL808_IRQ_UART3 (RISCV_IRQ_SEXT + BL808_IRQ_NUM_BASE + 4)
|
|
|
|
#endif /* __ARCH_RISCV_INCLUDE_BL808_IRQ_H */
|