[PATCH] platform: generic: Add support for UltraRISC DP1000 SoC platform

Xiang W wxjstz at 126.com
Sun Jun 15 23:54:42 PDT 2025


在 2025-06-16一的 13:56 +0800,Neo写道:
> This patch adds initial platform support for the UltraRISC DP1000 SoC
> to OpenSBI.
> 
> The UltraRISC DP1000 is a multi-core RISC-V 64-bit SoC developed by
> UltraRISC Technology (Shanghai) Co., Ltd.
> 
> We intend to upstream DP1000 support to align with OpenSBI's mission
> of supporting diverse RISC-V platforms and to simplify support for
> Linux and U-Boot on UltraRISC hardware.
> 
> Signed-off-by: Yi Pei <neopimail at gmail.com>
> ---
> platform/generic/Kconfig | 4 ++++
> platform/generic/configs/defconfig | 1 +
> platform/generic/ultrarisc/dp1000.c | 17 +++++++++++++++++
> platform/generic/ultrarisc/objects.mk | 8 ++++++++
> 4 files changed, 36 insertions(+)
> create mode 100644 platform/generic/ultrarisc/dp1000.c
> create mode 100644 platform/generic/ultrarisc/objects.mk
> diff --git a/platform/generic/Kconfig b/platform/generic/Kconfig
> index 688da3f4..54f1674d 100644
> --- a/platform/generic/Kconfig
> +++ b/platform/generic/Kconfig
> @@ -68,6 +68,10 @@ config PLATFORM_THEAD
> select THEAD_C9XX_PMU
> default n
> +config PLATFORM_ULTRARISC_DP1000
> + bool "UltraRISC DP1000 support"
> + default n
> +
> source "$(OPENSBI_SRC_DIR)/platform/generic/andes/Kconfig"
> source "$(OPENSBI_SRC_DIR)/platform/generic/thead/Kconfig"
> diff --git a/platform/generic/configs/defconfig
> b/platform/generic/configs/defconfig
> index bb260626..717906ef 100644
> --- a/platform/generic/configs/defconfig
> +++ b/platform/generic/configs/defconfig
> @@ -6,6 +6,7 @@ CONFIG_PLATFORM_SIFIVE_FU740=y
> CONFIG_PLATFORM_SOPHGO_SG2042=y
> CONFIG_PLATFORM_STARFIVE_JH7110=y
> CONFIG_PLATFORM_THEAD=y
> +CONFIG_PLATFORM_ULTRARISC_DP1000=y
> CONFIG_FDT_CPPC=y
> CONFIG_FDT_CPPC_RPMI=y
> CONFIG_FDT_GPIO=y
> diff --git a/platform/generic/ultrarisc/dp1000.c
> b/platform/generic/ultrarisc/dp1000.c
> new file mode 100644
> index 00000000..f21b2875
> --- /dev/null
> +++ b/platform/generic/ultrarisc/dp1000.c
> @@ -0,0 +1,17 @@
> +// SPDX-License-Identifier: BSD-2-Clause
> +/*
> + * Copyright (C) 2025 UltraRISC,Inc
> + */
> +
> +#include <platform_override.h>
> +#include <sbi/sbi_platform.h>
> +#include <sbi_utils/fdt/fdt_helper.h>
> +
> +static const struct fdt_match ultrarisc_dp1000_match[] = {
> + {.compatible = "ultrarisc,dp1000"},
> + {},
> +};
> +
> +const struct platform_override ultrarisc_dp1000 = {
> + .match_table = ultrarisc_dp1000_match,
> +};

It doesn't have an init method, why do we need this code?

Regards,
Xiang W

> diff --git a/platform/generic/ultrarisc/objects.mk
> b/platform/generic/ultrarisc/objects.mk
> new file mode 100644
> index 00000000..71e66f35
> --- /dev/null
> +++ b/platform/generic/ultrarisc/objects.mk
> @@ -0,0 +1,8 @@
> +#
> +# SPDX-License-Identifier: BSD-2-Clause
> +#
> +# Copyright (C) 2025 UltraRISC,Inc
> +#
> +
> +carray-platform_override_modules-$(CONFIG_PLATFORM_ULTRARISC_DP1000)
> += ultrarisc_dp1000
> +platform-objs-$(CONFIG_PLATFORM_ULTRARISC_DP1000) += ultrarisc/dp1000.o
> -- 
> 2.34.1




More information about the opensbi mailing list