From: Troy Mitchell <troy.mitchell@linux.spacemit.com>
Add initial device tree support for the MusePi Pro board [1].
The board is using the SpacemiT K1/M1 SoC.
The device tree is adapted from the SpacemiT vendor tree [2].
This minimal device tree enables booting into a serial console with UART
output and a blinking LED.
Link:
https://developer.spacemit.com/documentation?token=YJtdwnvvViPVcmkoPDpcvwfVnrh&type=pdf [1]
https://gitee.com/bianbu-linux/linux-6.6/blob/k1-bl-v2.2.y/arch/riscv/boot/dts/spacemit/k1-x_MUSE-Pi-Pro.dts [2]
Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
---
arch/riscv/boot/dts/spacemit/Makefile | 1 +
arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts | 40 ++++++++++++++++++++++++++
2 files changed, 41 insertions(+)
diff --git a/arch/riscv/boot/dts/spacemit/Makefile b/arch/riscv/boot/dts/spacemit/Makefile
index 152832644870624d8fd77684ef33addb42b0baf3..76b98096e2a46c3192651d6d66af7742f740c635 100644
--- a/arch/riscv/boot/dts/spacemit/Makefile
+++ b/arch/riscv/boot/dts/spacemit/Makefile
@@ -2,3 +2,4 @@
dtb-$(CONFIG_ARCH_SPACEMIT) += k1-bananapi-f3.dtb
dtb-$(CONFIG_ARCH_SPACEMIT) += k1-milkv-jupiter.dtb
dtb-$(CONFIG_ARCH_SPACEMIT) += k1-orangepi-rv2.dtb
+dtb-$(CONFIG_ARCH_SPACEMIT) += k1-musepi-pro.dtb
diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
new file mode 100644
index 0000000000000000000000000000000000000000..3791186ce47b88887eab4321dcd7035668e7f02d
--- /dev/null
+++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
@@ -0,0 +1,40 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright (C) 2024 Yangyu Chen <cyy@cyyself.name>
+ * Copyright (C) 2025 Troy Mitchell <troy.mitchell@linux.spacemit.com>
+ */
+
+/dts-v1/;
+
+#include "k1.dtsi"
+#include "k1-pinctrl.dtsi"
+
+/ {
+ model = "MusePi Pro";
+ compatible = "spacemit,musepi-pro", "spacemit,k1";
+
+ aliases {
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led1 {
+ label = "sys-led";
+ gpios = <&gpio K1_GPIO(96) GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "heartbeat";
+ default-state = "on";
+ };
+ };
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_2_cfg>;
+ status = "okay";
+};
--
2.51.0
Hi Troy, On 12:16 Sun 28 Sep , Troy Mitchell wrote: > From: Troy Mitchell <troy.mitchell@linux.spacemit.com> > > Add initial device tree support for the MusePi Pro board [1]. > The board is using the SpacemiT K1/M1 SoC. > > The device tree is adapted from the SpacemiT vendor tree [2]. > > This minimal device tree enables booting into a serial console with UART > output and a blinking LED. > > Link: > https://developer.spacemit.com/documentation?token=YJtdwnvvViPVcmkoPDpcvwfVnrh&type=pdf [1] > https://gitee.com/bianbu-linux/linux-6.6/blob/k1-bl-v2.2.y/arch/riscv/boot/dts/spacemit/k1-x_MUSE-Pi-Pro.dts [2] > same as patch 1 > Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> > --- > arch/riscv/boot/dts/spacemit/Makefile | 1 + > arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts | 40 ++++++++++++++++++++++++++ > 2 files changed, 41 insertions(+) > > diff --git a/arch/riscv/boot/dts/spacemit/Makefile b/arch/riscv/boot/dts/spacemit/Makefile > index 152832644870624d8fd77684ef33addb42b0baf3..76b98096e2a46c3192651d6d66af7742f740c635 100644 > --- a/arch/riscv/boot/dts/spacemit/Makefile > +++ b/arch/riscv/boot/dts/spacemit/Makefile > @@ -2,3 +2,4 @@ > dtb-$(CONFIG_ARCH_SPACEMIT) += k1-bananapi-f3.dtb > dtb-$(CONFIG_ARCH_SPACEMIT) += k1-milkv-jupiter.dtb > dtb-$(CONFIG_ARCH_SPACEMIT) += k1-orangepi-rv2.dtb > +dtb-$(CONFIG_ARCH_SPACEMIT) += k1-musepi-pro.dtb please sort > diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts > new file mode 100644 > index 0000000000000000000000000000000000000000..3791186ce47b88887eab4321dcd7035668e7f02d > --- /dev/null > +++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts > @@ -0,0 +1,40 @@ > +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > +/* > + * Copyright (C) 2024 Yangyu Chen <cyy@cyyself.name> > + * Copyright (C) 2025 Troy Mitchell <troy.mitchell@linux.spacemit.com> > + */ > + > +/dts-v1/; > + > +#include "k1.dtsi" > +#include "k1-pinctrl.dtsi" > + > +/ { > + model = "MusePi Pro"; this is a little bit short, how about make it "SpacemiT MusePi Pro"? > + compatible = "spacemit,musepi-pro", "spacemit,k1"; > + > + aliases { > + serial0 = &uart0; > + }; > + > + chosen { > + stdout-path = "serial0"; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + led1 { > + label = "sys-led"; > + gpios = <&gpio K1_GPIO(96) GPIO_ACTIVE_HIGH>; > + linux,default-trigger = "heartbeat"; > + default-state = "on"; > + }; > + }; > +}; > + > +&uart0 { .. > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_2_cfg>; swap these two lines, for similar reason, see my comment here https://lore.kernel.org/all/20250918133209-GYB1273705@gentoo.org/ > + status = "okay"; > +}; > > -- > 2.51.0 > while you are here, I'd suggest to push as many features as possible instead of this minimal DT, which say - PMU, emmc, ethernet should be ready.. (ethernet is in next, should show up at v6.18-rc1) -- Yixun Lan (dlan)
On Sun, Sep 28, 2025 at 04:00:03PM +0800, Yixun Lan wrote: > Hi Troy, > > On 12:16 Sun 28 Sep , Troy Mitchell wrote: > > From: Troy Mitchell <troy.mitchell@linux.spacemit.com> > > > > Add initial device tree support for the MusePi Pro board [1]. > > The board is using the SpacemiT K1/M1 SoC. > > > > The device tree is adapted from the SpacemiT vendor tree [2]. > > > > This minimal device tree enables booting into a serial console with UART > > output and a blinking LED. > > > > Link: > > https://developer.spacemit.com/documentation?token=YJtdwnvvViPVcmkoPDpcvwfVnrh&type=pdf [1] > > https://gitee.com/bianbu-linux/linux-6.6/blob/k1-bl-v2.2.y/arch/riscv/boot/dts/spacemit/k1-x_MUSE-Pi-Pro.dts [2] > > > same as patch 1 > > Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> > > --- > > arch/riscv/boot/dts/spacemit/Makefile | 1 + > > arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts | 40 ++++++++++++++++++++++++++ > > 2 files changed, 41 insertions(+) > > > > diff --git a/arch/riscv/boot/dts/spacemit/Makefile b/arch/riscv/boot/dts/spacemit/Makefile > > index 152832644870624d8fd77684ef33addb42b0baf3..76b98096e2a46c3192651d6d66af7742f740c635 100644 > > --- a/arch/riscv/boot/dts/spacemit/Makefile > > +++ b/arch/riscv/boot/dts/spacemit/Makefile > > @@ -2,3 +2,4 @@ > > dtb-$(CONFIG_ARCH_SPACEMIT) += k1-bananapi-f3.dtb > > dtb-$(CONFIG_ARCH_SPACEMIT) += k1-milkv-jupiter.dtb > > dtb-$(CONFIG_ARCH_SPACEMIT) += k1-orangepi-rv2.dtb > > +dtb-$(CONFIG_ARCH_SPACEMIT) += k1-musepi-pro.dtb > please sort Oh my gosh.. That's my mistake. I will fix it in the next version. > > > diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts > > new file mode 100644 > > index 0000000000000000000000000000000000000000..3791186ce47b88887eab4321dcd7035668e7f02d > > --- /dev/null > > +++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts > > @@ -0,0 +1,40 @@ > > +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > > +/* > > + * Copyright (C) 2024 Yangyu Chen <cyy@cyyself.name> > > + * Copyright (C) 2025 Troy Mitchell <troy.mitchell@linux.spacemit.com> > > + */ > > + > > +/dts-v1/; > > + > > +#include "k1.dtsi" > > +#include "k1-pinctrl.dtsi" > > + > > +/ { > > + model = "MusePi Pro"; > this is a little bit short, how about make it "SpacemiT MusePi Pro"? Sounds good to me. > > > + compatible = "spacemit,musepi-pro", "spacemit,k1"; > > + > > + aliases { > > + serial0 = &uart0; > > + }; > > + > > + chosen { > > + stdout-path = "serial0"; > > + }; > > + > > + leds { > > + compatible = "gpio-leds"; > > + > > + led1 { > > + label = "sys-led"; > > + gpios = <&gpio K1_GPIO(96) GPIO_ACTIVE_HIGH>; > > + linux,default-trigger = "heartbeat"; > > + default-state = "on"; > > + }; > > + }; > > +}; > > + > > +&uart0 { > .. > > + pinctrl-names = "default"; > > + pinctrl-0 = <&uart0_2_cfg>; > swap these two lines, for similar reason, see my comment here > https://lore.kernel.org/all/20250918133209-GYB1273705@gentoo.org/ Thanks for this link. > > > + status = "okay"; > > +}; > > > > -- > > 2.51.0 > > > > while you are here, I'd suggest to push as many features as possible > instead of this minimal DT, which say - PMU, emmc, ethernet should be ready.. > (ethernet is in next, should show up at v6.18-rc1) Good idea. I think I should split these into multiple commits, right? Like, PDMA and EMAC should definitely be two separate commits. - Troy > > -- > Yixun Lan (dlan) >
Hi Troy, On 16:05 Sun 28 Sep , Troy Mitchell wrote: > On Sun, Sep 28, 2025 at 04:00:03PM +0800, Yixun Lan wrote: > > Hi Troy, > > > > On 12:16 Sun 28 Sep , Troy Mitchell wrote: > > > From: Troy Mitchell <troy.mitchell@linux.spacemit.com> > > > > > > Add initial device tree support for the MusePi Pro board [1]. > > > The board is using the SpacemiT K1/M1 SoC. > > > > > > The device tree is adapted from the SpacemiT vendor tree [2]. > > > > > > This minimal device tree enables booting into a serial console with UART > > > output and a blinking LED. > > > > > > Link: > > > https://developer.spacemit.com/documentation?token=YJtdwnvvViPVcmkoPDpcvwfVnrh&type=pdf [1] > > > https://gitee.com/bianbu-linux/linux-6.6/blob/k1-bl-v2.2.y/arch/riscv/boot/dts/spacemit/k1-x_MUSE-Pi-Pro.dts [2] > > > > > same as patch 1 > > > Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> > > > --- ..[snip] > > > > while you are here, I'd suggest to push as many features as possible > > instead of this minimal DT, which say - PMU, emmc, ethernet should be ready.. > > (ethernet is in next, should show up at v6.18-rc1) > Good idea. > I think I should split these into multiple commits, right? > Like, PDMA and EMAC should definitely be two separate commits. > IMO, not really necessary, but I wouldn't mind either.. -- Yixun Lan (dlan)
On Sun, Sep 28, 2025 at 04:50:10PM +0800, Yixun Lan wrote: > Hi Troy, > > On 16:05 Sun 28 Sep , Troy Mitchell wrote: > > On Sun, Sep 28, 2025 at 04:00:03PM +0800, Yixun Lan wrote: > > > Hi Troy, > > > > > > On 12:16 Sun 28 Sep , Troy Mitchell wrote: > > > > From: Troy Mitchell <troy.mitchell@linux.spacemit.com> > > > > > > > > Add initial device tree support for the MusePi Pro board [1]. > > > > The board is using the SpacemiT K1/M1 SoC. > > > > > > > > The device tree is adapted from the SpacemiT vendor tree [2]. > > > > > > > > This minimal device tree enables booting into a serial console with UART > > > > output and a blinking LED. > > > > > > > > Link: > > > > https://developer.spacemit.com/documentation?token=YJtdwnvvViPVcmkoPDpcvwfVnrh&type=pdf [1] > > > > https://gitee.com/bianbu-linux/linux-6.6/blob/k1-bl-v2.2.y/arch/riscv/boot/dts/spacemit/k1-x_MUSE-Pi-Pro.dts [2] > > > > > > > same as patch 1 > > > > Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> > > > > --- > ..[snip] > > > > > > while you are here, I'd suggest to push as many features as possible > > > instead of this minimal DT, which say - PMU, emmc, ethernet should be ready.. > > > (ethernet is in next, should show up at v6.18-rc1) > > Good idea. > > I think I should split these into multiple commits, right? > > Like, PDMA and EMAC should definitely be two separate commits. > > > IMO, not really necessary, but I wouldn't mind either.. Thanks. Then I will split them to keep clear. - Troy > > -- > Yixun Lan (dlan) >
On 9/27/25 21:16, Troy Mitchell wrote: > From: Troy Mitchell <troy.mitchell@linux.spacemit.com> > > Add initial device tree support for the MusePi Pro board [1]. > The board is using the SpacemiT K1/M1 SoC. > > The device tree is adapted from the SpacemiT vendor tree [2]. > > This minimal device tree enables booting into a serial console with UART > output and a blinking LED. > > Link: > https://developer.spacemit.com/documentation?token=YJtdwnvvViPVcmkoPDpcvwfVnrh&type=pdf [1] > https://gitee.com/bianbu-linux/linux-6.6/blob/k1-bl-v2.2.y/arch/riscv/boot/dts/spacemit/k1-x_MUSE-Pi-Pro.dts [2] > > Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> > --- > arch/riscv/boot/dts/spacemit/Makefile | 1 + > arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts | 40 ++++++++++++++++++++++++++ > 2 files changed, 41 insertions(+) > > diff --git a/arch/riscv/boot/dts/spacemit/Makefile b/arch/riscv/boot/dts/spacemit/Makefile > index 152832644870624d8fd77684ef33addb42b0baf3..76b98096e2a46c3192651d6d66af7742f740c635 100644 > --- a/arch/riscv/boot/dts/spacemit/Makefile > +++ b/arch/riscv/boot/dts/spacemit/Makefile > @@ -2,3 +2,4 @@ > dtb-$(CONFIG_ARCH_SPACEMIT) += k1-bananapi-f3.dtb > dtb-$(CONFIG_ARCH_SPACEMIT) += k1-milkv-jupiter.dtb > dtb-$(CONFIG_ARCH_SPACEMIT) += k1-orangepi-rv2.dtb > +dtb-$(CONFIG_ARCH_SPACEMIT) += k1-musepi-pro.dtb > diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts > new file mode 100644 > index 0000000000000000000000000000000000000000..3791186ce47b88887eab4321dcd7035668e7f02d > --- /dev/null > +++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts > @@ -0,0 +1,40 @@ > +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > +/* > + * Copyright (C) 2024 Yangyu Chen <cyy@cyyself.name> > + * Copyright (C) 2025 Troy Mitchell <troy.mitchell@linux.spacemit.com> > + */ > + > +/dts-v1/; > + > +#include "k1.dtsi" > +#include "k1-pinctrl.dtsi" > + > +/ { > + model = "MusePi Pro"; > + compatible = "spacemit,musepi-pro", "spacemit,k1"; > + > + aliases { > + serial0 = &uart0; > + }; > + > + chosen { > + stdout-path = "serial0"; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + led1 { > + label = "sys-led"; > + gpios = <&gpio K1_GPIO(96) GPIO_ACTIVE_HIGH>; > + linux,default-trigger = "heartbeat"; > + default-state = "on"; Can you explain how you decided to sort this? I think the documentation examples needs updating but it is unclear to me. > + }; > + }; > +}; > + > +&uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_2_cfg>; > + status = "okay"; > +}; > Best regards, -E Shattow
On Sat, Sep 27, 2025 at 10:05:54PM -0700, E Shattow wrote: > On 9/27/25 21:16, Troy Mitchell wrote: > > From: Troy Mitchell <troy.mitchell@linux.spacemit.com> > > > > Add initial device tree support for the MusePi Pro board [1]. > > The board is using the SpacemiT K1/M1 SoC. > > > > The device tree is adapted from the SpacemiT vendor tree [2]. > > > > This minimal device tree enables booting into a serial console with UART > > output and a blinking LED. > > > > Link: > > https://developer.spacemit.com/documentation?token=YJtdwnvvViPVcmkoPDpcvwfVnrh&type=pdf [1] > > https://gitee.com/bianbu-linux/linux-6.6/blob/k1-bl-v2.2.y/arch/riscv/boot/dts/spacemit/k1-x_MUSE-Pi-Pro.dts [2] > > > > Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> > > --- > > arch/riscv/boot/dts/spacemit/Makefile | 1 + > > arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts | 40 ++++++++++++++++++++++++++ > > 2 files changed, 41 insertions(+) > > > > diff --git a/arch/riscv/boot/dts/spacemit/Makefile b/arch/riscv/boot/dts/spacemit/Makefile > > index 152832644870624d8fd77684ef33addb42b0baf3..76b98096e2a46c3192651d6d66af7742f740c635 100644 > > --- a/arch/riscv/boot/dts/spacemit/Makefile > > +++ b/arch/riscv/boot/dts/spacemit/Makefile > > @@ -2,3 +2,4 @@ > > dtb-$(CONFIG_ARCH_SPACEMIT) += k1-bananapi-f3.dtb > > dtb-$(CONFIG_ARCH_SPACEMIT) += k1-milkv-jupiter.dtb > > dtb-$(CONFIG_ARCH_SPACEMIT) += k1-orangepi-rv2.dtb > > +dtb-$(CONFIG_ARCH_SPACEMIT) += k1-musepi-pro.dtb > > diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts > > new file mode 100644 > > index 0000000000000000000000000000000000000000..3791186ce47b88887eab4321dcd7035668e7f02d > > --- /dev/null > > +++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts > > @@ -0,0 +1,40 @@ > > +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > > +/* > > + * Copyright (C) 2024 Yangyu Chen <cyy@cyyself.name> > > + * Copyright (C) 2025 Troy Mitchell <troy.mitchell@linux.spacemit.com> > > + */ > > + > > +/dts-v1/; > > + > > +#include "k1.dtsi" > > +#include "k1-pinctrl.dtsi" > > + > > +/ { > > + model = "MusePi Pro"; > > + compatible = "spacemit,musepi-pro", "spacemit,k1"; > > + > > + aliases { > > + serial0 = &uart0; > > + }; > > + > > + chosen { > > + stdout-path = "serial0"; > > + }; > > + > > + leds { > > + compatible = "gpio-leds"; > > + > > > + led1 { > > + label = "sys-led"; > > + gpios = <&gpio K1_GPIO(96) GPIO_ACTIVE_HIGH>; > > + linux,default-trigger = "heartbeat"; > > + default-state = "on"; > > Can you explain how you decided to sort this? I think the documentation > examples needs updating but it is unclear to me. This snippet comes from the BPI-F3 DTS. I only verified the pins and polarity against the schematic. - Troy > > > + }; > > + }; > > +}; > > + > > +&uart0 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&uart0_2_cfg>; > > + status = "okay"; > > +}; > > > > Best regards, > > -E Shattow >
© 2016 - 2025 Red Hat, Inc.