[PATCH] lib: utils/timer: Remove Allwinner D1 CLINT compatibles
Anup Patel
anup at brainfault.org
Tue Jun 21 22:17:22 PDT 2022
On Wed, Jun 22, 2022 at 10:27 AM Samuel Holland <samuel at sholland.org> wrote:
>
> The allwinner,sun20i-d1-clint compatible string is not documented in any
> official binding, so it should not be used by drivers.
>
> The MSWI in the D1 CLINT is compatible with the ACLINT specification, so
> it can take advantage of generic driver support. However, that is only
> possible if the MSWI and MTIMER are split into separate DT nodes. This
> means the final binding for this device is likely to be incompatible
> with what is implemented here.
I don't think splitting D1 CLINT into two separate DT nodes is
wrong because traditionally CLINT has been a composite device
(consisting of a timer and IPI device).
If you want resemblance of DT with HW then you can do something
like below:
clint {
mswi at abc {
...
};
mtimer at xyz {
...
};
};
>
> Remove this compatible string from the driver to prevent it from
> appearing in a stable version and causing future issues.
>
> Signed-off-by: Samuel Holland <samuel at sholland.org>
Reviewed-by: Anup Patel <anup at brainfault.org>
Regards,
Anup
> ---
>
> lib/utils/ipi/fdt_ipi_mswi.c | 1 -
> lib/utils/timer/fdt_timer_mtimer.c | 6 ------
> 2 files changed, 7 deletions(-)
>
> diff --git a/lib/utils/ipi/fdt_ipi_mswi.c b/lib/utils/ipi/fdt_ipi_mswi.c
> index af69e16..0176941 100644
> --- a/lib/utils/ipi/fdt_ipi_mswi.c
> +++ b/lib/utils/ipi/fdt_ipi_mswi.c
> @@ -54,7 +54,6 @@ static int ipi_mswi_cold_init(void *fdt, int nodeoff,
> static const unsigned long clint_offset = CLINT_MSWI_OFFSET;
>
> static const struct fdt_match ipi_mswi_match[] = {
> - { .compatible = "allwinner,sun20i-d1-clint", .data = &clint_offset },
> { .compatible = "riscv,clint0", .data = &clint_offset },
> { .compatible = "sifive,clint0", .data = &clint_offset },
> { .compatible = "riscv,aclint-mswi" },
> diff --git a/lib/utils/timer/fdt_timer_mtimer.c b/lib/utils/timer/fdt_timer_mtimer.c
> index e140567..7b8546b 100644
> --- a/lib/utils/timer/fdt_timer_mtimer.c
> +++ b/lib/utils/timer/fdt_timer_mtimer.c
> @@ -109,18 +109,12 @@ static int timer_mtimer_cold_init(void *fdt, int nodeoff,
> return 0;
> }
>
> -static const struct timer_mtimer_quirks d1_clint_quirks = {
> - .mtime_offset = CLINT_MTIMER_OFFSET,
> - .has_64bit_mmio = false,
> -};
> -
> static const struct timer_mtimer_quirks sifive_clint_quirks = {
> .mtime_offset = CLINT_MTIMER_OFFSET,
> .has_64bit_mmio = true,
> };
>
> static const struct fdt_match timer_mtimer_match[] = {
> - { .compatible = "allwinner,sun20i-d1-clint", .data = &d1_clint_quirks },
> { .compatible = "riscv,clint0", .data = &sifive_clint_quirks },
> { .compatible = "sifive,clint0", .data = &sifive_clint_quirks },
> { .compatible = "riscv,aclint-mtimer" },
> --
> 2.35.1
>
More information about the opensbi
mailing list