blob: a4b6987d844753e2ec7b6479080086895ea6e673 [file] [log] [blame]
Xiaohu.Huanga2c5a042022-03-12 22:41:09 +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
Jianyi Shia3c107b2022-04-29 11:04:46 +080017#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)
Xiaohu.Huanga2c5a042022-03-12 22:41:09 +080029
30/*SoC/Shadow register mapping*/
xiaohu.huang38262102022-05-06 22:21:48 +080031#define VRTC_PARA_REG SYSCTRL_STATUS_REG2
32#define VRTC_STICKY_REG SYSCTRL_STICKY_REG2
Xiaohu.Huanga2c5a042022-03-12 22:41:09 +080033
xiaohu.huang38262102022-05-06 22:21:48 +080034#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
Xiaohu.Huanga2c5a042022-03-12 22:41:09 +080039
xiaohu.huang38262102022-05-06 22:21:48 +080040#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)
Xiaohu.Huanga2c5a042022-03-12 22:41:09 +080046
xiaohu.huang38262102022-05-06 22:21:48 +080047#define UART_PORT_CONS UART_B_WFIFO
48#define SYSCTRL_TIMER SYSCTRL_TIMERJ
49#define SYSTICK_TIMER_CTRL SYSCTRL_TIMERJ_CTRL
Xiaohu.Huanga2c5a042022-03-12 22:41:09 +080050#define SYSTICK_TIMER_CTRL_PARM (TIMER_MODE_IRQ_PERIO | TIMER_EN | TIMER_CLK_SEL_1US)
xiaohu.huang38262102022-05-06 22:21:48 +080051#define DSP_FSM_TRIGER_CTRL SYSCTRL_TIMERI_CTRL
52#define DSP_FSM_TRIGER_SRC SYSCTRL_TIMERI
53
bangzheng.liuc89146f2024-01-08 15:54:30 +080054#define AOCPU_ALIVE_REG_VAL_WR (*(volatile uint32_t *)MAILBOX_WR_MBOX04)
55#define AOCPU_ALIVE_REG_VAL_RD (*(volatile uint32_t *)MAILBOX_RD_MBOX04)
56
Xiaohu.Huanga2c5a042022-03-12 22:41:09 +080057#endif