* [PATCH 0/2] spacemit: k3: Add support for CoM260-IFX board
@ 2026-05-20 5:40 Yixun Lan
2026-05-20 5:40 ` [PATCH 1/2] dt-bindings: riscv: spacemit: Add K3 " Yixun Lan
2026-05-20 5:40 ` [PATCH 2/2] riscv: dts: spacemit: k3: Initial support for " Yixun Lan
0 siblings, 2 replies; 5+ messages in thread
From: Yixun Lan @ 2026-05-20 5:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti
Cc: devicetree, linux-riscv, spacemit, linux-kernel, Yixun Lan
This patch series try to add initial support for SpacemiT K3 CoM260-IFX
board which combines a 69.6 × 45 mm compute module with a reference carrier
board.
The first patch introduce new dt bindings for the module and board, the
second patch enable support for serial console and ethernet.
Link: https://spacemit.com/community/document/info?lang=zh&nodepath=hardware/eco/k3_com260/root_overview.md
Signed-off-by: Yixun Lan <dlan@kernel.org>
---
Yixun Lan (2):
dt-bindings: riscv: spacemit: Add K3 CoM260-IFX board
riscv: dts: spacemit: k3: Initial support for CoM260-IFX board
.../devicetree/bindings/riscv/spacemit.yaml | 5 +
arch/riscv/boot/dts/spacemit/Makefile | 1 +
arch/riscv/boot/dts/spacemit/k3-com260-ifx.dts | 21 +++
arch/riscv/boot/dts/spacemit/k3-com260.dtsi | 190 +++++++++++++++++++++
arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi | 33 ++++
5 files changed, 250 insertions(+)
---
base-commit: e2518e8cb1dde64af2d1bb246639bb7ef7523f7a
change-id: 20260519-02-k3-com260-ifx-aa320b90e657
Best regards,
--
Yixun Lan <dlan@kernel.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] dt-bindings: riscv: spacemit: Add K3 CoM260-IFX board
2026-05-20 5:40 [PATCH 0/2] spacemit: k3: Add support for CoM260-IFX board Yixun Lan
@ 2026-05-20 5:40 ` Yixun Lan
2026-05-20 16:18 ` Conor Dooley
2026-05-20 5:40 ` [PATCH 2/2] riscv: dts: spacemit: k3: Initial support for " Yixun Lan
1 sibling, 1 reply; 5+ messages in thread
From: Yixun Lan @ 2026-05-20 5:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti
Cc: devicetree, linux-riscv, spacemit, linux-kernel, Yixun Lan
The SpacemiT K3 CoM260-IFX board combines a 69.6 × 45 mm compute module
with a reference carrier board.
The module integrates up to 32GB LPDDR5 memory, UFS storage, Micro SD
card slot and includes interfaces such as dual MIPI CSI-2 connectors,
M.2 expansion, USB 3.0, Gigabit Ethernet, DisplayPort, and a 40-pin
expansion header.
The carrier board is intended as a general-purpose development platform
for CoM260 module and exposes interfaces for all of storage, display,
networking, and camera connectivity.
Signed-off-by: Yixun Lan <dlan@kernel.org>
---
Documentation/devicetree/bindings/riscv/spacemit.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/riscv/spacemit.yaml b/Documentation/devicetree/bindings/riscv/spacemit.yaml
index af8030242bdc..311bbccba0ba 100644
--- a/Documentation/devicetree/bindings/riscv/spacemit.yaml
+++ b/Documentation/devicetree/bindings/riscv/spacemit.yaml
@@ -32,6 +32,11 @@ properties:
- deepcomputing,fml13v05
- spacemit,k3-pico-itx
- const: spacemit,k3
+ - items:
+ - enum:
+ - spacemit,k3-com260-ifx
+ - const: spacemit,k3-com260
+ - const: spacemit,k3
additionalProperties: true
--
2.54.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] riscv: dts: spacemit: k3: Initial support for CoM260-IFX board
2026-05-20 5:40 [PATCH 0/2] spacemit: k3: Add support for CoM260-IFX board Yixun Lan
2026-05-20 5:40 ` [PATCH 1/2] dt-bindings: riscv: spacemit: Add K3 " Yixun Lan
@ 2026-05-20 5:40 ` Yixun Lan
2026-05-20 5:56 ` sashiko-bot
1 sibling, 1 reply; 5+ messages in thread
From: Yixun Lan @ 2026-05-20 5:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti
Cc: devicetree, linux-riscv, spacemit, linux-kernel, Yixun Lan
The K3 CoM260-IFX board combine with one 260 pins "Gold Finger" computer
module with a carrier board. The module integrates the K3 SoC, LPDDR5,
UFS storage, Gigabit Ethernet, Micro SD card, PMIC Chip. The board offers
a comprehensive array of interfaces, including MIPI-DSI, MIPI-CSI,
DisplayPort, SDIO, SPI, I2S, I2C, CAN-FD, PWM, UART, USB, PCIe, and GMAC.
Add initial support for enabling Serial UART and ethernet.
Signed-off-by: Yixun Lan <dlan@kernel.org>
---
arch/riscv/boot/dts/spacemit/Makefile | 1 +
arch/riscv/boot/dts/spacemit/k3-com260-ifx.dts | 21 +++
arch/riscv/boot/dts/spacemit/k3-com260.dtsi | 190 +++++++++++++++++++++++++
arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi | 33 +++++
4 files changed, 245 insertions(+)
diff --git a/arch/riscv/boot/dts/spacemit/Makefile b/arch/riscv/boot/dts/spacemit/Makefile
index acb993c452ba..28ec9e1e0a62 100644
--- a/arch/riscv/boot/dts/spacemit/Makefile
+++ b/arch/riscv/boot/dts/spacemit/Makefile
@@ -4,5 +4,6 @@ dtb-$(CONFIG_ARCH_SPACEMIT) += k1-milkv-jupiter.dtb
dtb-$(CONFIG_ARCH_SPACEMIT) += k1-musepi-pro.dtb
dtb-$(CONFIG_ARCH_SPACEMIT) += k1-orangepi-r2s.dtb
dtb-$(CONFIG_ARCH_SPACEMIT) += k1-orangepi-rv2.dtb
+dtb-$(CONFIG_ARCH_SPACEMIT) += k3-com260-ifx.dtb
dtb-$(CONFIG_ARCH_SPACEMIT) += k3-deepcomputing-fml13v05.dtb
dtb-$(CONFIG_ARCH_SPACEMIT) += k3-pico-itx.dtb
diff --git a/arch/riscv/boot/dts/spacemit/k3-com260-ifx.dts b/arch/riscv/boot/dts/spacemit/k3-com260-ifx.dts
new file mode 100644
index 000000000000..238bb03d0e9e
--- /dev/null
+++ b/arch/riscv/boot/dts/spacemit/k3-com260-ifx.dts
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright (c) 2026 SpacemiT (Hangzhou) Technology Co. Ltd
+ * Copyright (c) 2026 Yixun Lan <dlan@kernel.org>
+ */
+
+#include "k3-com260.dtsi"
+
+/ {
+ model = "SpacemiT K3 CoM260 IFX";
+ compatible = "spacemit,k3-com260-ifx", "spacemit,k3-com260", "spacemit,k3";
+
+ aliases {
+ serial0 = &uart0;
+ ethernet0 = ð1;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
diff --git a/arch/riscv/boot/dts/spacemit/k3-com260.dtsi b/arch/riscv/boot/dts/spacemit/k3-com260.dtsi
new file mode 100644
index 000000000000..1801a44d4355
--- /dev/null
+++ b/arch/riscv/boot/dts/spacemit/k3-com260.dtsi
@@ -0,0 +1,190 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright (c) 2026 SpacemiT (Hangzhou) Technology Co. Ltd
+ * Copyright (c) 2026 Yixun Lan <dlan@kernel.org>
+ */
+#include <dt-bindings/gpio/gpio.h>
+
+#include "k3.dtsi"
+#include "k3-pinctrl.dtsi"
+
+/ {
+ model = "SpacemiT K3 CoM260 Module";
+ compatible = "spacemit,k3-com260", "spacemit,k3";
+
+ memory@100000000 {
+ device_type = "memory";
+ reg = <0x1 0x00000000 0x4 0x00000000>;
+ };
+
+ reg_5v_sys: regulator-5v-sys {
+ compatible = "regulator-fixed";
+ regulator-name = "P5V0_SYS";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ };
+};
+
+&i2c8 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c8_cfg>;
+ status = "okay";
+
+ p1@41 {
+ compatible = "spacemit,p1";
+ reg = <0x41>;
+ interrupts = <64 IRQ_TYPE_LEVEL_HIGH>;
+ vin1-supply = <®_5v_sys>;
+ vin2-supply = <®_5v_sys>;
+ vin3-supply = <®_5v_sys>;
+ vin4-supply = <®_5v_sys>;
+ vin5-supply = <®_5v_sys>;
+ vin6-supply = <®_5v_sys>;
+ aldoin-supply = <®_5v_sys>;
+ dldoin1-supply = <&buck4>;
+ dldoin2-supply = <&buck4>;
+
+ regulators {
+ buck1: buck1 {
+ regulator-min-microvolt = <1050000>;
+ regulator-max-microvolt = <1050000>;
+ regulator-ramp-delay = <5000>;
+ regulator-always-on;
+ };
+
+ buck2: buck2 {
+ regulator-min-microvolt = <1050000>;
+ regulator-max-microvolt = <1050000>;
+ regulator-ramp-delay = <5000>;
+ regulator-always-on;
+ };
+
+ buck3: buck3 {
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <800000>;
+ regulator-ramp-delay = <5000>;
+ regulator-always-on;
+ };
+
+ buck4: buck4 {
+ regulator-min-microvolt = <2100000>;
+ regulator-max-microvolt = <2100000>;
+ regulator-ramp-delay = <5000>;
+ regulator-always-on;
+ };
+
+ buck5: buck5 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-ramp-delay = <5000>;
+ regulator-always-on;
+ };
+
+ buck6: buck6 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <500000>;
+ regulator-ramp-delay = <5000>;
+ regulator-always-on;
+ };
+
+ aldo1: aldo1 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ aldo2: aldo2 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ aldo3: aldo3 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3400000>;
+ };
+
+ aldo4: aldo4 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ dldo1: dldo1 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ dldo2: dldo2 {
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <900000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ dldo3: dldo3 {
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <800000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ dldo4: dldo4 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ };
+
+ dldo5: dldo5 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ dldo6: dldo6 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ dldo7: dldo7 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+ };
+ };
+};
+
+ð1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&gmac1_rgmii_0_cfg>, <&gmac1_phy_0_cfg>;
+ phy-mode = "rgmii-id";
+ phy-handle = <&phy1>;
+ status = "okay";
+
+ mdio {
+ phy1: phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ reset-gpios = <&gpio 1 5 GPIO_ACTIVE_LOW>;
+ reset-assert-us = <10000>;
+ reset-deassert-us = <10000>;
+ };
+ };
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_0_cfg>;
+ status = "okay";
+};
diff --git a/arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi b/arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi
index 23899d3f308a..04efe64b8a3a 100644
--- a/arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi
+++ b/arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi
@@ -45,6 +45,39 @@ gmac0-phy-0-pins {
};
};
+ gmac1_rgmii_0_cfg: gmac1-rgmii-0-cfg {
+ gmac1_base_pins: gmac1-0-pins {
+ pinmux = <K3_PADCONF(21, 1)>, /* gmac1_rxdv */
+ <K3_PADCONF(22, 1)>, /* gmac1 rx d0 */
+ <K3_PADCONF(23, 1)>, /* gmac1 rx d1 */
+ <K3_PADCONF(24, 1)>, /* gmac1 rx_clk */
+ <K3_PADCONF(25, 1)>, /* gmac1 rx d2 */
+ <K3_PADCONF(26, 1)>, /* gmac1 rx d3 */
+ <K3_PADCONF(27, 1)>, /* gmac1 tx d0 */
+ <K3_PADCONF(28, 1)>, /* gmac1 tx d1 */
+ <K3_PADCONF(29, 1)>, /* gmac1 tx clk */
+ <K3_PADCONF(30, 1)>, /* gmac1 tx d2 */
+ <K3_PADCONF(31, 1)>, /* gmac1 tx d3 */
+ <K3_PADCONF(32, 1)>, /* gmac1 tx_en */
+ <K3_PADCONF(33, 1)>, /* gmac1 mdc */
+ <K3_PADCONF(34, 1)>; /* gmac1 mdio */
+
+ bias-disable;
+ drive-strength = <25>;
+ power-source = <1800>;
+ };
+ };
+
+ gmac1_phy_0_cfg: gmac1-phy-0-cfg {
+ gmac1-phy-0-pins {
+ pinmux = <K3_PADCONF(35, 1)>; /* gmac1 int */
+
+ bias-disable;
+ drive-strength = <25>;
+ power-source = <1800>;
+ };
+ };
+
/omit-if-no-ref/
i2c8_cfg: i2c8-cfg {
i2c8-pins {
--
2.54.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] riscv: dts: spacemit: k3: Initial support for CoM260-IFX board
2026-05-20 5:40 ` [PATCH 2/2] riscv: dts: spacemit: k3: Initial support for " Yixun Lan
@ 2026-05-20 5:56 ` sashiko-bot
0 siblings, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-05-20 5:56 UTC (permalink / raw)
To: Yixun Lan; +Cc: conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Low] The PMIC node is incorrectly named `p1@41` instead of using a generic name.
- [Low] The pinctrl node for `gmac1` defines an unused label `gmac1_base_pins:` and uses an inconsistent subnode name compared to `gmac0`.
--
commit be83cb21ec8e4b52ccd315661d69460e85196cef
Author: Yixun Lan <dlan@kernel.org>
riscv: dts: spacemit: k3: Initial support for CoM260-IFX board
This commit introduces initial device tree support for the K3 CoM260-IFX
board, which combines a 260-pin compute module with a carrier board. It
enables basic features including Serial UART, ethernet, and the onboard PMIC.
> diff --git a/arch/riscv/boot/dts/spacemit/k3-com260.dtsi b/arch/riscv/boot/dts/spacemit/k3-com260.dtsi
> new file mode 100644
> index 0000000000000..1801a44d43559
> --- /dev/null
> +++ b/arch/riscv/boot/dts/spacemit/k3-com260.dtsi
[ ... ]
> +&i2c8 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c8_cfg>;
> + status = "okay";
> +
> + p1@41 {
[Severity: Low]
This isn't a bug, but according to the Devicetree specification, node names
should be generic and reflect the function of the device rather than the chip
name. Could this be named pmic@41 instead of p1@41?
> + compatible = "spacemit,p1";
> + reg = <0x41>;
> + interrupts = <64 IRQ_TYPE_LEVEL_HIGH>;
[ ... ]
> diff --git a/arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi b/arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi
> index 23899d3f308a0..04efe64b8a3a2 100644
> --- a/arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi
> +++ b/arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi
[ ... ]
> @@ -45,6 +45,39 @@ gmac0-phy-0-pins {
> };
> };
>
> + gmac1_rgmii_0_cfg: gmac1-rgmii-0-cfg {
> + gmac1_base_pins: gmac1-0-pins {
[Severity: Low]
This isn't a bug, but the gmac1_base_pins label appears to be unused.
Also, is there a reason this subnode is named gmac1-0-pins instead of
following the gmac0-rgmii-0-pins naming convention seen elsewhere?
> + pinmux = <K3_PADCONF(21, 1)>, /* gmac1_rxdv */
> + <K3_PADCONF(22, 1)>, /* gmac1 rx d0 */
> + <K3_PADCONF(23, 1)>, /* gmac1 rx d1 */
> + <K3_PADCONF(24, 1)>, /* gmac1 rx_clk */
> + <K3_PADCONF(25, 1)>, /* gmac1 rx d2 */
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260520-02-k3-com260-ifx-v1-0-3e17055dd488@kernel.org?part=2
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] dt-bindings: riscv: spacemit: Add K3 CoM260-IFX board
2026-05-20 5:40 ` [PATCH 1/2] dt-bindings: riscv: spacemit: Add K3 " Yixun Lan
@ 2026-05-20 16:18 ` Conor Dooley
0 siblings, 0 replies; 5+ messages in thread
From: Conor Dooley @ 2026-05-20 16:18 UTC (permalink / raw)
To: Yixun Lan
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, devicetree,
linux-riscv, spacemit, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 75 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-05-20 16:18 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-20 5:40 [PATCH 0/2] spacemit: k3: Add support for CoM260-IFX board Yixun Lan
2026-05-20 5:40 ` [PATCH 1/2] dt-bindings: riscv: spacemit: Add K3 " Yixun Lan
2026-05-20 16:18 ` Conor Dooley
2026-05-20 5:40 ` [PATCH 2/2] riscv: dts: spacemit: k3: Initial support for " Yixun Lan
2026-05-20 5:56 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox