Linux-RISC-V Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [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 = &eth0;
 		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 = <&reg_vcc_4v0>;
+		vin2-supply = <&reg_vcc_4v0>;
+		vin3-supply = <&reg_vcc_4v0>;
+		vin4-supply = <&reg_vcc_4v0>;
+		vin5-supply = <&reg_vcc_4v0>;
+		vin6-supply = <&reg_vcc_4v0>;
+		aldoin-supply = <&reg_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 = &eth0;
 		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 = <&reg_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";
+};
+
 &eth0 {
 	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 = <&reg_5v_vbus>;
+	status = "okay";
+
+	hub_2_0: hub@1 {
+		compatible = "usb2109,2817";
+		reg = <0x1>;
+		vdd-supply = <&reg_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 = <&reg_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 = <&reg_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 = <&reg_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 = &eth0;
>  		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