* [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices
@ 2026-05-13 7:19 Andre Heider
2026-05-13 7:19 ` [PATCH v3 1/6] riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure Andre Heider
` (6 more replies)
0 siblings, 7 replies; 11+ messages in thread
From: Andre Heider @ 2026-05-13 7:19 UTC (permalink / raw)
To: Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
Yixun Lan
Cc: linux-riscv, spacemit
Add the missing devices with their required regulators. The regulators are named after
their label in the vendor schematics[0].
v3:
- drop reg_usb_vbus, non-controllable and served only as vin-supply
- fixed regulator-vcc-4v0 typo
- fold addition of pmic regulator labels into the pmic patch
- eeprom is a GT24C02B, fixed commit message
- added reg_qspi_vcc1v833
- fixed uboot nor name offset
- add missing "reg_" prefix for reg_pcie_vcc_3v3
- drop pcie{1,2}'s vpcie3v3-supply, it's already specified on the root ports
v2:
- drop reg_vcc_5v0_sys as per "non-controllable" review comments on
similar patches for other boards (kept the root reg_usb_vbus for though)
- add reg_vcc_4v0 instead as p1 vin?-supply, misread the schematics
- drop mpcie_vcc_3v3 and use pcie_vcc_3v3 for pcie2* too
("non-controllable" again)
- all of the above makes it consistent with other k1 boards
v1: https://lore.kernel.org/spacemit/20260505160623.1369347-1-a.heider@gmail.com/T/#t
$ cat /sys/kernel/debug/regulator/regulator_summary
regulator use open bypass opmode voltage current min max
---------------------------------------------------------------------------------------
regulator-dummy 1 0 0 unknown 0mV 0mA 0mV 0mV
PCIE_VCC3V3 5 4 0 unknown 3300mV 0mA 3300mV 3300mV
ca400000.pcie:pcie@0-vpcie3v3 1 0mA 0mV 0mV
ca800000.pcie:pcie@0-vpcie3v3 1 0mA 0mV 0mV
ca800000.pcie-vpcie3v3 1 0mA 0mV 0mV
ca400000.pcie-vpcie3v3 1 0mA 0mV 0mV
VCC4V0 8 10 0 unknown 4000mV 0mA 4000mV 4000mV
buck1 1 0 0 unknown 1050mV 0mA 500mV 3450mV
buck2 1 0 0 unknown 900mV 0mA 500mV 3450mV
buck3 1 1 0 unknown 1800mV 0mA 500mV 1800mV
2-0050-vcc 0 0mA 0mV 0mV
buck4 2 2 0 unknown 3300mV 0mA 500mV 3300mV
d4280000.mmc-vmmc 0 0mA 3300mV 3300mV
QSPI_VCC1833 2 1 0 unknown 1833mV 0mA 1833mV 1833mV
spi0.0-vcc 1 0mA 0mV 0mV
buck5 3 7 0 unknown 2100mV 0mA 500mV 3450mV
dldo1 0 0 0 unknown 1200mV 0mA 500mV 3400mV
dldo2 0 0 0 unknown 500mV 0mA 500mV 3400mV
dldo3 0 0 0 unknown 500mV 0mA 500mV 3400mV
dldo4 1 0 0 unknown 1800mV 0mA 500mV 3400mV
dldo5 0 0 0 unknown 500mV 0mA 500mV 3400mV
dldo6 1 0 0 unknown 1800mV 0mA 500mV 3400mV
dldo7 0 0 0 unknown 500mV 0mA 500mV 3400mV
buck6 1 0 0 unknown 1100mV 0mA 500mV 3450mV
aldo1 1 1 0 unknown 3300mV 0mA 500mV 3400mV
d4280000.mmc-vqmmc 1 0mA 0mV 0mV
aldo2 0 0 0 unknown 500mV 0mA 500mV 3400mV
aldo3 0 0 0 unknown 500mV 0mA 500mV 3400mV
aldo4 0 0 0 unknown 500mV 0mA 500mV 3400mV
5V_VBUS 2 1 0 unknown 5000mV 0mA 5000mV 5000mV
c0a00000.usb-vbus 1 0mA 0mV 0mV
VCC5V0_HUB 2 1 0 unknown 5000mV 0mA 5000mV 5000mV
c0a00000.usb:hub@1-vdd 1 0mA 0mV 0mV
[0] https://github.com/spacemit-com/docs-product/blob/main/en/k1_muse_pi_pro/pi_pro_hw.md
Andre Heider (6):
riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure
riscv: dts: spacemit: k1-musepi-pro: add 24c02 eeprom
riscv: dts: spacemit: k1-musepi-pro: enable QSPI and add SPI NOR
riscv: dts: spacemit: k1-musepi-pro: enable USB 3 ports
riscv: dts: spacemit: k1-musepi-pro: enable PCIe ports
riscv: dts: spacemit: k1-musepi-pro: set default console baud rate
.../riscv/boot/dts/spacemit/k1-musepi-pro.dts | 309 +++++++++++++++++-
1 file changed, 308 insertions(+), 1 deletion(-)
--
2.53.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v3 1/6] riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure
2026-05-13 7:19 [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices Andre Heider
@ 2026-05-13 7:19 ` Andre Heider
2026-05-13 7:48 ` Yixun Lan
2026-05-13 8:02 ` Yixun Lan
2026-05-13 7:19 ` [PATCH v3 2/6] riscv: dts: spacemit: k1-musepi-pro: add 24c02 eeprom Andre Heider
` (5 subsequent siblings)
6 siblings, 2 replies; 11+ messages in thread
From: Andre Heider @ 2026-05-13 7:19 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan
Cc: devicetree, linux-riscv, spacemit, linux-kernel
Enable i2c8 and add the connected SpacemiT P1 PMIC with its related regulators
for the board's power infrastructure and voltage regulation support.
Signed-off-by: Andre Heider <a.heider@gmail.com>
---
.../riscv/boot/dts/spacemit/k1-musepi-pro.dts | 134 ++++++++++++++++++
1 file changed, 134 insertions(+)
diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
index 29e333b670cf0..e0b585c50014b 100644
--- a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
@@ -17,6 +17,7 @@ / {
aliases {
ethernet0 = ð0;
serial0 = &uart0;
+ i2c8 = &i2c8;
};
chosen {
@@ -33,6 +34,15 @@ led1 {
default-state = "on";
};
};
+
+ reg_vcc_4v0: regulator-vcc-4v0 {
+ compatible = "regulator-fixed";
+ regulator-name = "VCC4V0";
+ regulator-min-microvolt = <4000000>;
+ regulator-max-microvolt = <4000000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
};
&emmc {
@@ -72,6 +82,130 @@ &pdma {
status = "okay";
};
+&i2c8 {
+ pinctrl-0 = <&i2c8_cfg>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ pmic@41 {
+ compatible = "spacemit,p1";
+ reg = <0x41>;
+ interrupts = <64>;
+ vin1-supply = <®_vcc_4v0>;
+ vin2-supply = <®_vcc_4v0>;
+ vin3-supply = <®_vcc_4v0>;
+ vin4-supply = <®_vcc_4v0>;
+ vin5-supply = <®_vcc_4v0>;
+ vin6-supply = <®_vcc_4v0>;
+ aldoin-supply = <®_vcc_4v0>;
+ dldoin1-supply = <&buck5>;
+ dldoin2-supply = <&buck5>;
+
+ regulators {
+ buck1 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3450000>;
+ regulator-ramp-delay = <5000>;
+ regulator-always-on;
+ };
+
+ buck2 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3450000>;
+ regulator-ramp-delay = <5000>;
+ regulator-always-on;
+ };
+
+ buck3_1v8: buck3 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-ramp-delay = <5000>;
+ regulator-always-on;
+ };
+
+ buck4_3v3: buck4 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-ramp-delay = <5000>;
+ regulator-always-on;
+ };
+
+ buck5: buck5 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3450000>;
+ regulator-ramp-delay = <5000>;
+ regulator-always-on;
+ };
+
+ buck6 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3450000>;
+ regulator-ramp-delay = <5000>;
+ regulator-always-on;
+ };
+
+ aldo1 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ regulator-boot-on;
+ };
+
+ aldo2 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ };
+
+ aldo3 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ };
+
+ aldo4 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ };
+
+ dldo1 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ regulator-boot-on;
+ };
+
+ dldo2 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ };
+
+ dldo3 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ };
+
+ dldo4 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ regulator-always-on;
+ };
+
+ dldo5 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ };
+
+ dldo6 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ regulator-always-on;
+ };
+
+ dldo7 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ };
+ };
+ };
+};
+
&uart0 {
pinctrl-0 = <&uart0_2_cfg>;
pinctrl-names = "default";
--
2.53.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 2/6] riscv: dts: spacemit: k1-musepi-pro: add 24c02 eeprom
2026-05-13 7:19 [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices Andre Heider
2026-05-13 7:19 ` [PATCH v3 1/6] riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure Andre Heider
@ 2026-05-13 7:19 ` Andre Heider
2026-05-13 7:19 ` [PATCH v3 3/6] riscv: dts: spacemit: k1-musepi-pro: enable QSPI and add SPI NOR Andre Heider
` (4 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Andre Heider @ 2026-05-13 7:19 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan
Cc: devicetree, linux-riscv, spacemit, linux-kernel
Enable i2c2 and add the connected GT24C02B EEPROM.
It contains an ONIE TLV table:
=> tlv_eeprom
TLV: 0
[ 12.162] TlvInfo Header:
[ 12.162] Id String: TlvInfo
[ 12.165] Version: 1
[ 12.168] Total Length: 58
[ 12.171] TLV Name Code Len Value
[ 12.175] -------------------- ---- --- -----
[ 12.179] Product Name 0x21 16 k1-x_MUSE-Pi-Pro
[ 12.184] Serial Number 0x23 17 BPMIMXXXXXXXXXXXX
[ 12.189] Unknown 0x41 1 0x02
[ 12.194] Base MAC Address 0x24 6 FE:FE:FE:XX:XX:XX
[ 12.199] MAC Addresses 0x2A 2 2
[ 12.203] CRC-32 0xFE 4 0x395ECD34
[ 12.207] Checksum is valid.
(With 0x41 as TLV_CODE_DDR_CSNUM)
Signed-off-by: Andre Heider <a.heider@gmail.com>
---
.../riscv/boot/dts/spacemit/k1-musepi-pro.dts | 33 +++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
index e0b585c50014b..41d7d6d20a797 100644
--- a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
@@ -17,6 +17,7 @@ / {
aliases {
ethernet0 = ð0;
serial0 = &uart0;
+ i2c2 = &i2c2;
i2c8 = &i2c8;
};
@@ -82,6 +83,38 @@ &pdma {
status = "okay";
};
+&i2c2 {
+ pinctrl-0 = <&i2c2_0_cfg>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ eeprom@50 {
+ compatible = "atmel,24c02";
+ reg = <0x50>;
+ vcc-supply = <&buck3_1v8>; /* EEPROM_VCC1V8 */
+ pagesize = <8>;
+ read-only;
+ size = <256>;
+
+ nvmem-layout {
+ compatible = "onie,tlv-layout";
+
+ product-name {
+ };
+
+ serial-number {
+ };
+
+ mac-address {
+ #nvmem-cell-cells = <1>;
+ };
+
+ num-macs {
+ };
+ };
+ };
+};
+
&i2c8 {
pinctrl-0 = <&i2c8_cfg>;
pinctrl-names = "default";
--
2.53.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 3/6] riscv: dts: spacemit: k1-musepi-pro: enable QSPI and add SPI NOR
2026-05-13 7:19 [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices Andre Heider
2026-05-13 7:19 ` [PATCH v3 1/6] riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure Andre Heider
2026-05-13 7:19 ` [PATCH v3 2/6] riscv: dts: spacemit: k1-musepi-pro: add 24c02 eeprom Andre Heider
@ 2026-05-13 7:19 ` Andre Heider
2026-05-13 7:19 ` [PATCH v3 4/6] riscv: dts: spacemit: k1-musepi-pro: enable USB 3 ports Andre Heider
` (3 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Andre Heider @ 2026-05-13 7:19 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan
Cc: devicetree, linux-riscv, spacemit, linux-kernel
Add the QSPI controller node and describe the attached SPI NOR flash
(Winbond W25Q64FWSSAQ).
Add a corresponding vendor flash partition layout.
Signed-off-by: Andre Heider <a.heider@gmail.com>
---
.../riscv/boot/dts/spacemit/k1-musepi-pro.dts | 50 +++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
index 41d7d6d20a797..b0f66f49db4b7 100644
--- a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
@@ -44,6 +44,15 @@ reg_vcc_4v0: regulator-vcc-4v0 {
regulator-boot-on;
regulator-always-on;
};
+
+ reg_qspi_vcc1v833: regulator-qspi-vcc1v833 {
+ compatible = "regulator-fixed";
+ regulator-name = "QSPI_VCC1833";
+ regulator-min-microvolt = <1833000>;
+ regulator-max-microvolt = <1833000>;
+ regulator-always-on;
+ vin-supply = <&buck4_3v3>;
+ };
};
&emmc {
@@ -239,6 +248,47 @@ dldo7 {
};
};
+&qspi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&qspi_cfg>;
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <26500000>;
+ spi-rx-bus-width = <4>;
+ spi-tx-bus-width = <4>;
+ vcc-supply = <®_qspi_vcc1v833>;
+ m25p,fast-read;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ bootinfo@0 {
+ reg = <0x0 0x10000>;
+ };
+ private@10000 {
+ reg = <0x10000 0x10000>;
+ };
+ fsbl@20000 {
+ reg = <0x20000 0x40000>;
+ };
+ env@60000 {
+ reg = <0x60000 0x10000>;
+ };
+ opensbi@70000 {
+ reg = <0x70000 0x30000>;
+ };
+ uboot@a0000 {
+ reg = <0xa0000 0x760000>;
+ };
+ };
+ };
+};
+
&uart0 {
pinctrl-0 = <&uart0_2_cfg>;
pinctrl-names = "default";
--
2.53.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 4/6] riscv: dts: spacemit: k1-musepi-pro: enable USB 3 ports
2026-05-13 7:19 [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices Andre Heider
` (2 preceding siblings ...)
2026-05-13 7:19 ` [PATCH v3 3/6] riscv: dts: spacemit: k1-musepi-pro: enable QSPI and add SPI NOR Andre Heider
@ 2026-05-13 7:19 ` Andre Heider
2026-05-13 7:19 ` [PATCH v3 5/6] riscv: dts: spacemit: k1-musepi-pro: enable PCIe ports Andre Heider
` (2 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Andre Heider @ 2026-05-13 7:19 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Yixun Lan,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti
Cc: devicetree, linux-riscv, spacemit, linux-kernel
Enable the DWC3 USB 3.0 controller, its associated combo_phy (USB 3 PHY)
and usbphy2 (USB 2 PHY) on the MusePi Pro board.
The board uses a VLI VL817 hub, providing four ports.
Signed-off-by: Andre Heider <a.heider@gmail.com>
---
.../riscv/boot/dts/spacemit/k1-musepi-pro.dts | 52 +++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
index b0f66f49db4b7..b24b378b1b220 100644
--- a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
@@ -53,6 +53,26 @@ reg_qspi_vcc1v833: regulator-qspi-vcc1v833 {
regulator-always-on;
vin-supply = <&buck4_3v3>;
};
+
+ reg_5v_vbus: regulator-5v-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "5V_VBUS";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ gpio = <&gpio K1_GPIO(79) GPIO_ACTIVE_HIGH>; /* USB3_PWREN */
+ enable-active-high;
+ };
+
+ reg_vcc5v_hub: regulator-vcc5v-hub {
+ compatible = "regulator-fixed";
+ regulator-name = "VCC5V0_HUB";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ gpio = <&gpio K1_GPIO(127) GPIO_ACTIVE_HIGH>; /* HUB_PWREN */
+ enable-active-high;
+ };
};
&emmc {
@@ -65,6 +85,10 @@ &emmc {
status = "okay";
};
+&combo_phy {
+ status = "okay";
+};
+
ð0 {
phy-handle = <&rgmii0>;
phy-mode = "rgmii-id";
@@ -294,3 +318,31 @@ &uart0 {
pinctrl-names = "default";
status = "okay";
};
+
+&usbphy2 {
+ status = "okay";
+};
+
+&usb_dwc3 {
+ dr_mode = "host";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ vbus-supply = <®_5v_vbus>;
+ status = "okay";
+
+ hub_2_0: hub@1 {
+ compatible = "usb2109,2817";
+ reg = <0x1>;
+ vdd-supply = <®_vcc5v_hub>;
+ peer-hub = <&hub_3_0>;
+ reset-gpios = <&gpio K1_GPIO(123) GPIO_ACTIVE_LOW>; /* HUB_RST */
+ };
+
+ hub_3_0: hub@2 {
+ compatible = "usb2109,817";
+ reg = <0x2>;
+ vdd-supply = <®_vcc5v_hub>;
+ peer-hub = <&hub_2_0>;
+ reset-gpios = <&gpio K1_GPIO(123) GPIO_ACTIVE_LOW>; /* HUB_RST */
+ };
+};
--
2.53.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 5/6] riscv: dts: spacemit: k1-musepi-pro: enable PCIe ports
2026-05-13 7:19 [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices Andre Heider
` (3 preceding siblings ...)
2026-05-13 7:19 ` [PATCH v3 4/6] riscv: dts: spacemit: k1-musepi-pro: enable USB 3 ports Andre Heider
@ 2026-05-13 7:19 ` Andre Heider
2026-05-13 7:19 ` [PATCH v3 6/6] riscv: dts: spacemit: k1-musepi-pro: set default console baud rate Andre Heider
2026-05-13 7:46 ` [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices Yixun Lan
6 siblings, 0 replies; 11+ messages in thread
From: Andre Heider @ 2026-05-13 7:19 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan
Cc: devicetree, linux-riscv, spacemit, linux-kernel
Enable the two PCIe controllers along with their associated PHYs. They
are routed to the M.2 M-key connector and to the PCIe slot.
Signed-off-by: Andre Heider <a.heider@gmail.com>
---
.../riscv/boot/dts/spacemit/k1-musepi-pro.dts | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
index b24b378b1b220..953c0ff6a0d34 100644
--- a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
@@ -36,6 +36,14 @@ led1 {
};
};
+ reg_pcie_vcc_3v3: regulator-pcie-vcc3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "PCIE_VCC3V3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
reg_vcc_4v0: regulator-vcc-4v0 {
compatible = "regulator-fixed";
regulator-name = "VCC4V0";
@@ -272,6 +280,36 @@ dldo7 {
};
};
+&pcie1_phy {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie1_3_cfg>;
+ status = "okay";
+};
+
+&pcie1_port {
+ phys = <&pcie1_phy>;
+ vpcie3v3-supply = <®_pcie_vcc_3v3>;
+};
+
+&pcie1 {
+ status = "okay";
+};
+
+&pcie2_phy {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie2_4_cfg>;
+ status = "okay";
+};
+
+&pcie2_port {
+ phys = <&pcie2_phy>;
+ vpcie3v3-supply = <®_pcie_vcc_3v3>;
+};
+
+&pcie2 {
+ status = "okay";
+};
+
&qspi {
pinctrl-names = "default";
pinctrl-0 = <&qspi_cfg>;
--
2.53.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 6/6] riscv: dts: spacemit: k1-musepi-pro: set default console baud rate
2026-05-13 7:19 [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices Andre Heider
` (4 preceding siblings ...)
2026-05-13 7:19 ` [PATCH v3 5/6] riscv: dts: spacemit: k1-musepi-pro: enable PCIe ports Andre Heider
@ 2026-05-13 7:19 ` Andre Heider
2026-05-13 7:46 ` [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices Yixun Lan
6 siblings, 0 replies; 11+ messages in thread
From: Andre Heider @ 2026-05-13 7:19 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan
Cc: Yixun Lan, devicetree, linux-riscv, spacemit, linux-kernel
Allow serial output with the same uboot/opensbi settings so the
console works without providing a cmdline.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Reviewed-by: Yixun Lan <dlan@kernel.org>
---
arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
index 953c0ff6a0d34..ce7caf6950dc0 100644
--- a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
@@ -22,7 +22,7 @@ aliases {
};
chosen {
- stdout-path = "serial0";
+ stdout-path = "serial0:115200n8";
};
leds {
--
2.53.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices
2026-05-13 7:19 [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices Andre Heider
` (5 preceding siblings ...)
2026-05-13 7:19 ` [PATCH v3 6/6] riscv: dts: spacemit: k1-musepi-pro: set default console baud rate Andre Heider
@ 2026-05-13 7:46 ` Yixun Lan
2026-05-13 7:56 ` Andre Heider
6 siblings, 1 reply; 11+ messages in thread
From: Yixun Lan @ 2026-05-13 7:46 UTC (permalink / raw)
To: Andre Heider
Cc: Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
Yixun Lan, linux-riscv, spacemit
Andre,
Thanks for pushing this new version, overall, this series looks good to me,
Although there are few quite trivial issues, which I could help to fix it while
applying, let's give community some time to test and review..
P.S I haven't run it on musepi board, but trust you tested all functions..
On 09:19 Wed 13 May , Andre Heider wrote:
> Add the missing devices with their required regulators. The regulators are named after
> their label in the vendor schematics[0].
>
> v3:
> - drop reg_usb_vbus, non-controllable and served only as vin-supply
> - fixed regulator-vcc-4v0 typo
> - fold addition of pmic regulator labels into the pmic patch
> - eeprom is a GT24C02B, fixed commit message
> - added reg_qspi_vcc1v833
> - fixed uboot nor name offset
> - add missing "reg_" prefix for reg_pcie_vcc_3v3
> - drop pcie{1,2}'s vpcie3v3-supply, it's already specified on the root ports
>
> v2:
> - drop reg_vcc_5v0_sys as per "non-controllable" review comments on
> similar patches for other boards (kept the root reg_usb_vbus for though)
> - add reg_vcc_4v0 instead as p1 vin?-supply, misread the schematics
> - drop mpcie_vcc_3v3 and use pcie_vcc_3v3 for pcie2* too
> ("non-controllable" again)
> - all of the above makes it consistent with other k1 boards
>
> v1: https://lore.kernel.org/spacemit/20260505160623.1369347-1-a.heider@gmail.com/T/#t
>
> $ cat /sys/kernel/debug/regulator/regulator_summary
> regulator use open bypass opmode voltage current min max
> ---------------------------------------------------------------------------------------
> regulator-dummy 1 0 0 unknown 0mV 0mA 0mV 0mV
> PCIE_VCC3V3 5 4 0 unknown 3300mV 0mA 3300mV 3300mV
> ca400000.pcie:pcie@0-vpcie3v3 1 0mA 0mV 0mV
> ca800000.pcie:pcie@0-vpcie3v3 1 0mA 0mV 0mV
> ca800000.pcie-vpcie3v3 1 0mA 0mV 0mV
> ca400000.pcie-vpcie3v3 1 0mA 0mV 0mV
> VCC4V0 8 10 0 unknown 4000mV 0mA 4000mV 4000mV
> buck1 1 0 0 unknown 1050mV 0mA 500mV 3450mV
> buck2 1 0 0 unknown 900mV 0mA 500mV 3450mV
> buck3 1 1 0 unknown 1800mV 0mA 500mV 1800mV
> 2-0050-vcc 0 0mA 0mV 0mV
> buck4 2 2 0 unknown 3300mV 0mA 500mV 3300mV
> d4280000.mmc-vmmc 0 0mA 3300mV 3300mV
> QSPI_VCC1833 2 1 0 unknown 1833mV 0mA 1833mV 1833mV
> spi0.0-vcc 1 0mA 0mV 0mV
> buck5 3 7 0 unknown 2100mV 0mA 500mV 3450mV
> dldo1 0 0 0 unknown 1200mV 0mA 500mV 3400mV
> dldo2 0 0 0 unknown 500mV 0mA 500mV 3400mV
> dldo3 0 0 0 unknown 500mV 0mA 500mV 3400mV
> dldo4 1 0 0 unknown 1800mV 0mA 500mV 3400mV
> dldo5 0 0 0 unknown 500mV 0mA 500mV 3400mV
> dldo6 1 0 0 unknown 1800mV 0mA 500mV 3400mV
> dldo7 0 0 0 unknown 500mV 0mA 500mV 3400mV
> buck6 1 0 0 unknown 1100mV 0mA 500mV 3450mV
> aldo1 1 1 0 unknown 3300mV 0mA 500mV 3400mV
> d4280000.mmc-vqmmc 1 0mA 0mV 0mV
> aldo2 0 0 0 unknown 500mV 0mA 500mV 3400mV
> aldo3 0 0 0 unknown 500mV 0mA 500mV 3400mV
> aldo4 0 0 0 unknown 500mV 0mA 500mV 3400mV
> 5V_VBUS 2 1 0 unknown 5000mV 0mA 5000mV 5000mV
> c0a00000.usb-vbus 1 0mA 0mV 0mV
> VCC5V0_HUB 2 1 0 unknown 5000mV 0mA 5000mV 5000mV
> c0a00000.usb:hub@1-vdd 1 0mA 0mV 0mV
>
> [0] https://github.com/spacemit-com/docs-product/blob/main/en/k1_muse_pi_pro/pi_pro_hw.md
>
> Andre Heider (6):
> riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure
> riscv: dts: spacemit: k1-musepi-pro: add 24c02 eeprom
> riscv: dts: spacemit: k1-musepi-pro: enable QSPI and add SPI NOR
> riscv: dts: spacemit: k1-musepi-pro: enable USB 3 ports
> riscv: dts: spacemit: k1-musepi-pro: enable PCIe ports
> riscv: dts: spacemit: k1-musepi-pro: set default console baud rate
>
> .../riscv/boot/dts/spacemit/k1-musepi-pro.dts | 309 +++++++++++++++++-
> 1 file changed, 308 insertions(+), 1 deletion(-)
>
> --
> 2.53.0
>
--
Yixun Lan (dlan)
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/6] riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure
2026-05-13 7:19 ` [PATCH v3 1/6] riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure Andre Heider
@ 2026-05-13 7:48 ` Yixun Lan
2026-05-13 8:02 ` Yixun Lan
1 sibling, 0 replies; 11+ messages in thread
From: Yixun Lan @ 2026-05-13 7:48 UTC (permalink / raw)
To: Andre Heider
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, devicetree,
linux-riscv, spacemit, linux-kernel
On 09:19 Wed 13 May , Andre Heider wrote:
> Enable i2c8 and add the connected SpacemiT P1 PMIC with its related regulators
got a warning here, commit message should limit to 75 characters..
> for the board's power infrastructure and voltage regulation support.
>
> Signed-off-by: Andre Heider <a.heider@gmail.com>
--
Yixun Lan (dlan)
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices
2026-05-13 7:46 ` [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices Yixun Lan
@ 2026-05-13 7:56 ` Andre Heider
0 siblings, 0 replies; 11+ messages in thread
From: Andre Heider @ 2026-05-13 7:56 UTC (permalink / raw)
To: Yixun Lan
Cc: Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
Yixun Lan, linux-riscv, spacemit
Hi Yixun,
On 13.05.26 9:46 AM, Yixun Lan wrote:
> Andre,
>
> Thanks for pushing this new version, overall, this series looks good to me,
> Although there are few quite trivial issues, which I could help to fix it while
> applying, let's give community some time to test and review..
alright, and sorry, my git send-email flow is a bit rusty, didn't notice those issues...
> P.S I haven't run it on musepi board, but trust you tested all functions..
I tested the added devices except nvme as I don't have one connected.
But I do have a pci card in there, which works just fine, so generally speaking pcie works and I'd assume/hope nvme would too ;)
> On 09:19 Wed 13 May , Andre Heider wrote:
>> Add the missing devices with their required regulators. The regulators are named after
>> their label in the vendor schematics[0].
>>
>> v3:
>> - drop reg_usb_vbus, non-controllable and served only as vin-supply
>> - fixed regulator-vcc-4v0 typo
>> - fold addition of pmic regulator labels into the pmic patch
>> - eeprom is a GT24C02B, fixed commit message
>> - added reg_qspi_vcc1v833
>> - fixed uboot nor name offset
>> - add missing "reg_" prefix for reg_pcie_vcc_3v3
>> - drop pcie{1,2}'s vpcie3v3-supply, it's already specified on the root ports
>>
>> v2:
>> - drop reg_vcc_5v0_sys as per "non-controllable" review comments on
>> similar patches for other boards (kept the root reg_usb_vbus for though)
>> - add reg_vcc_4v0 instead as p1 vin?-supply, misread the schematics
>> - drop mpcie_vcc_3v3 and use pcie_vcc_3v3 for pcie2* too
>> ("non-controllable" again)
>> - all of the above makes it consistent with other k1 boards
>>
>> v1: https://lore.kernel.org/spacemit/20260505160623.1369347-1-a.heider@gmail.com/T/#t
>>
>> $ cat /sys/kernel/debug/regulator/regulator_summary
>> regulator use open bypass opmode voltage current min max
>> ---------------------------------------------------------------------------------------
>> regulator-dummy 1 0 0 unknown 0mV 0mA 0mV 0mV
>> PCIE_VCC3V3 5 4 0 unknown 3300mV 0mA 3300mV 3300mV
>> ca400000.pcie:pcie@0-vpcie3v3 1 0mA 0mV 0mV
>> ca800000.pcie:pcie@0-vpcie3v3 1 0mA 0mV 0mV
>> ca800000.pcie-vpcie3v3 1 0mA 0mV 0mV
>> ca400000.pcie-vpcie3v3 1 0mA 0mV 0mV
>> VCC4V0 8 10 0 unknown 4000mV 0mA 4000mV 4000mV
>> buck1 1 0 0 unknown 1050mV 0mA 500mV 3450mV
>> buck2 1 0 0 unknown 900mV 0mA 500mV 3450mV
>> buck3 1 1 0 unknown 1800mV 0mA 500mV 1800mV
>> 2-0050-vcc 0 0mA 0mV 0mV
>> buck4 2 2 0 unknown 3300mV 0mA 500mV 3300mV
>> d4280000.mmc-vmmc 0 0mA 3300mV 3300mV
>> QSPI_VCC1833 2 1 0 unknown 1833mV 0mA 1833mV 1833mV
>> spi0.0-vcc 1 0mA 0mV 0mV
>> buck5 3 7 0 unknown 2100mV 0mA 500mV 3450mV
>> dldo1 0 0 0 unknown 1200mV 0mA 500mV 3400mV
>> dldo2 0 0 0 unknown 500mV 0mA 500mV 3400mV
>> dldo3 0 0 0 unknown 500mV 0mA 500mV 3400mV
>> dldo4 1 0 0 unknown 1800mV 0mA 500mV 3400mV
>> dldo5 0 0 0 unknown 500mV 0mA 500mV 3400mV
>> dldo6 1 0 0 unknown 1800mV 0mA 500mV 3400mV
>> dldo7 0 0 0 unknown 500mV 0mA 500mV 3400mV
>> buck6 1 0 0 unknown 1100mV 0mA 500mV 3450mV
>> aldo1 1 1 0 unknown 3300mV 0mA 500mV 3400mV
>> d4280000.mmc-vqmmc 1 0mA 0mV 0mV
>> aldo2 0 0 0 unknown 500mV 0mA 500mV 3400mV
>> aldo3 0 0 0 unknown 500mV 0mA 500mV 3400mV
>> aldo4 0 0 0 unknown 500mV 0mA 500mV 3400mV
>> 5V_VBUS 2 1 0 unknown 5000mV 0mA 5000mV 5000mV
>> c0a00000.usb-vbus 1 0mA 0mV 0mV
>> VCC5V0_HUB 2 1 0 unknown 5000mV 0mA 5000mV 5000mV
>> c0a00000.usb:hub@1-vdd 1 0mA 0mV 0mV
>>
>> [0] https://github.com/spacemit-com/docs-product/blob/main/en/k1_muse_pi_pro/pi_pro_hw.md
>>
>> Andre Heider (6):
>> riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure
>> riscv: dts: spacemit: k1-musepi-pro: add 24c02 eeprom
>> riscv: dts: spacemit: k1-musepi-pro: enable QSPI and add SPI NOR
>> riscv: dts: spacemit: k1-musepi-pro: enable USB 3 ports
>> riscv: dts: spacemit: k1-musepi-pro: enable PCIe ports
>> riscv: dts: spacemit: k1-musepi-pro: set default console baud rate
>>
>> .../riscv/boot/dts/spacemit/k1-musepi-pro.dts | 309 +++++++++++++++++-
>> 1 file changed, 308 insertions(+), 1 deletion(-)
>>
>> --
>> 2.53.0
>>
>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/6] riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure
2026-05-13 7:19 ` [PATCH v3 1/6] riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure Andre Heider
2026-05-13 7:48 ` Yixun Lan
@ 2026-05-13 8:02 ` Yixun Lan
1 sibling, 0 replies; 11+ messages in thread
From: Yixun Lan @ 2026-05-13 8:02 UTC (permalink / raw)
To: Andre Heider
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, devicetree,
linux-riscv, spacemit, linux-kernel
Hi Andre,
On 09:19 Wed 13 May , Andre Heider wrote:
> Enable i2c8 and add the connected SpacemiT P1 PMIC with its related regulators
> for the board's power infrastructure and voltage regulation support.
>
> Signed-off-by: Andre Heider <a.heider@gmail.com>
> ---
> .../riscv/boot/dts/spacemit/k1-musepi-pro.dts | 134 ++++++++++++++++++
> 1 file changed, 134 insertions(+)
>
> diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
> index 29e333b670cf0..e0b585c50014b 100644
> --- a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
> +++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
> @@ -17,6 +17,7 @@ / {
> aliases {
> ethernet0 = ð0;
> serial0 = &uart0;
> + i2c8 = &i2c8;
> };
>
> chosen {
> @@ -33,6 +34,15 @@ led1 {
> default-state = "on";
> };
> };
> +
..
> + reg_vcc_4v0: regulator-vcc-4v0 {
I prefer to keep this name same as other boards, so let's change it
to reg_vcc_4v ..
> + compatible = "regulator-fixed";
> + regulator-name = "VCC4V0";
> + regulator-min-microvolt = <4000000>;
> + regulator-max-microvolt = <4000000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> };
--
Yixun Lan (dlan)
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-05-13 8:02 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-13 7:19 [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices Andre Heider
2026-05-13 7:19 ` [PATCH v3 1/6] riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure Andre Heider
2026-05-13 7:48 ` Yixun Lan
2026-05-13 8:02 ` Yixun Lan
2026-05-13 7:19 ` [PATCH v3 2/6] riscv: dts: spacemit: k1-musepi-pro: add 24c02 eeprom Andre Heider
2026-05-13 7:19 ` [PATCH v3 3/6] riscv: dts: spacemit: k1-musepi-pro: enable QSPI and add SPI NOR Andre Heider
2026-05-13 7:19 ` [PATCH v3 4/6] riscv: dts: spacemit: k1-musepi-pro: enable USB 3 ports Andre Heider
2026-05-13 7:19 ` [PATCH v3 5/6] riscv: dts: spacemit: k1-musepi-pro: enable PCIe ports Andre Heider
2026-05-13 7:19 ` [PATCH v3 6/6] riscv: dts: spacemit: k1-musepi-pro: set default console baud rate Andre Heider
2026-05-13 7:46 ` [PATCH v3 0/6] spacemit: k1-musepi-pro: add missing devices Yixun Lan
2026-05-13 7:56 ` Andre Heider
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox