* [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