blob: c67e07c212faeda41b19a8db55ce62b351d9209b [file] [log] [blame]
bangzheng.liufe648a92023-10-27 13:18:41 +08001/*
2 * Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
3 *
4 * SPDX-License-Identifier: MIT
5 */
6
7#ifndef __SOC_H
8#define __SOC_H
9#ifndef __ASM
10#include "FreeRTOSConfig.h"
11#include "riscv_const.h"
12#include "irq.h"
13#include "register.h"
14#endif
15
16#define SOC_ECLIC_NUM_INTERRUPTS 32
17#define SOC_TIMER_FREQ configCPU_CLOCK_HZ
18#define SOC_ECLIC_CTRL_ADDR 0x0C000000UL
19#define SOC_TIMER_CTRL_ADDR 0x02000000UL
20#define SOC_PMP_BASE 0xff100000UL
21#define SOC_LOCAL_SRAM_BASE 0x10000000UL
22#define SRAM_BEGIN SOC_LOCAL_SRAM_BASE
23#define SRAM_SIZE (0x20000)//(96*1024)
24#define SRAM_END (SRAM_BEGIN + SRAM_SIZE)
25#define IO_BASE 0xff000000UL
26#define IO_SIZE 0x00100000
27#define IO_BEGIN (IO_BASE)
28#define IO_END (IO_BASE + IO_SIZE)
29
30/*SoC/Shadow register mapping*/
31#define VRTC_PARA_REG SYSCTRL_STATUS_REG2
32#define VRTC_STICKY_REG SYSCTRL_STICKY_REG2
33
34#define TIMERE_LOW_REG SYSCTRL_TIMERE
35#define TIMERE_HIG_REG SYSCTRL_TIMERE_HI
36#define WAKEUP_REASON_STICK_REG SYSCTRL_STICKY_REG7
37#define FSM_TRIGER_CTRL SYSCTRL_TIMERB_CTRL
38#define FSM_TRIGER_SRC SYSCTRL_TIMERB
39
40#define TIMER_CLK_SEL_SYS_CLK 0
41#define TIMER_CLK_SEL_1US 1
42#define TIMER_CLK_SEL_10US 2
43#define TIMER_CLK_SEL_100US 3
44#define TIMER_MODE_IRQ_PERIO (1 << 6)
45#define TIMER_EN (1 << 7)
46
47#define UART_PORT_CONS UART_B_WFIFO
48#define UART_PORT_WAKEUP_IRQ IRQ_NUM_AO_UART_C
49#define UART_PORT_WAKEUP_REG_BASE UART_AO_WFIFO
50
51#define SYSCTRL_TIMER SYSCTRL_TIMERJ
52#define SYSTICK_TIMER_CTRL SYSCTRL_TIMERJ_CTRL
53#define SYSTICK_TIMER_CTRL_PARM (TIMER_MODE_IRQ_PERIO | TIMER_EN | TIMER_CLK_SEL_1US)
54#define DSP_FSM_TRIGER_CTRL SYSCTRL_TIMERI_CTRL
55#define DSP_FSM_TRIGER_SRC SYSCTRL_TIMERI
56
Yao Jiec121e942024-04-03 17:14:05 +080057#define AOCPU_ALIVE_REG_VAL_WR (*(volatile uint32_t *)MAILBOX_WR_MBOX04)
58#define AOCPU_ALIVE_REG_VAL_RD (*(volatile uint32_t *)MAILBOX_RD_MBOX04)
59
bangzheng.liufe648a92023-10-27 13:18:41 +080060#endif