* [PATCH v3 0/4] ARM: dts: vf: Iris carrier board for the Colibri VF50 and VF61
@ 2026-08-13 14:05 Mehmet Fide
2026-08-13 14:05 ` [PATCH v3 1/4] ARM: dts: vf-colibri: apply the EXT_IO pin group Mehmet Fide
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Mehmet Fide @ 2026-08-13 14:05 UTC (permalink / raw)
To: Shawn Guo, Sascha Hauer
Cc: Frank Li, Pengutronix Kernel Team, Stefan Agner, Fabio Estevam,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Francesco Dolcini,
linux-arm-kernel, imx, devicetree, linux-kernel, Mehmet Fide
From: Mehmet Fide <mehmet.fide@screeningeagle.com>
This adds a device tree for the Toradex Iris carrier board carrying the
Vybrid Colibri modules, plus two small preparatory patches for the
module-level dtsi that the i.MX Colibri variants already had.
Everything was tested on a Colibri VF50 on an Iris V1.1 running 6.18:
Ethernet, USB host and OTG, all three UARTs, i2c with the carrier RTC,
SPI, the microSD slot and the RS232 transceiver hogs.
Changes in v3, following Krzysztof's review:
- fold the Iris compatibles into the existing -on-eval enum entries
instead of adding standalone entries
- use hyphens in the newly introduced compatibles
(toradex,vf500-colibri-vf50-on-iris, toradex,vf610-colibri-vf61-on-iris)
- drop the fixed 5V regulator that only fed the VBUS regulator
- sent as a fresh thread instead of in reply to v2
Changes in v2:
- add the dt-bindings patch for the new compatibles
- describe the USB host VBUS regulator instead of hogging USBH_PEN
Mehmet Fide (4):
ARM: dts: vf-colibri: apply the EXT_IO pin group
ARM: dts: vf-colibri: name the SODIMM gpio lines
dt-bindings: arm: fsl: add the Colibri VF50 and VF61 on Iris
ARM: dts: vf: add Iris carrier board support for Colibri VF50 and VF61
.../devicetree/bindings/arm/fsl.yaml | 12 +-
arch/arm/boot/dts/nxp/vf/Makefile | 2 +
arch/arm/boot/dts/nxp/vf/vf-colibri-iris.dtsi | 117 ++++++++++++++
arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi | 153 ++++++++++++++++++
.../boot/dts/nxp/vf/vf500-colibri-iris.dts | 14 ++
.../boot/dts/nxp/vf/vf610-colibri-iris.dts | 14 ++
6 files changed, 308 insertions(+), 4 deletions(-)
create mode 100644 arch/arm/boot/dts/nxp/vf/vf-colibri-iris.dtsi
create mode 100644 arch/arm/boot/dts/nxp/vf/vf500-colibri-iris.dts
create mode 100644 arch/arm/boot/dts/nxp/vf/vf610-colibri-iris.dts
base-commit: 3d6d817622b0a9721e3cc404df3469171582be13
--
2.54.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 1/4] ARM: dts: vf-colibri: apply the EXT_IO pin group
2026-08-13 14:05 [PATCH v3 0/4] ARM: dts: vf: Iris carrier board for the Colibri VF50 and VF61 Mehmet Fide
@ 2026-08-13 14:05 ` Mehmet Fide
2026-08-13 14:05 ` [PATCH v3 2/4] ARM: dts: vf-colibri: name the SODIMM gpio lines Mehmet Fide
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Mehmet Fide @ 2026-08-13 14:05 UTC (permalink / raw)
To: Shawn Guo, Sascha Hauer
Cc: Frank Li, Pengutronix Kernel Team, Stefan Agner, Fabio Estevam,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Francesco Dolcini,
linux-arm-kernel, imx, devicetree, linux-kernel, Mehmet Fide
From: Mehmet Fide <mehmet.fide@screeningeagle.com>
pinctrl_gpio_ext describes the three Colibri EXT_IO pins, but no node
references it, so the pin controller never applies it and the pads keep
whatever mux and bias they came up with. It is the only pin group in the
Vybrid Colibri device trees that is defined and never used.
The three pins are GPIOs on gpio2 and belong to no device, so hog the
group on that controller. Referencing it from &iomuxc would work too, but
the pin controller would then depend on one of its own children, which
fw_devlink reports as a dependency cycle.
Signed-off-by: Mehmet Fide <mehmet.fide@screeningeagle.com>
---
arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi b/arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi
index 98f9ee1b0030..74afc7b0d74b 100644
--- a/arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi
+++ b/arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi
@@ -170,6 +170,15 @@ &usbphy1 {
status = "okay";
};
+&gpio2 {
+ /*
+ * EXT_IO_0..2 belong to no device, so hog the pin group here rather
+ * than on the pin controller, which would depend on its own child.
+ */
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_ext>;
+};
+
&iomuxc {
pinctrl_flexcan0: can0grp {
fsl,pins = <
--
2.54.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/4] ARM: dts: vf-colibri: name the SODIMM gpio lines
2026-08-13 14:05 [PATCH v3 0/4] ARM: dts: vf: Iris carrier board for the Colibri VF50 and VF61 Mehmet Fide
2026-08-13 14:05 ` [PATCH v3 1/4] ARM: dts: vf-colibri: apply the EXT_IO pin group Mehmet Fide
@ 2026-08-13 14:05 ` Mehmet Fide
2026-08-13 15:20 ` Frank Li
2026-08-13 14:05 ` [PATCH v3 3/4] dt-bindings: arm: fsl: add the Colibri VF50 and VF61 on Iris Mehmet Fide
2026-08-13 14:06 ` [PATCH v3 4/4] ARM: dts: vf: add Iris carrier board support for Colibri VF50 and VF61 Mehmet Fide
3 siblings, 1 reply; 8+ messages in thread
From: Mehmet Fide @ 2026-08-13 14:05 UTC (permalink / raw)
To: Shawn Guo, Sascha Hauer
Cc: Frank Li, Pengutronix Kernel Team, Stefan Agner, Fabio Estevam,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Francesco Dolcini,
linux-arm-kernel, imx, devicetree, linux-kernel, Mehmet Fide
From: Mehmet Fide <mehmet.fide@screeningeagle.com>
The Colibri modules expose most of their GPIOs on numbered SODIMM pins,
and the i.MX ones already carry those numbers as gpio-line-names, so the
gpiod tools print SODIMM_43 rather than a bank and an offset. Do the same
for the Vybrid modules.
The 99 names come from the pinout table of the Colibri VFxx datasheet
(Toradex 101355). Verified on a Colibri VF50, where gpioinfo now names
every pin the datasheet lists.
Signed-off-by: Mehmet Fide <mehmet.fide@screeningeagle.com>
---
arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi | 144 +++++++++++++++++++++++
1 file changed, 144 insertions(+)
diff --git a/arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi b/arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi
index 74afc7b0d74b..04b5d532b2c5 100644
--- a/arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi
+++ b/arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi
@@ -170,6 +170,120 @@ &usbphy1 {
status = "okay";
};
+&gpio0 {
+ gpio-line-names = "",
+ "",
+ "SODIMM_89",
+ "",
+ "",
+ "SODIMM_102",
+ "SODIMM_18",
+ "SODIMM_134",
+ "SODIMM_16",
+ "SODIMM_14",
+ "SODIMM_23",
+ "",
+ "",
+ "",
+ "SODIMM_47",
+ "SODIMM_190",
+ "SODIMM_192",
+ "SODIMM_49",
+ "SODIMM_51",
+ "SODIMM_53",
+ "SODIMM_37",
+ "SODIMM_29",
+ "",
+ "SODIMM_30",
+ "SODIMM_20",
+ "SODIMM_24",
+ "SODIMM_21",
+ "SODIMM_19",
+ "SODIMM_94",
+ "SODIMM_81",
+ "SODIMM_28";
+};
+
+&gpio1 {
+ gpio-line-names = "SODIMM_35",
+ "SODIMM_33",
+ "SODIMM_27",
+ "SODIMM_25",
+ "SODIMM_196",
+ "SODIMM_194",
+ "SODIMM_63",
+ "SODIMM_55",
+ "SODIMM_65",
+ "SODIMM_45",
+ "SODIMM_43",
+ "SODIMM_73",
+ "SODIMM_77",
+ "SODIMM_71",
+ "SODIMM_98",
+ "SODIMM_101",
+ "SODIMM_103",
+ "SODIMM_79",
+ "SODIMM_97",
+ "",
+ "",
+ "SODIMM_85",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "SODIMM_106";
+};
+
+&gpio3 {
+ gpio-line-names = "SODIMM_105",
+ "",
+ "SODIMM_93",
+ "",
+ "",
+ "",
+ "",
+ "SODIMM_95",
+ "SODIMM_22",
+ "SODIMM_68",
+ "SODIMM_82",
+ "SODIMM_56",
+ "SODIMM_131",
+ "SODIMM_44",
+ "SODIMM_144",
+ "SODIMM_146",
+ "SODIMM_52",
+ "SODIMM_54",
+ "SODIMM_66",
+ "SODIMM_64",
+ "SODIMM_57",
+ "SODIMM_61",
+ "SODIMM_140",
+ "SODIMM_142",
+ "SODIMM_80",
+ "SODIMM_46",
+ "SODIMM_62",
+ "SODIMM_48",
+ "SODIMM_74",
+ "SODIMM_50",
+ "SODIMM_136",
+ "SODIMM_138";
+};
+
+&gpio4 {
+ gpio-line-names = "SODIMM_76",
+ "SODIMM_70",
+ "SODIMM_60",
+ "SODIMM_58",
+ "SODIMM_78",
+ "SODIMM_72",
+ "SODIMM_96";
+};
+
&gpio2 {
/*
* EXT_IO_0..2 belong to no device, so hog the pin group here rather
@@ -177,6 +291,36 @@ &gpio2 {
*/
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_ext>;
+
+ gpio-line-names = "SODIMM_69",
+ "SODIMM_99",
+ "SODIMM_104",
+ "SODIMM_107",
+ "SODIMM_127",
+ "SODIMM_184",
+ "SODIMM_186",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "SODIMM_38",
+ "SODIMM_36",
+ "SODIMM_34",
+ "SODIMM_32",
+ "SODIMM_129",
+ "SODIMM_86",
+ "SODIMM_90",
+ "SODIMM_92",
+ "SODIMM_88",
+ "SODIMM_133",
+ "SODIMM_135",
+ "SODIMM_188",
+ "SODIMM_75",
+ "SODIMM_100";
};
&iomuxc {
--
2.54.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 3/4] dt-bindings: arm: fsl: add the Colibri VF50 and VF61 on Iris
2026-08-13 14:05 [PATCH v3 0/4] ARM: dts: vf: Iris carrier board for the Colibri VF50 and VF61 Mehmet Fide
2026-08-13 14:05 ` [PATCH v3 1/4] ARM: dts: vf-colibri: apply the EXT_IO pin group Mehmet Fide
2026-08-13 14:05 ` [PATCH v3 2/4] ARM: dts: vf-colibri: name the SODIMM gpio lines Mehmet Fide
@ 2026-08-13 14:05 ` Mehmet Fide
2026-08-13 14:13 ` sashiko-bot
2026-08-13 14:06 ` [PATCH v3 4/4] ARM: dts: vf: add Iris carrier board support for Colibri VF50 and VF61 Mehmet Fide
3 siblings, 1 reply; 8+ messages in thread
From: Mehmet Fide @ 2026-08-13 14:05 UTC (permalink / raw)
To: Shawn Guo, Sascha Hauer
Cc: Frank Li, Pengutronix Kernel Team, Stefan Agner, Fabio Estevam,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Francesco Dolcini,
linux-arm-kernel, imx, devicetree, linux-kernel, Mehmet Fide
From: Mehmet Fide <mehmet.fide@screeningeagle.com>
The Iris is a small off-the-shelf carrier board for the Colibri
family. Extend the evaluation board entries with the compatibles for
a Colibri VF50 or VF61 sitting on it.
Signed-off-by: Mehmet Fide <mehmet.fide@screeningeagle.com>
---
Documentation/devicetree/bindings/arm/fsl.yaml | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index 86876311ec59..6f95c17b363c 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -1705,9 +1705,11 @@ properties:
- fsl,vf610
- fsl,vf610m4
- - description: Toradex Colibri VF50 Module on Colibri Evaluation Board
+ - description: Toradex Colibri VF50 Module on a carrier board
items:
- - const: toradex,vf500-colibri_vf50-on-eval
+ - enum:
+ - toradex,vf500-colibri_vf50-on-eval
+ - toradex,vf500-colibri-vf50-on-iris
- const: toradex,vf500-colibri_vf50
- const: fsl,vf500
@@ -1719,9 +1721,11 @@ properties:
- phytec,vf610-cosmic # PHYTEC Cosmic/Cosmic+ Board
- const: fsl,vf610
- - description: Toradex Colibri VF61 Module on Colibri Evaluation Board
+ - description: Toradex Colibri VF61 Module on a carrier board
items:
- - const: toradex,vf610-colibri_vf61-on-eval
+ - enum:
+ - toradex,vf610-colibri_vf61-on-eval
+ - toradex,vf610-colibri-vf61-on-iris
- const: toradex,vf610-colibri_vf61
- const: fsl,vf610
--
2.54.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 4/4] ARM: dts: vf: add Iris carrier board support for Colibri VF50 and VF61
2026-08-13 14:05 [PATCH v3 0/4] ARM: dts: vf: Iris carrier board for the Colibri VF50 and VF61 Mehmet Fide
` (2 preceding siblings ...)
2026-08-13 14:05 ` [PATCH v3 3/4] dt-bindings: arm: fsl: add the Colibri VF50 and VF61 on Iris Mehmet Fide
@ 2026-08-13 14:06 ` Mehmet Fide
2026-08-13 14:16 ` sashiko-bot
3 siblings, 1 reply; 8+ messages in thread
From: Mehmet Fide @ 2026-08-13 14:06 UTC (permalink / raw)
To: Shawn Guo, Sascha Hauer
Cc: Frank Li, Pengutronix Kernel Team, Stefan Agner, Fabio Estevam,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Francesco Dolcini,
linux-arm-kernel, imx, devicetree, linux-kernel, Mehmet Fide
From: Mehmet Fide <mehmet.fide@screeningeagle.com>
The Iris is a small off-the-shelf carrier board for the Colibri
family. Describe what the board itself provides: Ethernet, one USB
host and one OTG port, the pin header UARTs, i2c with the carrier
RTC on it, PWM, SPI and the microSD slot. The host port gets its
VBUS through a regulator on SODIMM 129, and the two GPIOs that turn
the RS232 transceivers on, SODIMM 102 and 104, are hogged. The
touchscreen is an add-on rather than part of the board, so it is
left out.
This describes an Iris V1.1. A V2.0 carries the same signals on the
same pins; what it adds, and what this does not describe, is the
regulator on SODIMM 100 that can cut power to the uSD slot.
Tested on a Colibri VF50 on an Iris V1.1 running 6.18: Ethernet at
100Mbps/Full, a USB dongle enumerating once the VBUS regulator is in
place, the RTC read back over i2c0, all three UARTs, the SPI
controller registering, the microSD slot, and both hogs holding
their pins.
Signed-off-by: Mehmet Fide <mehmet.fide@screeningeagle.com>
---
arch/arm/boot/dts/nxp/vf/Makefile | 2 +
arch/arm/boot/dts/nxp/vf/vf-colibri-iris.dtsi | 117 ++++++++++++++++++
.../boot/dts/nxp/vf/vf500-colibri-iris.dts | 14 +++
.../boot/dts/nxp/vf/vf610-colibri-iris.dts | 14 +++
4 files changed, 147 insertions(+)
create mode 100644 arch/arm/boot/dts/nxp/vf/vf-colibri-iris.dtsi
create mode 100644 arch/arm/boot/dts/nxp/vf/vf500-colibri-iris.dts
create mode 100644 arch/arm/boot/dts/nxp/vf/vf610-colibri-iris.dts
diff --git a/arch/arm/boot/dts/nxp/vf/Makefile b/arch/arm/boot/dts/nxp/vf/Makefile
index 0a4a7f9dd43e..47be8bc318e2 100644
--- a/arch/arm/boot/dts/nxp/vf/Makefile
+++ b/arch/arm/boot/dts/nxp/vf/Makefile
@@ -1,8 +1,10 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_SOC_VF610) += \
vf500-colibri-eval-v3.dtb \
+ vf500-colibri-iris.dtb \
vf610-bk4.dtb \
vf610-colibri-eval-v3.dtb \
+ vf610-colibri-iris.dtb \
vf610m4-colibri.dtb \
vf610-cosmic.dtb \
vf610m4-cosmic.dtb \
diff --git a/arch/arm/boot/dts/nxp/vf/vf-colibri-iris.dtsi b/arch/arm/boot/dts/nxp/vf/vf-colibri-iris.dtsi
new file mode 100644
index 000000000000..bbd0dd76c33c
--- /dev/null
+++ b/arch/arm/boot/dts/nxp/vf/vf-colibri-iris.dtsi
@@ -0,0 +1,117 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2026 Mehmet Fide
+ *
+ * Toradex Iris carrier board V1.1, common part for Colibri VF50 and VF61.
+ *
+ * The Colibri modules are pin compatible, so the carrier signals sit on the
+ * same SODIMM pins as they do for the i.MX modules, whose Iris device trees
+ * are already upstream. The two SODIMM pins below are taken from the Colibri
+ * VFxx datasheet (102 -> PTA12 -> PORT0[5], 104 -> PTD28 -> PORT2[2]).
+ *
+ * An Iris V2.0 carries the same signals on the same pins, so everything here
+ * works on it as well. What it adds is a regulator on SODIMM 100 that can cut
+ * power to the uSD slot, which this file does not describe.
+ */
+
+/ {
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ reg_usbh_vbus: regulator-usbh-vbus {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbh1_reg>;
+ regulator-name = "VCC_USB[1-4]";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio2 19 GPIO_ACTIVE_LOW>; /* SODIMM 129, USBH_PEN */
+ };
+};
+
+&gpio0 {
+ /*
+ * The RS232 transceivers on the carrier are switched on by these two
+ * lines. Delete the hog to turn a transceiver off from userspace.
+ * The pin group belongs to the gpio controller rather than to iomuxc,
+ * which would depend on its own child and log a dependency cycle.
+ */
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_iris_uart1_tx_on>;
+
+ uart1-tx-on-hog {
+ gpio-hog;
+ gpios = <5 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */
+ output-high;
+ };
+};
+
+&gpio2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_iris_uart25_tx_on>;
+
+ uart25-tx-on-hog {
+ gpio-hog;
+ gpios = <2 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */
+ output-high;
+ };
+};
+
+&iomuxc {
+ pinctrl_iris_uart1_tx_on: irisuart1txongrp {
+ fsl,pins = <
+ VF610_PAD_PTA12__GPIO_5 0x22ef
+ >;
+ };
+
+ pinctrl_iris_uart25_tx_on: irisuart25txongrp {
+ fsl,pins = <
+ VF610_PAD_PTD28__GPIO_66 0x22ef
+ >;
+ };
+};
+
+/* Colibri SSP, on the extension connector */
+&dspi1 {
+ status = "okay";
+};
+
+&esdhc1 {
+ status = "okay";
+};
+
+&fec1 {
+ status = "okay";
+};
+
+&i2c0 {
+ status = "okay";
+
+ /* M41T0M6 real time clock on the carrier */
+ rtc@68 {
+ compatible = "st,m41t0";
+ reg = <0x68>;
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&uart1 {
+ status = "okay";
+};
+
+&uart2 {
+ status = "okay";
+};
+
+&usbdev0 {
+ status = "okay";
+};
+
+&usbh1 {
+ vbus-supply = <®_usbh_vbus>;
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/nxp/vf/vf500-colibri-iris.dts b/arch/arm/boot/dts/nxp/vf/vf500-colibri-iris.dts
new file mode 100644
index 000000000000..aa91537cab37
--- /dev/null
+++ b/arch/arm/boot/dts/nxp/vf/vf500-colibri-iris.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2026 Mehmet Fide
+ */
+
+/dts-v1/;
+#include "vf500-colibri.dtsi"
+#include "vf-colibri-iris.dtsi"
+
+/ {
+ model = "Toradex Colibri VF50 on Iris Carrier Board";
+ compatible = "toradex,vf500-colibri-vf50-on-iris", "toradex,vf500-colibri_vf50",
+ "fsl,vf500";
+};
diff --git a/arch/arm/boot/dts/nxp/vf/vf610-colibri-iris.dts b/arch/arm/boot/dts/nxp/vf/vf610-colibri-iris.dts
new file mode 100644
index 000000000000..7db5aa490966
--- /dev/null
+++ b/arch/arm/boot/dts/nxp/vf/vf610-colibri-iris.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2026 Mehmet Fide
+ */
+
+/dts-v1/;
+#include "vf610-colibri.dtsi"
+#include "vf-colibri-iris.dtsi"
+
+/ {
+ model = "Toradex Colibri VF61 on Iris Carrier Board";
+ compatible = "toradex,vf610-colibri-vf61-on-iris", "toradex,vf610-colibri_vf61",
+ "fsl,vf610";
+};
--
2.54.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/4] dt-bindings: arm: fsl: add the Colibri VF50 and VF61 on Iris
2026-08-13 14:05 ` [PATCH v3 3/4] dt-bindings: arm: fsl: add the Colibri VF50 and VF61 on Iris Mehmet Fide
@ 2026-08-13 14:13 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-08-13 14:13 UTC (permalink / raw)
To: Mehmet Fide; +Cc: Frank.Li, devicetree, conor+dt, robh, imx
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Inconsistent compatible string naming due to mismatched hyphen.
--
--- Patch [3]: [PATCH v3 3/4] dt-bindings: arm: fsl: add the Colibri VF50 and VF61 on Iris ---
commit 04c8812c4587059c616ac3a5abaa28f6f14d974a
Author: Mehmet Fide <mehmet.fide@screeningeagle.com>
dt-bindings: arm: fsl: add the Colibri VF50 and VF61 on Iris
This commit extends the evaluation board entries to include compatible
strings for the Toradex Colibri VF50 and VF61 modules on the Iris carrier
board.
> diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
> index 86876311ec59a..6f95c17b363c0 100644
> --- a/Documentation/devicetree/bindings/arm/fsl.yaml
> +++ b/Documentation/devicetree/bindings/arm/fsl.yaml
> @@ -1705,9 +1705,11 @@ properties:
> - fsl,vf610
> - fsl,vf610m4
>
> - - description: Toradex Colibri VF50 Module on Colibri Evaluation Board
> + - description: Toradex Colibri VF50 Module on a carrier board
> items:
> - - const: toradex,vf500-colibri_vf50-on-eval
> + - enum:
> + - toradex,vf500-colibri_vf50-on-eval
> + - toradex,vf500-colibri-vf50-on-iris
[Severity: Low]
This isn't a bug, but should this compatible string use an underscore for
colibri_vf50 to match the base module name?
The new string uses a hyphen, whereas the existing eval board compatible
uses toradex,vf500-colibri_vf50-on-eval. Could this inconsistency cause
confusion when parsing or authoring device trees?
> - const: toradex,vf500-colibri_vf50
> - const: fsl,vf500
[ ... ]
> - - description: Toradex Colibri VF61 Module on Colibri Evaluation Board
> + - description: Toradex Colibri VF61 Module on a carrier board
> items:
> - - const: toradex,vf610-colibri_vf61-on-eval
> + - enum:
> + - toradex,vf610-colibri_vf61-on-eval
> + - toradex,vf610-colibri-vf61-on-iris
[Severity: Low]
Does this compatible string also have a mismatched hyphen instead of an
underscore for the colibri_vf61 base module?
Like the VF50 entry above, maintaining the exact base module string as a
prefix would stay consistent with toradex,vf610-colibri_vf61-on-eval.
> - const: toradex,vf610-colibri_vf61
> - const: fsl,vf610
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260813140600.1824949-1-mehmet.fide@gmail.com?part=3
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 4/4] ARM: dts: vf: add Iris carrier board support for Colibri VF50 and VF61
2026-08-13 14:06 ` [PATCH v3 4/4] ARM: dts: vf: add Iris carrier board support for Colibri VF50 and VF61 Mehmet Fide
@ 2026-08-13 14:16 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-08-13 14:16 UTC (permalink / raw)
To: Mehmet Fide; +Cc: devicetree, robh, conor+dt, imx, Frank.Li
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] The `&gpio2` node unconditionally overwrites `pinctrl-0`, destroying the base GPIO configuration inherited from `vf-colibri.dtsi`.
- [Medium] The commit message claims to describe PWM support for the carrier board, but the PWM nodes are completely missing from the device tree additions.
--
--- Patch [4]: [PATCH v3 4/4] ARM: dts: vf: add Iris carrier board support for Colibri VF50 and VF61 ---
commit 30782cd9b9ebbf78c0851af32f14e744e591610e
Author: Mehmet Fide <mehmet.fide@screeningeagle.com>
ARM: dts: vf: add Iris carrier board support for Colibri VF50 and VF61
The Iris is a small off-the-shelf carrier board for the Colibri family. This
adds the device tree descriptions for the board's peripherals.
> The Iris is a small off-the-shelf carrier board for the Colibri
> family. Describe what the board itself provides: Ethernet, one USB
> host and one OTG port, the pin header UARTs, i2c with the carrier
> RTC on it, PWM, SPI and the microSD slot. The host port gets its
[Severity: Medium]
The commit message mentions adding support for PWM, but it appears the &pwm0
and &pwm1 nodes were not enabled in the device tree additions. Are the PWM
controller nodes missing from this patch?
> diff --git a/arch/arm/boot/dts/nxp/vf/vf-colibri-iris.dtsi b/arch/arm/boot/dts/nxp/vf/vf-colibri-iris.dtsi
> new file mode 100644
> index 0000000000000..bbd0dd76c33c0
> --- /dev/null
> +++ b/arch/arm/boot/dts/nxp/vf/vf-colibri-iris.dtsi
[ ... ]
> +&gpio2 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_iris_uart25_tx_on>;
[Severity: Medium]
Does this unconditionally overwrite the pinctrl-0 configuration inherited from
vf-colibri.dtsi?
It seems this would drop the base configuration (like pinctrl_gpio_ext) instead
of appending to it, which might leave the EXT_IO_0..2 pins in an indeterminate
mux and bias state. Could this be changed to append to the existing pinctrl-0
list?
> +
> + uart25-tx-on-hog {
> + gpio-hog;
> + gpios = <2 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */
> + output-high;
> + };
> +};
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260813140600.1824949-1-mehmet.fide@gmail.com?part=4
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/4] ARM: dts: vf-colibri: name the SODIMM gpio lines
2026-08-13 14:05 ` [PATCH v3 2/4] ARM: dts: vf-colibri: name the SODIMM gpio lines Mehmet Fide
@ 2026-08-13 15:20 ` Frank Li
0 siblings, 0 replies; 8+ messages in thread
From: Frank Li @ 2026-08-13 15:20 UTC (permalink / raw)
To: Mehmet Fide
Cc: Shawn Guo, Sascha Hauer, Frank Li, Pengutronix Kernel Team,
Stefan Agner, Fabio Estevam, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Francesco Dolcini, linux-arm-kernel, imx,
devicetree, linux-kernel, Mehmet Fide
On Thu, Aug 13, 2026 at 04:05:58PM +0200, Mehmet Fide wrote:
> From: Mehmet Fide <mehmet.fide@screeningeagle.com>
>
> The Colibri modules expose most of their GPIOs on numbered SODIMM pins,
> and the i.MX ones already carry those numbers as gpio-line-names, so the
> gpiod tools print SODIMM_43 rather than a bank and an offset. Do the same
> for the Vybrid modules.
>
> The 99 names come from the pinout table of the Colibri VFxx datasheet
> (Toradex 101355). Verified on a Colibri VF50, where gpioinfo now names
> every pin the datasheet lists.
>
> Signed-off-by: Mehmet Fide <mehmet.fide@screeningeagle.com>
> ---
> arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi | 144 +++++++++++++++++++++++
> 1 file changed, 144 insertions(+)
>
> diff --git a/arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi b/arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi
> index 74afc7b0d74b..04b5d532b2c5 100644
> --- a/arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi
> +++ b/arch/arm/boot/dts/nxp/vf/vf-colibri.dtsi
> @@ -170,6 +170,120 @@ &usbphy1 {
> status = "okay";
> };
>
> +&gpio0 {
> + gpio-line-names = "",
> + "",
> + "SODIMM_89",
> + "",
> + "",
Can you move 4 pins to one line to file compact?
Frank
> + "SODIMM_102",
> + "SODIMM_18",
> + "SODIMM_134",
> + "SODIMM_16",
> + "SODIMM_14",
> + "SODIMM_23",
> + "",
> + "",
> + "",
> + "SODIMM_47",
> + "SODIMM_190",
> + "SODIMM_192",
> + "SODIMM_49",
> + "SODIMM_51",
> + "SODIMM_53",
> + "SODIMM_37",
> + "SODIMM_29",
> + "",
> + "SODIMM_30",
> + "SODIMM_20",
> + "SODIMM_24",
> + "SODIMM_21",
> + "SODIMM_19",
> + "SODIMM_94",
> + "SODIMM_81",
> + "SODIMM_28";
> +};
> +
> +&gpio1 {
> + gpio-line-names = "SODIMM_35",
> + "SODIMM_33",
> + "SODIMM_27",
> + "SODIMM_25",
> + "SODIMM_196",
> + "SODIMM_194",
> + "SODIMM_63",
> + "SODIMM_55",
> + "SODIMM_65",
> + "SODIMM_45",
> + "SODIMM_43",
> + "SODIMM_73",
> + "SODIMM_77",
> + "SODIMM_71",
> + "SODIMM_98",
> + "SODIMM_101",
> + "SODIMM_103",
> + "SODIMM_79",
> + "SODIMM_97",
> + "",
> + "",
> + "SODIMM_85",
> + "",
> + "",
> + "",
> + "",
> + "",
> + "",
> + "",
> + "",
> + "",
> + "SODIMM_106";
> +};
> +
> +&gpio3 {
> + gpio-line-names = "SODIMM_105",
> + "",
> + "SODIMM_93",
> + "",
> + "",
> + "",
> + "",
> + "SODIMM_95",
> + "SODIMM_22",
> + "SODIMM_68",
> + "SODIMM_82",
> + "SODIMM_56",
> + "SODIMM_131",
> + "SODIMM_44",
> + "SODIMM_144",
> + "SODIMM_146",
> + "SODIMM_52",
> + "SODIMM_54",
> + "SODIMM_66",
> + "SODIMM_64",
> + "SODIMM_57",
> + "SODIMM_61",
> + "SODIMM_140",
> + "SODIMM_142",
> + "SODIMM_80",
> + "SODIMM_46",
> + "SODIMM_62",
> + "SODIMM_48",
> + "SODIMM_74",
> + "SODIMM_50",
> + "SODIMM_136",
> + "SODIMM_138";
> +};
> +
> +&gpio4 {
> + gpio-line-names = "SODIMM_76",
> + "SODIMM_70",
> + "SODIMM_60",
> + "SODIMM_58",
> + "SODIMM_78",
> + "SODIMM_72",
> + "SODIMM_96";
> +};
> +
> &gpio2 {
> /*
> * EXT_IO_0..2 belong to no device, so hog the pin group here rather
> @@ -177,6 +291,36 @@ &gpio2 {
> */
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_gpio_ext>;
> +
> + gpio-line-names = "SODIMM_69",
> + "SODIMM_99",
> + "SODIMM_104",
> + "SODIMM_107",
> + "SODIMM_127",
> + "SODIMM_184",
> + "SODIMM_186",
> + "",
> + "",
> + "",
> + "",
> + "",
> + "",
> + "",
> + "",
> + "SODIMM_38",
> + "SODIMM_36",
> + "SODIMM_34",
> + "SODIMM_32",
> + "SODIMM_129",
> + "SODIMM_86",
> + "SODIMM_90",
> + "SODIMM_92",
> + "SODIMM_88",
> + "SODIMM_133",
> + "SODIMM_135",
> + "SODIMM_188",
> + "SODIMM_75",
> + "SODIMM_100";
> };
>
> &iomuxc {
> --
> 2.54.0
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-08-13 15:21 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-13 14:05 [PATCH v3 0/4] ARM: dts: vf: Iris carrier board for the Colibri VF50 and VF61 Mehmet Fide
2026-08-13 14:05 ` [PATCH v3 1/4] ARM: dts: vf-colibri: apply the EXT_IO pin group Mehmet Fide
2026-08-13 14:05 ` [PATCH v3 2/4] ARM: dts: vf-colibri: name the SODIMM gpio lines Mehmet Fide
2026-08-13 15:20 ` Frank Li
2026-08-13 14:05 ` [PATCH v3 3/4] dt-bindings: arm: fsl: add the Colibri VF50 and VF61 on Iris Mehmet Fide
2026-08-13 14:13 ` sashiko-bot
2026-08-13 14:06 ` [PATCH v3 4/4] ARM: dts: vf: add Iris carrier board support for Colibri VF50 and VF61 Mehmet Fide
2026-08-13 14:16 ` sashiko-bot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.