26 lines
667 B
C
26 lines
667 B
C
/*
|
|
* Copyright (c) 2019 Elliot Berman
|
|
*
|
|
* Use of this source code is governed by a MIT-style
|
|
* license that can be found in the LICENSE file or at
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
#pragma once
|
|
|
|
#define SIFIVE_IRQ_UART0 4
|
|
#define SIFIVE_IRQ_UART1 5
|
|
|
|
#define SIFIVE_NUM_IRQS 127
|
|
|
|
#define CLINT_BASE 0x02000000
|
|
#define PLIC_BASE 0x0c000000
|
|
#define UART0_BASE 0x10010000
|
|
#define UART1_BASE 0x10011000
|
|
#define GPIO_BASE 0x10060000
|
|
|
|
#if RISCV_XMODE_OFFSET == RISCV_MACH_OFFSET
|
|
#define PLIC_HART_IDX(hart) ((hart) ? ((2 * (hart)) - 1) : 0)
|
|
#elif RISCV_XMODE_OFFSET == RISCV_SUPER_OFFSET
|
|
#define PLIC_HART_IDX(hart) ((hart) ? (2 * (hart)) : ~0U)
|
|
#endif
|