diff options
author | Liu Yibin <yibin_liu@c-sky.com> | 2020-01-02 12:21:36 +0800 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2020-01-02 10:03:23 +0530 |
commit | c0849cd731fca884c939e6a1a699a853231292a2 (patch) | |
tree | fbb2b3d73abd72f090c97f33bd0a86e310f91c0a /platform/thead/c910/platform.h | |
parent | 46a90d90e7dca6eeb66700b6970171119c51fd66 (diff) |
platform: Add T-head C910 initial support
This commit provides basic support for the Thead/C910 platform.
Signed-off-by: Liu Yibin <yibin_liu@c-sky.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Diffstat (limited to 'platform/thead/c910/platform.h')
-rw-r--r-- | platform/thead/c910/platform.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/platform/thead/c910/platform.h b/platform/thead/c910/platform.h new file mode 100644 index 0000000..bc176e5 --- /dev/null +++ b/platform/thead/c910/platform.h @@ -0,0 +1,51 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef _C910_PLATFORM_H_ +#define _C910_PLATFORM_H_ + +#define C910_HART_COUNT 16 +#define C910_HART_STACK_SIZE 8192 + +#define SBI_THEAD_FEATURES \ + (SBI_PLATFORM_HAS_PMP | \ + SBI_PLATFORM_HAS_SCOUNTEREN | \ + SBI_PLATFORM_HAS_MCOUNTEREN | \ + SBI_PLATFORM_HAS_MFAULTS_DELEGATION) + +#define CSR_MCOR 0x7c2 +#define CSR_MHCR 0x7c1 +#define CSR_MCCR2 0x7c3 +#define CSR_MHINT 0x7c5 +#define CSR_MXSTATUS 0x7c0 +#define CSR_PLIC_BASE 0xfc1 +#define CSR_MRMR 0x7c6 +#define CSR_MRVBR 0x7c7 + +#define SBI_EXT_VENDOR_C910_BOOT_OTHER_CORE 0x09000003 + +#define C910_PLIC_CLINT_OFFSET 0x04000000 /* 64M */ +#define C910_PLIC_DELEG_OFFSET 0x001ffffc +#define C910_PLIC_DELEG_ENABLE 0x1 + +struct c910_regs_struct { + u64 pmpaddr0; + u64 pmpaddr1; + u64 pmpaddr2; + u64 pmpaddr3; + u64 pmpaddr4; + u64 pmpaddr5; + u64 pmpaddr6; + u64 pmpaddr7; + u64 pmpcfg0; + u64 mcor; + u64 mhcr; + u64 mccr2; + u64 mhint; + u64 mxstatus; + u64 plic_base_addr; + u64 clint_base_addr; +}; + +#endif /* _C910_PLATFORM_H_ */ |