From nobody Thu Apr 2 19:00:05 2026 Received: from hall.aurel32.net (hall.aurel32.net [195.154.119.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BCD0639FCAD; Thu, 26 Mar 2026 18:38:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.154.119.183 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774550288; cv=none; b=flQn+dqWpUsvylLO7A/gcRNus80rqg47jEc1ug0srJsiikYXcghJ0zEwtscYo314BFqlV5uzbATJ7qQM0Vcqks2RCkwv00PgErwg/WfzLqLRr6aFZjQc2o1toMiG4IXOORxkanb4Y2SgICOQ8X2qhwr+nj/PfB/gZUqOoVkGBdE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774550288; c=relaxed/simple; bh=Z5d+qisrCUqKR1bEaqfGKNaDzKxqIcu4biwQahRJmYM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mdsbUH9DyvoenLcFn2fkinkV8U1f1ZGqmCNXkFt4dSh/w3sQhqc+rW8+PwixNLNcsxss30c0ed4c48uBwKKap07Gd8fYJ5C7yzAzvVmIXc+6qkmS4YmfVbzJ4xSWtVgD4TZKWaL5NzSDmBxTwoh2LY2J6/MX1YaPrAD93czqalE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net; spf=pass smtp.mailfrom=aurel32.net; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b=e9aQd6Dz; arc=none smtp.client-ip=195.154.119.183 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=aurel32.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b="e9aQd6Dz" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=aurel32.net ; s=202004.hall; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Content-Type:From:Reply-To: Subject:Content-ID:Content-Description:X-Debbugs-Cc; bh=+KcrpH8cwpBflE8VQsFexd/Z08Riudm3og8OXJwlHKs=; b=e9aQd6DzTfCmxNpweipgrREW1l 0UXaQu4R9x8fFWKS1BIIj9CQfmi3R2KaM6qU+uFNDy19x8Vy1x6oL0psyhdicFnl4PetlH/rcGsd3 5bbphhjJUniMorY84mibFyR94ezf6t/9lQknfVW/qwhnNlmBOxAFSYNCqp/LA0sH2KfChIgh7PwlO ddEsDQ8FI1qJApvR+vNh2nt0enzH5f+u+Bh+r8H1+LNBoQVqCDbkQdtGa5adIHd90dSxYxIxx8rom nk3Wr57Y36Mqc+/30tC7GcOyhLGL19i96tTrkjbBXGOxdUJCQw1BPkZlE92TXVy4Sp7z9mn7pOYLF 5q1unowQ==; Received: from authenticated user by hall.aurel32.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w5pal-0000000GAjN-3tDk; Thu, 26 Mar 2026 19:38:03 +0100 From: Aurelien Jarno To: linux-kernel@vger.kernel.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Yixun Lan Cc: Aurelien Jarno , Javier Martinez Canillas , devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS), linux-riscv@lists.infradead.org (open list:RISC-V SPACEMIT SoC Support), spacemit@lists.linux.dev (open list:RISC-V SPACEMIT SoC Support) Subject: [PATCH v2 1/6] riscv: dts: spacemit: add LEDs for Milk-V Jupiter board Date: Thu, 26 Mar 2026 19:35:29 +0100 Message-ID: <20260326183745.1370642-2-aurelien@aurel32.net> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260326183745.1370642-1-aurelien@aurel32.net> References: <20260326183745.1370642-1-aurelien@aurel32.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Milk-V Jupiter board provides support for two LEDs through the front panel header. The "Power LED" indicates the system is running, and the "HDD LED" shows disk activity. Configure the corresponding LED triggers accordingly. Caveats: - The LEDs are driven through a 4.7k series resistor, making them quite faint. - The disk activity trigger requires a storage controller on the M.2 or PCIe interface. That said, it matches the purpose and the vendor kernel. Signed-off-by: Aurelien Jarno Reviewed-by: Javier Martinez Canillas Reviewed-by: Yixun Lan --- .../boot/dts/spacemit/k1-milkv-jupiter.dts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) v2: - Collect Reviewed-by: diff --git a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts b/arch/riscv= /boot/dts/spacemit/k1-milkv-jupiter.dts index 9959c8023ece0..3cd83c5924e4f 100644 --- a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts +++ b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts @@ -21,6 +21,23 @@ chosen { stdout-path =3D "serial0"; }; =20 + leds { + compatible =3D "gpio-leds"; + + led1 { + label =3D "pwr-led"; + gpios =3D <&gpio K1_GPIO(96) GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "default-on"; + default-state =3D "on"; + }; + + led2 { + label =3D "hdd-led"; + gpios =3D <&gpio K1_GPIO(92) GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "disk-activity"; + }; + }; + reg_dc_in: regulator-dc-in-12v { compatible =3D "regulator-fixed"; regulator-name =3D "dc_in_12v"; --=20 2.51.0 From nobody Thu Apr 2 19:00:05 2026 Received: from hall.aurel32.net (hall.aurel32.net [195.154.119.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BCDCA39FCC8; Thu, 26 Mar 2026 18:38:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.154.119.183 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774550288; cv=none; b=SsHab1N7h8wGQYFugTWtWTUiSKvt5eN7w0dTE0qcZhQofA1EdyGPew3zWPc5nUy2S7cfa5DWmt0wmLX32VnuNOmENOYpyOWJaekV+ikWpf+fLhwIxTV4+N/HpnF2YDPzkULtloiM1Q3u8+p5PZ8IGQzKPomqgNBNiRrNtY1rhkc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774550288; c=relaxed/simple; bh=fHyoT2CDwUPiMN7cENHogAhqQHrCNYmiVY01k1kh80Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=O2QC6+6CVXdSyDdgSstlGRzKGYADBJteFbgy1I/UX+GitcQbFM0Rv1DqmWIoh8rDTKOnBi1Q/MQTzdbnpOROp2qqwtFFpaSOvG8asOuctO8yvpCbkJLbtwp9TEZyO6AzdwsD7rWa7jtSTUrK/e4/YH6Se7EwJpeEOe+pnd9Fr6c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net; spf=pass smtp.mailfrom=aurel32.net; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b=MY+xpJHD; arc=none smtp.client-ip=195.154.119.183 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=aurel32.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b="MY+xpJHD" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=aurel32.net ; s=202004.hall; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Content-Type:From:Reply-To: Subject:Content-ID:Content-Description:X-Debbugs-Cc; bh=fkXcxc78C3LR18JMiJxn0CXjcMZJuIDogetyJvmzDE4=; b=MY+xpJHD/r+E4BiiK/g79Pskb8 kOb8RGhjKn9pXKLR4mCZqOh/rT9PPU+O96jmEvK8d4DrRJMZ/+fKJ06KxxaSgkQ2CP/VIaR0Hx5jv wYX6zXeVdrYxPEkZ2q8ajtTrWGGB9rTdyr0DikbApTx0UQCPd7liHivpAkFdR0LxAASqxULU9Zcmr 2FOdanTyVxV6EET5xxunTkOiR1PDytcbp5sFWWeaNBSe98JAHKtVI/fJgoly138vWQV8H/tZXpFXR RluxkSHC9T8cZOL3v8KSo301QxBH5qcKZBuML7Mx6RiGNllfX3QKTaUzE+0y2/IFSI26IvZd1Ts44 cgq2VnxQ==; Received: from authenticated user by hall.aurel32.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w5pam-0000000GAjO-190Z; Thu, 26 Mar 2026 19:38:04 +0100 From: Aurelien Jarno To: linux-kernel@vger.kernel.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: Aurelien Jarno , Javier Martinez Canillas , devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS), linux-riscv@lists.infradead.org (open list:RISC-V SPACEMIT SoC Support), spacemit@lists.linux.dev (open list:RISC-V SPACEMIT SoC Support) Subject: [PATCH v2 2/6] riscv: dts: spacemit: add 24c04 eeprom on Milk-V Jupiter Date: Thu, 26 Mar 2026 19:35:30 +0100 Message-ID: <20260326183745.1370642-3-aurelien@aurel32.net> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260326183745.1370642-1-aurelien@aurel32.net> References: <20260326183745.1370642-1-aurelien@aurel32.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Milk-V Jupiter board includes a 24c04 eeprom on the i2c2 bus. The eeprom contains an ONIE TLV table, which on the board I tested only provides a product-name entry. Expose it via an onie,tlv-layout nvmem layout. The eeprom is marked as read-only since its contents are not supposed to be modified. Signed-off-by: Aurelien Jarno Reviewed-by: Javier Martinez Canillas Reviewed-by: Yixun Lan --- .../boot/dts/spacemit/k1-milkv-jupiter.dts | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) v2: - Collect Reviewed-by: diff --git a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts b/arch/riscv= /boot/dts/spacemit/k1-milkv-jupiter.dts index 3cd83c5924e4f..bd48208a370cf 100644 --- a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts +++ b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts @@ -108,6 +108,28 @@ &pdma { status =3D "okay"; }; =20 +&i2c2 { + pinctrl-0 =3D <&i2c2_0_cfg>; + pinctrl-names =3D "default"; + status =3D "okay"; + + eeprom@50 { + compatible =3D "atmel,24c04"; + reg =3D <0x50>; + vcc-supply =3D <&buck3_1v8>; /* EEPROM_VCC18 */ + pagesize =3D <16>; + read-only; + size =3D <512>; + + nvmem-layout { + compatible =3D "onie,tlv-layout"; + + product-name { + }; + }; + }; +}; + &i2c8 { pinctrl-0 =3D <&i2c8_cfg>; pinctrl-names =3D "default"; --=20 2.51.0 From nobody Thu Apr 2 19:00:05 2026 Received: from hall.aurel32.net (hall.aurel32.net [195.154.119.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 214753A0B28; Thu, 26 Mar 2026 18:38:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.154.119.183 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774550288; cv=none; b=cePQ99YdN7Ls0QnRTbcTB/tK5tdaNndjSbq6ahCssxhKcnKTGKtb6uBZ+d+weVaT+isd8cCkBwdVY09WxfdRbSYn1NoqHW1S2DV9LLcY6BjtvyaWdmA+/Bg2fBgcKXLBOUixieiA851rWvGDhi/HkyjHKfx4nMfADdQwVahAZBo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774550288; c=relaxed/simple; bh=IduRaeuUoF70vKj9/tomAbQZ2WCzwN9klfsFBVEmRfo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TJrHt9nqjuoMjx8jj9ovHq1Mz8H4952L33qd6t8k5Q5h6xS3GCvEp5InjIilLk1/yPLNeKMA31BuEE2c8s96l3AhOrO4VDsYVzisDe0XBAdsWNj5u5TJlvwFAx4SLiW1SRlqLlD3b3l32kj9KORqQ6iGnH0WSFLurtIX0V8V65U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net; spf=pass smtp.mailfrom=aurel32.net; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b=RGtrnEJJ; arc=none smtp.client-ip=195.154.119.183 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=aurel32.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b="RGtrnEJJ" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=aurel32.net ; s=202004.hall; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Content-Type:From:Reply-To: Subject:Content-ID:Content-Description:X-Debbugs-Cc; bh=i+OkUBOkqN90FxBJF3iUtR3fbhuPAeGsJmHvGA9/AeM=; b=RGtrnEJJ1oAxXulgSTg5S34nCH CQkZAfLEbKBAtXCObwV7qdBbTVHkpvBFGicB0v+JSUpyHG5ezND3aziNGiFBz9sl1Zf9VqNs7cvqc 5AkNhWyqnM+1ruPrUX98iihYg7d20gYSIVa/bcnkU86FvTvg7bTLjwDBVc/QYjrduDHvmEDkwfdiB jjAWB9tdrXPGWZ5AMNaZQLvm/Ikh9ZkpqYfXHzkr2ivFWVgCRpa+O+5/KfbmWIl83HLl8ZGhDW/zN 7zOYOhIXzychIX60sHv+hd/yGMEtvtdeg2bMySpqVEKkESauJYBbUpC+lh02xQYt4ils31QX0JKtM 77oE94vA==; Received: from authenticated user by hall.aurel32.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w5pam-0000000GAjQ-3Ol3; Thu, 26 Mar 2026 19:38:04 +0100 From: Aurelien Jarno To: linux-kernel@vger.kernel.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Yixun Lan Cc: Aurelien Jarno , Javier Martinez Canillas , devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS), linux-riscv@lists.infradead.org (open list:RISC-V ARCHITECTURE), spacemit@lists.linux.dev (open list:RISC-V SPACEMIT SoC Support) Subject: [PATCH v2 3/6] riscv: dts: spacemit: add i2c aliases on Milk-V Jupiter Date: Thu, 26 Mar 2026 19:35:31 +0100 Message-ID: <20260326183745.1370642-4-aurelien@aurel32.net> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260326183745.1370642-1-aurelien@aurel32.net> References: <20260326183745.1370642-1-aurelien@aurel32.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add i2c aliases for i2c2 and i2c8 on Milk-V Jupiter. This is useful to keep a stable number for the /dev entries after loading the i2c-dev module. Signed-off-by: Aurelien Jarno Reviewed-by: Javier Martinez Canillas Reviewed-by: Yixun Lan --- arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts | 2 ++ 1 file changed, 2 insertions(+) v2: - Collect Reviewed-by: diff --git a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts b/arch/riscv= /boot/dts/spacemit/k1-milkv-jupiter.dts index bd48208a370cf..836311c3f035c 100644 --- a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts +++ b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts @@ -15,6 +15,8 @@ aliases { ethernet0 =3D ð0; ethernet1 =3D ð1; serial0 =3D &uart0; + i2c2 =3D &i2c2; + i2c8 =3D &i2c8; }; =20 chosen { --=20 2.51.0 From nobody Thu Apr 2 19:00:05 2026 Received: from hall.aurel32.net (hall.aurel32.net [195.154.119.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8542D3A1D1B; Thu, 26 Mar 2026 18:38:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.154.119.183 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774550289; cv=none; b=hUUz6HmTPji45lSH5Tqn9CRdNaH/OOvdnSRfbj2FhH/GD0wABwX8qDWurMbWBzDY6NaiBZA0Orm83Hmb6h4uiaLbMAfyyGxWcquqnFozn8AKPCm5rVQMBygE0LEFcF4sII++ezysh/hNh0RPYYuJ08n2N1i7nriWLfmSwnR62nM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774550289; c=relaxed/simple; bh=KCWBbfrTOUMcx0cIWGLjyLL5xytign+TYvgFQPTLs14=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RBjj3Rry+hFp31DjVEJosFjwWE5t9ji/qUXqB9VQ1Ghw016xulv9ILntPt8jqGE13x3JrQmb/xZlKsi40N8sm3a8fgjlOn+L0HsvZvyZJhjIktMOlO7SxrfEQ7Kr4l9jDpt2xD3F3Sfb5M9KnlTQ+b10RpnYXIU26u68SqbpuZ8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net; spf=pass smtp.mailfrom=aurel32.net; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b=hJiSQDph; arc=none smtp.client-ip=195.154.119.183 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=aurel32.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b="hJiSQDph" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=aurel32.net ; s=202004.hall; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Content-Type:From:Reply-To: Subject:Content-ID:Content-Description:X-Debbugs-Cc; bh=3on1Dl9hWGjs68TWWHrwVaSnOV+T0jR1PO3sYA88TQ4=; b=hJiSQDphQUuf9rSArYSlR5Vsg/ b+fDKy2WRFniSRVCyGy1MsMD9ZV4dgerQvWFf8dj0B3XpDkpaNXzuqPiZuKoU6ByffzbXdf/pGVK5 lv5CY8DjUE9hFZ4b6hSflsGSvY5vqQsq3g9dC6SKrCvv3bUcxZ2DUa04dHcZLWGEmLds9sqQKiapj GNuNZweiAogLQ0WroozF2sgJqtoOXjaja/48syRRpBRbGn13fQ8ZTYMgRO1lP5KePgl2wCCZ5Wvor rcZRJcS0P6J2JecOm+Vgs9xmGmU70EXGzMg+VMdb4w0b7EFw0hBDnSYmoXaNr9nleLXB3T9Ci6G+I ZEqg9OhQ==; Received: from authenticated user by hall.aurel32.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w5pan-0000000GAjq-1QCF; Thu, 26 Mar 2026 19:38:05 +0100 From: Aurelien Jarno To: linux-kernel@vger.kernel.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Yixun Lan Cc: Aurelien Jarno , Javier Martinez Canillas , devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS), linux-riscv@lists.infradead.org (open list:RISC-V SPACEMIT SoC Support), spacemit@lists.linux.dev (open list:RISC-V SPACEMIT SoC Support) Subject: [PATCH v2 4/6] riscv: dts: spacemit: enable QSPI and add SPI NOR on Milk-V Jupiter Date: Thu, 26 Mar 2026 19:35:32 +0100 Message-ID: <20260326183745.1370642-5-aurelien@aurel32.net> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260326183745.1370642-1-aurelien@aurel32.net> References: <20260326183745.1370642-1-aurelien@aurel32.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add the QSPI controller node for the Milk-V Jupiter board and describe the attached SPI NOR flash (GD25Q64E). The flash supports a frequency up to 133MHz (80 MHz for reads), and the SoC supports a frequency up to 104 MHz. However tests have shown that the flash is not reliably detected above 26.5 MHz, consistent with frequency used in the vendor kernel. Therefore, use this frequency. The m25p,fast-read properties is taken from the vendor kernel, and the GD25Q64E datasheet confirms tha the fast read opcodes are supported. Add a corresponding flash partition layout, matching the layout and the names used in the vendor U-Boot. Signed-off-by: Aurelien Jarno Reviewed-by: Javier Martinez Canillas Reviewed-by: Yixun Lan --- .../boot/dts/spacemit/k1-milkv-jupiter.dts | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) v2: - Remove bootph-pre-ram property from SPI NOR flash and update the patch d= escription accordingly - Mention that the fast read opcodes is marked as supported in the datashe= et - Collect Reviewed-by: diff --git a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts b/arch/riscv= /boot/dts/spacemit/k1-milkv-jupiter.dts index 836311c3f035c..bac6438c67532 100644 --- a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts +++ b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts @@ -173,7 +173,7 @@ buck3_1v8: buck3 { regulator-always-on; }; =20 - buck4 { + buck4_3v3: buck4 { regulator-min-microvolt =3D <500000>; regulator-max-microvolt =3D <3300000>; regulator-ramp-delay =3D <5000>; @@ -256,6 +256,47 @@ dldo7 { }; }; =20 +&qspi { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&qspi_cfg>; + status =3D "okay"; + + flash@0 { + compatible =3D "jedec,spi-nor"; + reg =3D <0>; + spi-max-frequency =3D <26500000>; + spi-rx-bus-width =3D <4>; + spi-tx-bus-width =3D <4>; + vcc-supply =3D <&buck4_3v3>; /* QSPI_VCC1833 */ + m25p,fast-read; + + partitions { + compatible =3D "fixed-partitions"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + bootinfo@0 { + reg =3D <0x0 0x10000>; + }; + private@10000 { + reg =3D <0x10000 0x10000>; + }; + fsbl@20000 { + reg =3D <0x20000 0x40000>; + }; + env@60000 { + reg =3D <0x60000 0x10000>; + }; + opensbi@70000 { + reg =3D <0x70000 0x30000>; + }; + uboot@a00000 { + reg =3D <0xa0000 0x760000>; + }; + }; + }; +}; + &uart0 { pinctrl-names =3D "default"; pinctrl-0 =3D <&uart0_2_cfg>; --=20 2.51.0 From nobody Thu Apr 2 19:00:05 2026 Received: from hall.aurel32.net (hall.aurel32.net [195.154.119.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 434883A256E; Thu, 26 Mar 2026 18:38:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.154.119.183 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774550290; cv=none; b=YGVqsE6KYHX/kHzqNKREpwwoaUdFXIqUMz09NJcaR0bZEtZT1bgLme0cgY4IWGOgXDRHCS2bTz1Pw6zgoDN7ghZsxBgmXbXn6kbdC8mU4I4S+50Ndkcr6nyZVPinqbg9CyOhX+otfO/KMRJg1UoaSvgYrXMdku6CCU15WfDJKf4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774550290; c=relaxed/simple; bh=Wg8dF4Ez2L/t9Cq/QcTOnBgcuy4Q5bRNlhgTN1nH2u0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a4kTWQRQiWrpX2TT4LoQ8HPTa46ve1lNxi6S0YaToD03MJWtam/hM5Zy1WAG7dmI2xKDkMBXekaPihC65HOcnN398Cu/yx/WA0Hv/dtl4uoJWJmrw/4jNZleaeaxPllYICKY+vlCC2obasAQb+LVWfT/RhfpvaOag3p130isD6A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net; spf=pass smtp.mailfrom=aurel32.net; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b=Y67fJhjr; arc=none smtp.client-ip=195.154.119.183 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=aurel32.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b="Y67fJhjr" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=aurel32.net ; s=202004.hall; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Content-Type:From:Reply-To: Subject:Content-ID:Content-Description:X-Debbugs-Cc; bh=LOzo504Q+HcWKPGfQ4ITo0nHxBZ+WPeVELxNohKFadw=; b=Y67fJhjrbNSWTOerrlRom1/2TK 4RDuQWs9/dof3DHMVax0gvo+/maZE6xORIZY2MWQ6LC6aJhGWus4iUrIwF/46l8LttchbH9AwDHWJ gKk0eY/p+36InGKBQTqrL8xUi9ZISXJapuIDPbYrqjh712wVX7hKA9EzB0/tHD9r1MnZv5zffl68/ wtyJ8nPd9uKKNGhhNGo1F2e2iA02D+zcKDTsPiSZqB7X/AGxNnM4jXs0MPAcddvE/u9VlNvTH5k+F VDGmvGCEJlzJPhCpiAZFWh/BDVchs61IYZv5B1uzaowXnV04ftFeNE5DQycYmeROEzG5/0wBkQbaG zhefyQVA==; Received: from authenticated user by hall.aurel32.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w5pan-0000000GAk3-2eiV; Thu, 26 Mar 2026 19:38:05 +0100 From: Aurelien Jarno To: linux-kernel@vger.kernel.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Yixun Lan Cc: Aurelien Jarno , Javier Martinez Canillas , devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS), linux-riscv@lists.infradead.org (open list:RISC-V SPACEMIT SoC Support), spacemit@lists.linux.dev (open list:RISC-V SPACEMIT SoC Support) Subject: [PATCH v2 5/6] riscv: dts: spacemit: enable USB 3 ports on Milk-V Jupiter Date: Thu, 26 Mar 2026 19:35:33 +0100 Message-ID: <20260326183745.1370642-6-aurelien@aurel32.net> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260326183745.1370642-1-aurelien@aurel32.net> References: <20260326183745.1370642-1-aurelien@aurel32.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Enable the DWC3 USB 3.0 controller (USB#2 port in the K1 datasheet) and its associated combo_phy (USB 3 PHY) and usbphy2 (USB 2 PHY) on the Milk-V Jupiter board. The board uses a VLI VL817 hub, providing four ports. Two are routed to the 3.0 type-A connectors, and two to the F_USB3 front USB header. The hub requires two separate 5V power supplies: one for the hub itself and one for the USB connectors. Add an always-on regulator sourcing 5V from the DC-IN input, along with two GPIO-controlled fixed regulators to manage the hub and connectors power supplies. Note that the board also provides four USB 2.0 ports (two via type-A connectors and two via the F_USB2 front USB header), but these are handled by a different controller (USB#1 port in the K1 datasheet). Signed-off-by: Aurelien Jarno Reviewed-by: Javier Martinez Canillas Reviewed-by: Yixun Lan --- .../boot/dts/spacemit/k1-milkv-jupiter.dts | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) v2: - Collect Reviewed-by: diff --git a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts b/arch/riscv= /boot/dts/spacemit/k1-milkv-jupiter.dts index bac6438c67532..8eeaf2631b719 100644 --- a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts +++ b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts @@ -58,6 +58,41 @@ reg_vcc_4v: regulator-vcc-4v { regulator-always-on; vin-supply =3D <®_dc_in>; }; + + reg_vcc_5v: regulator-vcc-5v { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc_5v"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + regulator-boot-on; + regulator-always-on; + vin-supply =3D <®_dc_in>; + }; + + regulator-usb3-vbus-5v { + compatible =3D "regulator-fixed"; + regulator-name =3D "USB30_VBUS"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + regulator-always-on; + vin-supply =3D <®_vcc_5v>; + gpio =3D <&gpio K1_GPIO(97) GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + usb3_hub_5v: regulator-usb3-hub-5v { + compatible =3D "regulator-fixed"; + regulator-name =3D "USB30_HUB"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + vin-supply =3D <®_vcc_5v>; + gpio =3D <&gpio K1_GPIO(123) GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&combo_phy { + status =3D "okay"; }; =20 ð0 { @@ -302,3 +337,30 @@ &uart0 { pinctrl-0 =3D <&uart0_2_cfg>; status =3D "okay"; }; + +&usbphy2 { + status =3D "okay"; +}; + +&usb_dwc3 { + dr_mode =3D "host"; + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "okay"; + + hub_2_0: hub@1 { + compatible =3D "usb2109,2817"; + reg =3D <0x1>; + vdd-supply =3D <&usb3_hub_5v>; + peer-hub =3D <&hub_3_0>; + reset-gpios =3D <&gpio K1_GPIO(124) GPIO_ACTIVE_LOW>; + }; + + hub_3_0: hub@2 { + compatible =3D "usb2109,817"; + reg =3D <0x2>; + vdd-supply =3D <&usb3_hub_5v>; + peer-hub =3D <&hub_2_0>; + reset-gpios =3D <&gpio K1_GPIO(124) GPIO_ACTIVE_LOW>; + }; +}; --=20 2.51.0 From nobody Thu Apr 2 19:00:05 2026 Received: from hall.aurel32.net (hall.aurel32.net [195.154.119.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E8F13A2569; Thu, 26 Mar 2026 18:38:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.154.119.183 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774550290; cv=none; b=a1WzZQ0xeNibanabDTcE+tYwoKse8sXMuJcaWGvMywSGd9B1zVC59cOMsakMSc56blqv3QhLeJ12CjyaPAGkqKBzeaRXCLpp1puNEZY60Js91SAsmljsV9pQtUbfuTIjpcejVdBx7IT9nsj3/5uzclmnFpzgOpVb8RMABLg+nqY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774550290; c=relaxed/simple; bh=aoTx0M62WPQUSa6YRlTCH6X4r6DsNP7Snxsf5BAYfEI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qobVLF4YWNvBAg4fTWLZrqkJsf86aDaBS2VKK72ee0bv+xIbX25ro19cNR+V0FKlTGDn+cQnQu7lZW4RwwrPBp+0CYkfvU5T5/Zy7zjtSf8Pa4erega/tnn1NrD2jloGgZy3pDOiQ3G2aklRHExKLNDyz6nEvPa1z5Tx1u9+R3I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net; spf=pass smtp.mailfrom=aurel32.net; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b=aEAZ2zOV; arc=none smtp.client-ip=195.154.119.183 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=aurel32.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b="aEAZ2zOV" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=aurel32.net ; s=202004.hall; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Content-Type:From:Reply-To: Subject:Content-ID:Content-Description:X-Debbugs-Cc; bh=iO1EmeWh+Lq1L5K3DhLyTQerUA8FzD+PRV6OahdSGak=; b=aEAZ2zOVYyHxILLKf1Ha2rJt8o Myh3pxFRNIUwlFYVO8Y9pBvUmYMFjOOsWO8Kzm2FzeH+08L1NP9m1KztnevK5sqyuP+rBXjvBDg/H X2Vg5qa1RQJdxR+CME2XYZW6QeXGQ8/gge+LjBD3VCVhyj2yTG2a5Nv1Lws9CSH7yuD/nVqHTBXfD eMwJV+POi874Gar2tRYB8y8HtXTmysPhL4fgLX6cY9sKRbqnUPnz3INXNR0PrtMI/SpiRvkiGDcB5 IGJRlVZd4MDwrgS0wy4r+SDJIyGxsneEFcBYaXwHg02/4iKCH3bm59s3sjVZLmc5Y1+tUIrnxjS0l yFiVNOHA==; Received: from authenticated user by hall.aurel32.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w5pao-0000000GAk7-09cX; Thu, 26 Mar 2026 19:38:06 +0100 From: Aurelien Jarno To: linux-kernel@vger.kernel.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: Aurelien Jarno , Javier Martinez Canillas , devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS), linux-riscv@lists.infradead.org (open list:RISC-V SPACEMIT SoC Support), spacemit@lists.linux.dev (open list:RISC-V SPACEMIT SoC Support) Subject: [PATCH v2 6/6] riscv: dts: spacemit: enable PCIe ports on Milk-V Jupiter Date: Thu, 26 Mar 2026 19:35:34 +0100 Message-ID: <20260326183745.1370642-7-aurelien@aurel32.net> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260326183745.1370642-1-aurelien@aurel32.net> References: <20260326183745.1370642-1-aurelien@aurel32.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Enable the two PCIe controller along with and their associated PHY. They are routed to the M.2 M-key connector and to the PCIe x8 slot. Add an always-on regulator sourcing 3.3V from the DC-IN input, to power the PCIe ports. Signed-off-by: Aurelien Jarno Reviewed-by: Javier Martinez Canillas Reviewed-by: Yixun Lan --- .../boot/dts/spacemit/k1-milkv-jupiter.dts | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) v2: - Collect Reviewed-by: - Fix a typo in the description diff --git a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts b/arch/riscv= /boot/dts/spacemit/k1-milkv-jupiter.dts index 8eeaf2631b719..afaad59e6bce2 100644 --- a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts +++ b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts @@ -40,6 +40,16 @@ led2 { }; }; =20 + pcie_vcc_3v3: regulator-pcie-vcc3v3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "pcie_vcc3v3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-boot-on; + regulator-always-on; + vin-supply =3D <®_dc_in>; + }; + reg_dc_in: regulator-dc-in-12v { compatible =3D "regulator-fixed"; regulator-name =3D "dc_in_12v"; @@ -291,6 +301,38 @@ dldo7 { }; }; =20 +&pcie1_phy { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pcie1_3_cfg>; + status =3D "okay"; +}; + +&pcie1_port { + phys =3D <&pcie1_phy>; + vpcie3v3-supply =3D <&pcie_vcc_3v3>; +}; + +&pcie1 { + vpcie3v3-supply =3D <&pcie_vcc_3v3>; + status =3D "okay"; +}; + +&pcie2_phy { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pcie2_4_cfg>; + status =3D "okay"; +}; + +&pcie2_port { + phys =3D <&pcie2_phy>; + vpcie3v3-supply =3D <&pcie_vcc_3v3>; +}; + +&pcie2 { + vpcie3v3-supply =3D <&pcie_vcc_3v3>; + status =3D "okay"; +}; + &qspi { pinctrl-names =3D "default"; pinctrl-0 =3D <&qspi_cfg>; --=20 2.51.0