public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Initial support for 100ask CanMV-K230 DshanPi
@ 2026-01-04  7:09 Jiayu Du
  2026-01-04  7:09 ` [PATCH v2 1/2] dt-bindings: riscv: canaan: add 100ask K230 boards compatible strings Jiayu Du
  2026-01-04  7:09 ` [PATCH v2 2/2] riscv: dts: canaan: Add initial dshanpi board DT files Jiayu Du
  0 siblings, 2 replies; 6+ messages in thread
From: Jiayu Du @ 2026-01-04  7:09 UTC (permalink / raw)
  To: conor
  Cc: robh, krzk+dt, pjw, palmer, aou, devicetree, linux-riscv,
	linux-kernel, alex, jiayu.riscv, cyy, kingxukai, TroyMitchell988,
	gaohan, me

This series adds initial support for the 100ask CanMV-K230 DshanPi
board based on Canaan K230 RISC-V SoC. There is a module on this
development board.

The board and module are documented, the basic board/module devicetrees
are added.

This series is based on the K230 clock series[1] and the patch 3 of the
k230 pinctrl series[2].

Link:  https://lore.kernel.org/all/20251127-b4-k230-clk-v9-0-3aa09e17faf5@zohomail.com/ [1]
Link:  https://lore.kernel.org/all/20240926-k230-pinctrl-v2-3-a9a36fba4b34@163.com/ [2]

Changes in v2:
- Add a minus sign before items.
- Link to v1: https://lore.kernel.org/all/20251229061318.16756-1-jiayu.riscv@isrc.iscas.ac.cn/

Jiayu Du (2):
  dt-bindings: riscv: canaan: add 100ask K230 boards compatible strings
  riscv: dts: canaan: Add initial dshanpi board DT files

 .../devicetree/bindings/riscv/canaan.yaml     |  5 ++
 arch/riscv/boot/dts/canaan/Makefile           |  1 +
 .../boot/dts/canaan/k230-canmv-dshanpi.dts    | 82 +++++++++++++++++++
 .../dts/canaan/k230-canmv-module-dshanpi.dtsi | 30 +++++++
 4 files changed, 118 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

-- 
2.52.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/2] dt-bindings: riscv: canaan: add 100ask K230 boards compatible strings
  2026-01-04  7:09 [PATCH v2 0/2] Initial support for 100ask CanMV-K230 DshanPi Jiayu Du
@ 2026-01-04  7:09 ` Jiayu Du
  2026-01-06 18:28   ` Rob Herring (Arm)
  2026-01-04  7:09 ` [PATCH v2 2/2] riscv: dts: canaan: Add initial dshanpi board DT files Jiayu Du
  1 sibling, 1 reply; 6+ messages in thread
From: Jiayu Du @ 2026-01-04  7:09 UTC (permalink / raw)
  To: conor
  Cc: robh, krzk+dt, pjw, palmer, aou, devicetree, linux-riscv,
	linux-kernel, alex, jiayu.riscv, cyy, kingxukai, TroyMitchell988,
	gaohan, me

K230 CANMV DSHANPI is a development board produced by 100ASK.

Add compatible string for the board and its SoM.

Signed-off-by: Jiayu Du <jiayu.riscv@isrc.iscas.ac.cn>
---

The hardware details are available here[1].

[1]: https://github.com/100askTeam/eLinuxAI-TrainingDocs/blob/master/docs/CanaanK230/part1/01-Introductionhardwareresources.md

 Documentation/devicetree/bindings/riscv/canaan.yaml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/riscv/canaan.yaml b/Documentation/devicetree/bindings/riscv/canaan.yaml
index f9854ff43ac6..a4866c7cf053 100644
--- a/Documentation/devicetree/bindings/riscv/canaan.yaml
+++ b/Documentation/devicetree/bindings/riscv/canaan.yaml
@@ -48,6 +48,11 @@ properties:
               - canaan,k230-usip-lp3-evb
           - const: canaan,kendryte-k230
 
+      - items:
+          - const: 100ask,canmv-k230-dshanpi
+          - const: 100ask,canmv-k230-module-dshanpi
+          - const: canaan,kendryte-k230
+
 additionalProperties: true
 
 ...
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/2] riscv: dts: canaan: Add initial dshanpi board DT files
  2026-01-04  7:09 [PATCH v2 0/2] Initial support for 100ask CanMV-K230 DshanPi Jiayu Du
  2026-01-04  7:09 ` [PATCH v2 1/2] dt-bindings: riscv: canaan: add 100ask K230 boards compatible strings Jiayu Du
@ 2026-01-04  7:09 ` Jiayu Du
  2026-01-06 18:27   ` Rob Herring
  1 sibling, 1 reply; 6+ messages in thread
From: Jiayu Du @ 2026-01-04  7:09 UTC (permalink / raw)
  To: conor
  Cc: robh, krzk+dt, pjw, palmer, aou, devicetree, linux-riscv,
	linux-kernel, alex, jiayu.riscv, cyy, kingxukai, TroyMitchell988,
	gaohan, me

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@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@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@isrc.iscas.ac.cn>
+ */
+
+/dts-v1/;
+
+#include "k230.dtsi"
+
+/ {
+	model = "100ask CanMV-K230-Module-dshanpi";
+	compatible = "100ask,canmv-k230-module-dshanpi",
+		     "canaan,kendryte-k230";
+
+	ddr: memory@0 {
+		device_type = "memory";
+		reg = <0x0 0x0 0x0 0x40000000>;
+	};
+
+	timerx_pulse_in: clock-50m {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <50000000>;
+	};
+};
+
+&sysclk {
+	clocks = <&osc24m>, <&timerx_pulse_in>;
+	clock-names = "osc24m", "timer-pulse-in";
+};
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 2/2] riscv: dts: canaan: Add initial dshanpi board DT files
  2026-01-04  7:09 ` [PATCH v2 2/2] riscv: dts: canaan: Add initial dshanpi board DT files Jiayu Du
@ 2026-01-06 18:27   ` Rob Herring
  2026-01-09  1:49     ` Jiayu Du
  0 siblings, 1 reply; 6+ messages in thread
From: Rob Herring @ 2026-01-06 18:27 UTC (permalink / raw)
  To: Jiayu Du
  Cc: conor, krzk+dt, pjw, palmer, aou, devicetree, linux-riscv,
	linux-kernel, alex, cyy, kingxukai, TroyMitchell988, gaohan, me

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@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@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@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@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
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: riscv: canaan: add 100ask K230 boards compatible strings
  2026-01-04  7:09 ` [PATCH v2 1/2] dt-bindings: riscv: canaan: add 100ask K230 boards compatible strings Jiayu Du
@ 2026-01-06 18:28   ` Rob Herring (Arm)
  0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring (Arm) @ 2026-01-06 18:28 UTC (permalink / raw)
  To: Jiayu Du
  Cc: alex, cyy, me, krzk+dt, palmer, conor, TroyMitchell988, gaohan,
	linux-riscv, pjw, linux-kernel, devicetree, kingxukai, aou


On Sun, 04 Jan 2026 15:09:10 +0800, Jiayu Du wrote:
> K230 CANMV DSHANPI is a development board produced by 100ASK.
> 
> Add compatible string for the board and its SoM.
> 
> Signed-off-by: Jiayu Du <jiayu.riscv@isrc.iscas.ac.cn>
> ---
> 
> The hardware details are available here[1].
> 
> [1]: https://github.com/100askTeam/eLinuxAI-TrainingDocs/blob/master/docs/CanaanK230/part1/01-Introductionhardwareresources.md
> 
>  Documentation/devicetree/bindings/riscv/canaan.yaml | 5 +++++
>  1 file changed, 5 insertions(+)
> 

Acked-by: Rob Herring (Arm) <robh@kernel.org>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 2/2] riscv: dts: canaan: Add initial dshanpi board DT files
  2026-01-06 18:27   ` Rob Herring
@ 2026-01-09  1:49     ` Jiayu Du
  0 siblings, 0 replies; 6+ messages in thread
From: Jiayu Du @ 2026-01-09  1:49 UTC (permalink / raw)
  To: Rob Herring
  Cc: conor, krzk+dt, pjw, palmer, aou, devicetree, linux-riscv,
	linux-kernel, alex, cyy, kingxukai, TroyMitchell988, gaohan, me

On Tue, Jan 06, 2026 at 12:27:54PM -0600, Rob Herring wrote:
> On Sun, Jan 04, 2026 at 03:09:11PM +0800, Jiayu Du wrote:
> > +	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.
> 
...
> > +	timerx_pulse_in: clock-50m {
> 
> clock-50000000
> 
Thanks for your review. I will fix it in the v2.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-01-09  1:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-04  7:09 [PATCH v2 0/2] Initial support for 100ask CanMV-K230 DshanPi Jiayu Du
2026-01-04  7:09 ` [PATCH v2 1/2] dt-bindings: riscv: canaan: add 100ask K230 boards compatible strings Jiayu Du
2026-01-06 18:28   ` Rob Herring (Arm)
2026-01-04  7:09 ` [PATCH v2 2/2] riscv: dts: canaan: Add initial dshanpi board DT files Jiayu Du
2026-01-06 18:27   ` Rob Herring
2026-01-09  1:49     ` Jiayu Du

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox