riscv: Rename SiFive CLINT to RISC-V ALINT

As the RISC-V ACLINT specification is defined to be backward compatible
with the SiFive CLINT specification, we rename SiFive CLINT to RISC-V
ALINT in the source tree to be future-proof.

Signed-off-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Rick Chen <rick@andestech.com>
This commit is contained in:
Bin Meng 2023-06-21 23:11:46 +08:00 committed by Leo Yu-Chi Liang
parent 7f1a30fdeb
commit 9675d92027
14 changed files with 35 additions and 35 deletions

View file

@ -1330,7 +1330,7 @@ F: doc/arch/riscv.rst
F: doc/usage/sbi.rst F: doc/usage/sbi.rst
F: drivers/sysreset/sysreset_sbi.c F: drivers/sysreset/sysreset_sbi.c
F: drivers/timer/andes_plmt_timer.c F: drivers/timer/andes_plmt_timer.c
F: drivers/timer/sifive_clint_timer.c F: drivers/timer/riscv_aclint_timer.c
F: tools/prelink-riscv.c F: tools/prelink-riscv.c
RISC-V CANAAN KENDRYTE K210 RISC-V CANAAN KENDRYTE K210

View file

@ -185,22 +185,22 @@ config DMA_ADDR_T_64BIT
bool bool
default y if 64BIT default y if 64BIT
config SIFIVE_CLINT config RISCV_ACLINT
bool bool
depends on RISCV_MMODE depends on RISCV_MMODE
select REGMAP select REGMAP
select SYSCON select SYSCON
help help
The SiFive CLINT block holds memory-mapped control and status registers The RISC-V ACLINT block holds memory-mapped control and status registers
associated with software and timer interrupts. associated with software and timer interrupts.
config SPL_SIFIVE_CLINT config SPL_RISCV_ACLINT
bool bool
depends on SPL_RISCV_MMODE depends on SPL_RISCV_MMODE
select SPL_REGMAP select SPL_REGMAP
select SPL_SYSCON select SPL_SYSCON
help help
The SiFive CLINT block holds memory-mapped control and status registers The RISC-V ACLINT block holds memory-mapped control and status registers
associated with software and timer interrupts. associated with software and timer interrupts.
config SIFIVE_CACHE config SIFIVE_CACHE

View file

@ -11,7 +11,7 @@ config SIFIVE_FU540
imply CPU imply CPU
imply CPU_RISCV imply CPU_RISCV
imply RISCV_TIMER if (RISCV_SMODE || SPL_RISCV_SMODE) imply RISCV_TIMER if (RISCV_SMODE || SPL_RISCV_SMODE)
imply SPL_SIFIVE_CLINT imply SPL_RISCV_ACLINT
imply CMD_CPU imply CMD_CPU
imply SPL_CPU imply SPL_CPU
imply SPL_OPENSBI imply SPL_OPENSBI

View file

@ -11,7 +11,7 @@ config SIFIVE_FU740
imply CPU imply CPU
imply CPU_RISCV imply CPU_RISCV
imply RISCV_TIMER if (RISCV_SMODE || SPL_RISCV_SMODE) imply RISCV_TIMER if (RISCV_SMODE || SPL_RISCV_SMODE)
imply SPL_SIFIVE_CLINT imply SPL_RISCV_ACLINT
imply CMD_CPU imply CMD_CPU
imply SPL_CPU imply SPL_CPU
imply SPL_OPENSBI imply SPL_OPENSBI

View file

@ -9,8 +9,8 @@ config GENERIC_RISCV
imply CPU imply CPU
imply CPU_RISCV imply CPU_RISCV
imply RISCV_TIMER if (RISCV_SMODE || SPL_RISCV_SMODE) imply RISCV_TIMER if (RISCV_SMODE || SPL_RISCV_SMODE)
imply SIFIVE_CLINT if RISCV_MMODE imply RISCV_ACLINT if RISCV_MMODE
imply SPL_SIFIVE_CLINT if SPL_RISCV_MMODE imply SPL_RISCV_ACLINT if SPL_RISCV_MMODE
imply CMD_CPU imply CMD_CPU
imply SPL_CPU imply SPL_CPU
imply SPL_OPENSBI imply SPL_OPENSBI

View file

@ -25,4 +25,4 @@ config STARFIVE_JH7110
imply SPL_CPU imply SPL_CPU
imply SPL_LOAD_FIT imply SPL_LOAD_FIT
imply SPL_OPENSBI imply SPL_OPENSBI
imply SPL_SIFIVE_CLINT imply SPL_RISCV_ACLINT

View file

@ -18,8 +18,8 @@
struct arch_global_data { struct arch_global_data {
long boot_hart; /* boot hart id */ long boot_hart; /* boot hart id */
phys_addr_t firmware_fdt_addr; phys_addr_t firmware_fdt_addr;
#if CONFIG_IS_ENABLED(SIFIVE_CLINT) #if CONFIG_IS_ENABLED(RISCV_ACLINT)
void __iomem *clint; /* clint base address */ void __iomem *aclint; /* aclint base address */
#endif #endif
#ifdef CONFIG_ANDES_PLICSW #ifdef CONFIG_ANDES_PLICSW
void __iomem *plicsw; /* andes plicsw base address */ void __iomem *plicsw; /* andes plicsw base address */

View file

@ -12,7 +12,7 @@
*/ */
enum { enum {
RISCV_NONE, RISCV_NONE,
RISCV_SYSCON_CLINT, /* Core Local Interruptor (CLINT) */ RISCV_SYSCON_ACLINT, /* Advanced Core Local Interruptor (ACLINT) */
RISCV_SYSCON_PLICSW, /* Andes PLICSW */ RISCV_SYSCON_PLICSW, /* Andes PLICSW */
}; };

View file

@ -12,7 +12,7 @@ obj-$(CONFIG_CMD_GO) += boot.o
obj-y += cache.o obj-y += cache.o
obj-$(CONFIG_SIFIVE_CACHE) += sifive_cache.o obj-$(CONFIG_SIFIVE_CACHE) += sifive_cache.o
ifeq ($(CONFIG_$(SPL_)RISCV_MMODE),y) ifeq ($(CONFIG_$(SPL_)RISCV_MMODE),y)
obj-$(CONFIG_$(SPL_)SIFIVE_CLINT) += sifive_clint.o obj-$(CONFIG_$(SPL_)RISCV_ACLINT) += aclint_ipi.o
obj-$(CONFIG_ANDES_PLICSW) += andes_plicsw.o obj-$(CONFIG_ANDES_PLICSW) += andes_plicsw.o
else else
obj-$(CONFIG_SBI) += sbi.o obj-$(CONFIG_SBI) += sbi.o

View file

@ -29,16 +29,16 @@ int riscv_init_ipi(void)
struct udevice *dev; struct udevice *dev;
ret = uclass_get_device_by_driver(UCLASS_TIMER, ret = uclass_get_device_by_driver(UCLASS_TIMER,
DM_DRIVER_GET(sifive_clint), &dev); DM_DRIVER_GET(riscv_aclint_timer), &dev);
if (ret) if (ret)
return ret; return ret;
if (dev_get_driver_data(dev) != 0) if (dev_get_driver_data(dev) != 0)
gd->arch.clint = dev_read_addr_ptr(dev); gd->arch.aclint = dev_read_addr_ptr(dev);
else else
gd->arch.clint = syscon_get_first_range(RISCV_SYSCON_CLINT); gd->arch.aclint = syscon_get_first_range(RISCV_SYSCON_ACLINT);
if (!gd->arch.clint) if (!gd->arch.aclint)
return -EINVAL; return -EINVAL;
return 0; return 0;
@ -46,27 +46,27 @@ int riscv_init_ipi(void)
int riscv_send_ipi(int hart) int riscv_send_ipi(int hart)
{ {
writel(1, (void __iomem *)MSIP_REG(gd->arch.clint, hart)); writel(1, (void __iomem *)MSIP_REG(gd->arch.aclint, hart));
return 0; return 0;
} }
int riscv_clear_ipi(int hart) int riscv_clear_ipi(int hart)
{ {
writel(0, (void __iomem *)MSIP_REG(gd->arch.clint, hart)); writel(0, (void __iomem *)MSIP_REG(gd->arch.aclint, hart));
return 0; return 0;
} }
int riscv_get_ipi(int hart, int *pending) int riscv_get_ipi(int hart, int *pending)
{ {
*pending = readl((void __iomem *)MSIP_REG(gd->arch.clint, hart)); *pending = readl((void __iomem *)MSIP_REG(gd->arch.aclint, hart));
return 0; return 0;
} }
static const struct udevice_id riscv_aclint_swi_ids[] = { static const struct udevice_id riscv_aclint_swi_ids[] = {
{ .compatible = "riscv,aclint-mswi", .data = RISCV_SYSCON_CLINT }, { .compatible = "riscv,aclint-mswi", .data = RISCV_SYSCON_ACLINT },
{ } { }
}; };

View file

@ -29,7 +29,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select SUPPORT_SPL select SUPPORT_SPL
imply CPU_RISCV imply CPU_RISCV
imply RISCV_TIMER imply RISCV_TIMER
imply SPL_SIFIVE_CLINT imply SPL_RISCV_ACLINT
imply CMD_CPU imply CMD_CPU
imply SPL_CPU_SUPPORT imply SPL_CPU_SUPPORT
imply SPL_SMP imply SPL_SMP

View file

@ -34,7 +34,7 @@ config BOARD_SPECIFIC_OPTIONS
imply SMP imply SMP
imply DM_SERIAL imply DM_SERIAL
imply SIFIVE_SERIAL imply SIFIVE_SERIAL
imply SIFIVE_CLINT imply RISCV_ACLINT
imply POWER_DOMAIN imply POWER_DOMAIN
imply SIMPLE_PM_BUS imply SIMPLE_PM_BUS
imply CLK_K210 imply CLK_K210

View file

@ -25,7 +25,7 @@ obj-$(CONFIG_RISCV_TIMER) += riscv_timer.o
obj-$(CONFIG_ROCKCHIP_TIMER) += rockchip_timer.o obj-$(CONFIG_ROCKCHIP_TIMER) += rockchip_timer.o
obj-$(CONFIG_SANDBOX_TIMER) += sandbox_timer.o obj-$(CONFIG_SANDBOX_TIMER) += sandbox_timer.o
obj-$(CONFIG_SP804_TIMER) += sp804_timer.o obj-$(CONFIG_SP804_TIMER) += sp804_timer.o
obj-$(CONFIG_$(SPL_)SIFIVE_CLINT) += sifive_clint_timer.o obj-$(CONFIG_$(SPL_)RISCV_ACLINT) += riscv_aclint_timer.o
obj-$(CONFIG_ARM_GLOBAL_TIMER) += arm_global_timer.o obj-$(CONFIG_ARM_GLOBAL_TIMER) += arm_global_timer.o
obj-$(CONFIG_STM32_TIMER) += stm32_timer.o obj-$(CONFIG_STM32_TIMER) += stm32_timer.o
obj-$(CONFIG_TEGRA_TIMER) += tegra-timer.o obj-$(CONFIG_TEGRA_TIMER) += tegra-timer.o

View file

@ -18,7 +18,7 @@
/* mtime register */ /* mtime register */
#define MTIME_REG(base, offset) ((ulong)(base) + (offset)) #define MTIME_REG(base, offset) ((ulong)(base) + (offset))
static u64 notrace sifive_clint_get_count(struct udevice *dev) static u64 notrace riscv_aclint_timer_get_count(struct udevice *dev)
{ {
return readq((void __iomem *)MTIME_REG(dev_get_priv(dev), return readq((void __iomem *)MTIME_REG(dev_get_priv(dev),
dev_get_driver_data(dev))); dev_get_driver_data(dev)));
@ -44,11 +44,11 @@ u64 notrace timer_early_get_count(void)
} }
#endif #endif
static const struct timer_ops sifive_clint_ops = { static const struct timer_ops riscv_aclint_timer_ops = {
.get_count = sifive_clint_get_count, .get_count = riscv_aclint_timer_get_count,
}; };
static int sifive_clint_probe(struct udevice *dev) static int riscv_aclint_timer_probe(struct udevice *dev)
{ {
dev_set_priv(dev, dev_read_addr_ptr(dev)); dev_set_priv(dev, dev_read_addr_ptr(dev));
if (!dev_get_priv(dev)) if (!dev_get_priv(dev))
@ -57,18 +57,18 @@ static int sifive_clint_probe(struct udevice *dev)
return timer_timebase_fallback(dev); return timer_timebase_fallback(dev);
} }
static const struct udevice_id sifive_clint_ids[] = { static const struct udevice_id riscv_aclint_timer_ids[] = {
{ .compatible = "riscv,clint0", .data = CLINT_MTIME_OFFSET }, { .compatible = "riscv,clint0", .data = CLINT_MTIME_OFFSET },
{ .compatible = "sifive,clint0", .data = CLINT_MTIME_OFFSET }, { .compatible = "sifive,clint0", .data = CLINT_MTIME_OFFSET },
{ .compatible = "riscv,aclint-mtimer", .data = ACLINT_MTIME_OFFSET }, { .compatible = "riscv,aclint-mtimer", .data = ACLINT_MTIME_OFFSET },
{ } { }
}; };
U_BOOT_DRIVER(sifive_clint) = { U_BOOT_DRIVER(riscv_aclint_timer) = {
.name = "sifive_clint", .name = "riscv_aclint_timer",
.id = UCLASS_TIMER, .id = UCLASS_TIMER,
.of_match = sifive_clint_ids, .of_match = riscv_aclint_timer_ids,
.probe = sifive_clint_probe, .probe = riscv_aclint_timer_probe,
.ops = &sifive_clint_ops, .ops = &riscv_aclint_timer_ops,
.flags = DM_FLAG_PRE_RELOC, .flags = DM_FLAG_PRE_RELOC,
}; };