65ffe4e13e
The changes unify the tick.c implementations for all risc-v64 architectures, leveraging the CPUTIME feature. This refactoring was necessary to streamline the codebase, and ensure consistent timer handling across different platforms. Changes: - Updated `Kconfig` in `bsp/cvitek/cv18xx_risc-v` to fix formatting issues. - Updated .config for BSPs to update `CPUTIME_TIMER_FREQ` - Updated header of for API `riscv_cputime_init` - Initialized riscv timer on `rt_hw_tick_init` - Refactored `tick.c` and `tick.h` in `libcpu/risc-v/t-head/c906` and `libcpu/risc-v/virt64`: - Replaced direct use of `rdtime` with `clock_cpu_gettime`. - Removed redundant timer frequency definitions. - Added static assertions to check the value of `CPUTIME_TIMER_FREQ`. - Initialized `tick_cycles` based on `CPUTIME_TIMER_FREQ`. - Integrated `ktime` support for tick initialization. Signed-off-by: Shell <smokewood@qq.com> Reviewed-on: https://github.com/RT-Thread/rt-thread/pull/9164 Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
78 lines
1.3 KiB
Plaintext
Executable File
78 lines
1.3 KiB
Plaintext
Executable File
mainmenu "RT-Thread Project Configuration"
|
|
|
|
BSP_DIR := .
|
|
|
|
RTT_DIR := ../../..
|
|
|
|
PKGS_DIR := packages
|
|
|
|
source "$(RTT_DIR)/Kconfig"
|
|
osource "$PKGS_DIR/Kconfig"
|
|
rsource "board/Kconfig"
|
|
|
|
config BSP_USING_CV18XX
|
|
bool
|
|
select ARCH_RISCV64
|
|
select ARCH_USING_RISCV_COMMON64
|
|
select RT_USING_SYSTEM_WORKQUEUE
|
|
select RT_USING_COMPONENTS_INIT
|
|
select RT_USING_USER_MAIN
|
|
select RT_USING_CACHE
|
|
select ARCH_MM_MMU
|
|
select RT_USING_DEVICE_OPS
|
|
default y
|
|
|
|
config C906_PLIC_PHY_ADDR
|
|
hex
|
|
default 0x70000000
|
|
|
|
config IRQ_MAX_NR
|
|
int
|
|
default 64
|
|
|
|
config TIMER_CLK_FREQ
|
|
int
|
|
default 25000000
|
|
|
|
config GPIO_IRQ_BASE
|
|
int
|
|
default 60
|
|
|
|
config SYS_GPIO_IRQ_BASE
|
|
int
|
|
default 70
|
|
|
|
config __STACKSIZE__
|
|
int "stack size for interrupt"
|
|
default 4096
|
|
|
|
config SOC_TYPE_CV180X
|
|
bool
|
|
default n
|
|
|
|
config SOC_TYPE_SG2002
|
|
bool
|
|
default n
|
|
|
|
choice
|
|
prompt "Board Type"
|
|
default BOARD_TYPE_MILKV_DUO256M
|
|
|
|
config BOARD_TYPE_MILKV_DUO
|
|
select SOC_TYPE_CV180X
|
|
bool "milkv-duo"
|
|
|
|
config BOARD_TYPE_MILKV_DUO_SPINOR
|
|
select SOC_TYPE_CV180X
|
|
bool "milkv-duo-spinor"
|
|
|
|
config BOARD_TYPE_MILKV_DUO256M
|
|
select SOC_TYPE_SG2002
|
|
bool "milkv-duo256m"
|
|
|
|
config BOARD_TYPE_MILKV_DUO256M_SPINOR
|
|
select SOC_TYPE_SG2002
|
|
bool "milkv-duo256m-spinor"
|
|
|
|
endchoice
|