[PATCH v2 2/2] riscv: dts: canaan: Add initial dshanpi board DT files

Rob Herring robh at kernel.org
Tue Jan 6 10:27:54 PST 2026


On Sun, Jan 04, 2026 at 03:09:11PM +0800, Jiayu Du wrote:
> Add board devicetree for 100ask K230 dashanpi, and also the SoM
> device utilized by the board. UART0 is enabled as the default
> console.
> 
> Signed-off-by: Jiayu Du <jiayu.riscv at isrc.iscas.ac.cn>
> ---
>  arch/riscv/boot/dts/canaan/Makefile           |  1 +
>  .../boot/dts/canaan/k230-canmv-dshanpi.dts    | 82 +++++++++++++++++++
>  .../dts/canaan/k230-canmv-module-dshanpi.dtsi | 30 +++++++
>  3 files changed, 113 insertions(+)
>  create mode 100644 arch/riscv/boot/dts/canaan/k230-canmv-dshanpi.dts
>  create mode 100644 arch/riscv/boot/dts/canaan/k230-canmv-module-dshanpi.dtsi
> 
> diff --git a/arch/riscv/boot/dts/canaan/Makefile b/arch/riscv/boot/dts/canaan/Makefile
> index 7d54ea5c6f3d..89cb64bde440 100644
> --- a/arch/riscv/boot/dts/canaan/Makefile
> +++ b/arch/riscv/boot/dts/canaan/Makefile
> @@ -2,6 +2,7 @@
>  dtb-$(CONFIG_ARCH_CANAAN) += canaan_kd233.dtb
>  dtb-$(CONFIG_ARCH_CANAAN) += k210_generic.dtb
>  dtb-$(CONFIG_ARCH_CANAAN) += k230-canmv.dtb
> +dtb-$(CONFIG_ARCH_CANAAN) += k230-canmv-dshanpi.dtb
>  dtb-$(CONFIG_ARCH_CANAAN) += k230-evb.dtb
>  dtb-$(CONFIG_ARCH_CANAAN) += sipeed_maix_bit.dtb
>  dtb-$(CONFIG_ARCH_CANAAN) += sipeed_maix_dock.dtb
> diff --git a/arch/riscv/boot/dts/canaan/k230-canmv-dshanpi.dts b/arch/riscv/boot/dts/canaan/k230-canmv-dshanpi.dts
> new file mode 100644
> index 000000000000..4f95b534ee87
> --- /dev/null
> +++ b/arch/riscv/boot/dts/canaan/k230-canmv-dshanpi.dts
> @@ -0,0 +1,82 @@
> +// SPDX-License-Identifier: GPL-2.0 OR MIT
> +/*
> + * Copyright (C) 2025 Jiayu Du <jiayu.riscv at isrc.iscas.ac.cn>
> + */
> +
> +/dts-v1/;
> +
> +#include "k230-canmv-module-dshanpi.dtsi"
> +
> +/ {
> +	model = "100ask CanMV-K230-dshanpi";
> +	compatible = "100ask,canmv-k230-dshanpi",
> +		     "100ask,canmv-k230-module-dshanpi",
> +		     "canaan,kendryte-k230";
> +
> +	aliases {
> +		serial0 = &uart0;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	vdd_5v: regulator-vdd-5v {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vdd_5v";
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		regulator-always-on;
> +		regulator-boot-on;
> +	};
> +
> +	vdd_3v3: regulator-vdd-3v3 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vdd_3v3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-always-on;
> +		regulator-boot-on;
> +		vin-supply = <&vdd_5v>;
> +	};
> +
> +	vdd_1v8: regulator-vdd-1v8 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vdd_1v8";
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +		regulator-always-on;
> +		regulator-boot-on;
> +		vin-supply = <&vdd_5v>;
> +	};
> +};
> +
> +&pinctrl {
> +	uart0_pins: uart0-pins {
> +		uart0-txd-cfg {
> +			pinmux = <K230_PINMUX(38, 1)>;
> +			slew-rate = <0>;
> +			drive-strength = <7>;
> +			power-source = <K230_MSC_1V8>;
> +			output-enable;
> +			bias-disable;
> +			input-schmitt-enable;
> +		};
> +
> +		uart0-rxd-cfg {
> +			pinmux = <K230_PINMUX(39, 1)>;
> +			slew-rate = <0>;
> +			drive-strength = <7>;
> +			power-source = <K230_MSC_1V8>;
> +			input-enable;
> +			bias-disable;
> +			input-schmitt-enable;
> +		};
> +	};
> +};
> +
> +&uart0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&uart0_pins>;
> +	status = "okay";
> +};
> diff --git a/arch/riscv/boot/dts/canaan/k230-canmv-module-dshanpi.dtsi b/arch/riscv/boot/dts/canaan/k230-canmv-module-dshanpi.dtsi
> new file mode 100644
> index 000000000000..ed0abc68f321
> --- /dev/null
> +++ b/arch/riscv/boot/dts/canaan/k230-canmv-module-dshanpi.dtsi
> @@ -0,0 +1,30 @@
> +// SPDX-License-Identifier: GPL-2.0 OR MIT
> +/*
> + * Copyright (C) 2025 Jiayu Du <jiayu.riscv at isrc.iscas.ac.cn>
> + */
> +
> +/dts-v1/;
> +
> +#include "k230.dtsi"
> +
> +/ {
> +	model = "100ask CanMV-K230-Module-dshanpi";
> +	compatible = "100ask,canmv-k230-module-dshanpi",
> +		     "canaan,kendryte-k230";

These get overwritten, but aren't really valid on their own. Drop.

> +
> +	ddr: memory at 0 {
> +		device_type = "memory";
> +		reg = <0x0 0x0 0x0 0x40000000>;
> +	};
> +
> +	timerx_pulse_in: clock-50m {

clock-50000000

> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <50000000>;
> +	};
> +};
> +
> +&sysclk {
> +	clocks = <&osc24m>, <&timerx_pulse_in>;
> +	clock-names = "osc24m", "timer-pulse-in";
> +};
> -- 
> 2.52.0
> 



More information about the linux-riscv mailing list