* [PATCH v2 0/9] Misc Kontron i.MX DT improvements
@ 2026-09-14 13:46 Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 1/9] ARM: dts: imx6ul-kontron-bl-common: Replace UART3 with DIP switch GPIOs Frieder Schrempf
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: Frieder Schrempf @ 2026-09-14 13:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frieder Schrempf, Shawn Guo
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Eberhard Stoll,
Oualid Derouiche
Changes in v2:
- Patch 1 and 8: Improve commit message (Frank)
- Link to v1: https://patch.msgid.link/20260908-upstreaming-v7-2-imx-dt-improvements-08-26-v1-0-4d0e8a75db79@kontron.de
---
Eberhard Stoll (1):
ARM: dts: imx6ul-kontron-bl-common: Replace UART3 with DIP switch GPIOs
Frieder Schrempf (2):
arm64: dts: imx93-kontron: Adjust GPIO4_IO29 usage
arm64: dts: imx8mm-kontron: Describe the ethernet PHY LEDs
Oualid Derouiche (6):
ARM: dts: imx6ul-kontron-bl-common: Add GPIO labels
ARM: dts: imx6ul-kontron-bl-common: Fix USB OTG1 ID pin configuration
arm64: dts: imx93-kontron: Make USB-C connector "device-only"
arm64: dts: imx8mm-kontron: Add GPIO labels and comments
arm64: dts: imx8mm-kontron: Add SPI EERAM on BL device
arm64: dts: imx8mp-kontron: Fix LVDS clock frequency for DL device
.../boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi | 38 +++++---
.../arm64/boot/dts/freescale/imx8mm-kontron-bl.dts | 107 ++++++++++++++++-----
.../boot/dts/freescale/imx8mp-kontron-dl.dtso | 11 +++
.../boot/dts/freescale/imx93-kontron-bl-osm-s.dts | 6 +-
.../boot/dts/freescale/imx93-kontron-osm-s.dtsi | 32 +-----
5 files changed, 117 insertions(+), 77 deletions(-)
---
base-commit: 73e3f0710014fe6d4ed98cfc02292f6121db7558
change-id: 20260908-upstreaming-v7-2-imx-dt-improvements-08-26-673f2d979e63
Best regards,
--
Frieder Schrempf <frieder.schrempf@kontron.de>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 1/9] ARM: dts: imx6ul-kontron-bl-common: Replace UART3 with DIP switch GPIOs
2026-09-14 13:46 [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frieder Schrempf
@ 2026-09-14 13:46 ` Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 2/9] ARM: dts: imx6ul-kontron-bl-common: Add GPIO labels Frieder Schrempf
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Frieder Schrempf @ 2026-09-14 13:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frieder Schrempf, Shawn Guo
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Eberhard Stoll
From: Eberhard Stoll <eberhard.stoll@kontron.de>
The latest board revision has DIP switches and lacks UART3 instead.
As the old revision has long been deprecated and not maintained
anymore, drop the support and reflect the current state of the
hardware. As the old revision hasn't been widely used and UART3 was
only available through an obscure extension connector, no users are
expected to be affected by this change.
Signed-off-by: Eberhard Stoll <eberhard.stoll@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
---
.../boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi | 21 +++++----------------
1 file changed, 5 insertions(+), 16 deletions(-)
diff --git a/arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi b/arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi
index f4c45e964daf..a71669bef7d4 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi
@@ -172,13 +172,6 @@ &uart2 {
status = "okay";
};
-&uart3 {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart3>;
- uart-has-rtscts;
- status = "okay";
-};
-
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>;
@@ -283,6 +276,11 @@ MX6UL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x1b0b0 /* DOUT1 */
MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04 0x1b0b0 /* DIN1 */
MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x1b0b0 /* DOUT2 */
MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x1b0b0 /* DIN2 */
+
+ MX6UL_PAD_UART3_TX_DATA__GPIO1_IO24 0x1b0b0 /* CAN_ADR0 (DIP sw 1) */
+ MX6UL_PAD_UART3_RX_DATA__GPIO1_IO25 0x1b0b0 /* CAN_ADR1 (DIP sw 2) */
+ MX6UL_PAD_UART3_CTS_B__GPIO1_IO26 0x1b0b0 /* CAN_ADR2 (DIP sw 3) */
+ MX6UL_PAD_UART3_RTS_B__GPIO1_IO27 0x1b0b0 /* CAN_ADR3 (DIP sw 4) */
>;
};
@@ -334,15 +332,6 @@ MX6UL_PAD_NAND_DATA07__UART2_DCE_RTS 0x1b0b1
>;
};
- pinctrl_uart3: uart3grp {
- fsl,pins = <
- MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX 0x1b0b1
- MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX 0x1b0b1
- MX6UL_PAD_UART3_CTS_B__UART3_DCE_CTS 0x1b0b1
- MX6UL_PAD_UART3_RTS_B__UART3_DCE_RTS 0x1b0b1
- >;
- };
-
pinctrl_uart4: uart4grp {
fsl,pins = <
MX6UL_PAD_UART4_TX_DATA__UART4_DCE_TX 0x1b0b1
--
2.55.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 2/9] ARM: dts: imx6ul-kontron-bl-common: Add GPIO labels
2026-09-14 13:46 [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 1/9] ARM: dts: imx6ul-kontron-bl-common: Replace UART3 with DIP switch GPIOs Frieder Schrempf
@ 2026-09-14 13:46 ` Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 3/9] ARM: dts: imx6ul-kontron-bl-common: Fix USB OTG1 ID pin configuration Frieder Schrempf
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Frieder Schrempf @ 2026-09-14 13:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frieder Schrempf, Shawn Guo
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Oualid Derouiche
From: Oualid Derouiche <oualid.derouiche@kontron.de>
Describe the GPIOs and their purpose using labels.
Signed-off-by: Oualid Derouiche <oualid.derouiche@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
---
arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi b/arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi
index a71669bef7d4..65c5f4450c36 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi
@@ -132,6 +132,22 @@ ethphy2: ethernet-phy@2 {
};
};
+&gpio1 {
+ gpio-line-names = "", "", "ADC_REF", "AIN1",
+ "", "", "ENET2_MDIO", "ENET2_MDC",
+ "AIN2", "", "", "",
+ "", "", "", "",
+ "", "", "", "SD1_CD",
+ "", "", "", "",
+ "CAN_ADR0", "CAN_ADR1", "CAN_ADR2", "CAN_ADR3",
+ "", "", "LED_H14";
+};
+
+&gpio5 {
+ gpio-line-names = "DIN2", "DOUT2", "LED_H16",
+ "LED_H15", "DIN1", "DOUT1";
+};
+
&i2c1 {
clock-frequency = <100000>;
pinctrl-names = "default";
--
2.55.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 3/9] ARM: dts: imx6ul-kontron-bl-common: Fix USB OTG1 ID pin configuration
2026-09-14 13:46 [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 1/9] ARM: dts: imx6ul-kontron-bl-common: Replace UART3 with DIP switch GPIOs Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 2/9] ARM: dts: imx6ul-kontron-bl-common: Add GPIO labels Frieder Schrempf
@ 2026-09-14 13:46 ` Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 4/9] arm64: dts: imx93-kontron: Adjust GPIO4_IO29 usage Frieder Schrempf
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Frieder Schrempf @ 2026-09-14 13:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frieder Schrempf, Shawn Guo
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Oualid Derouiche
From: Oualid Derouiche <oualid.derouiche@kontron.de>
Add the missing MX6UL_PAD_GPIO1_IO00__ANATOP_OTG1_ID pinmux entry so
the USB OTG ID pin is correctly routed and OTG can be used.
Signed-off-by: Oualid Derouiche <oualid.derouiche@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
---
arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi b/arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi
index 65c5f4450c36..0658584c9f11 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6ul-kontron-bl-common.dtsi
@@ -357,6 +357,7 @@ MX6UL_PAD_UART4_RX_DATA__UART4_DCE_RX 0x1b0b1
pinctrl_usbotg1: usbotg1grp {
fsl,pins = <
+ MX6UL_PAD_GPIO1_IO00__ANATOP_OTG1_ID 0x17059
MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0x1b0b0
>;
};
--
2.55.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 4/9] arm64: dts: imx93-kontron: Adjust GPIO4_IO29 usage
2026-09-14 13:46 [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frieder Schrempf
` (2 preceding siblings ...)
2026-09-14 13:46 ` [PATCH v2 3/9] ARM: dts: imx6ul-kontron-bl-common: Fix USB OTG1 ID pin configuration Frieder Schrempf
@ 2026-09-14 13:46 ` Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 5/9] arm64: dts: imx93-kontron: Make USB-C connector "device-only" Frieder Schrempf
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Frieder Schrempf @ 2026-09-14 13:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frieder Schrempf, Shawn Guo
Cc: devicetree, imx, linux-arm-kernel, linux-kernel
From: Frieder Schrempf <frieder.schrempf@kontron.de>
Early prototypes had GPIO4_IO29 control the CARRIER_PWR_EN signal.
This is now controlled by hardware and the GPIO4_IO29 is routed to
the GPIO_B_2 OSM pad.
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
---
.../boot/dts/freescale/imx93-kontron-osm-s.dtsi | 32 ++--------------------
1 file changed, 2 insertions(+), 30 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx93-kontron-osm-s.dtsi b/arch/arm64/boot/dts/freescale/imx93-kontron-osm-s.dtsi
index f881912cde46..36548d918169 100644
--- a/arch/arm64/boot/dts/freescale/imx93-kontron-osm-s.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx93-kontron-osm-s.dtsi
@@ -34,29 +34,6 @@ reg_usdhc2_vcc: regulator-usdhc2-vcc {
regulator-max-microvolt = <3300000>;
regulator-name = "VCC_SDIO_A";
};
-
- reg_vdd_carrier: regulator-vdd-carrier {
- compatible = "regulator-fixed";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_reg_vdd_carrier>;
- gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
- enable-active-high;
- regulator-always-on;
- regulator-boot-on;
- regulator-name = "VDD_CARRIER";
-
- regulator-state-standby {
- regulator-on-in-suspend;
- };
-
- regulator-state-mem {
- regulator-off-in-suspend;
- };
-
- regulator-state-disk {
- regulator-off-in-suspend;
- };
- };
};
&flexcan1 { /* OSM-S CAN_A */
@@ -113,7 +90,7 @@ &gpio4 {
"ETH_A_TXD3", "ETH_A_TXD2", "ETH_A_TXD1", "ETH_A_TXD0",
"ETH_A_TX_EN", "ETH_A_TX_CLK", "ETH_A_RX_CTL", "ETH_A_RX_CLK",
"ETH_A_RXD0", "ETH_A_RXD1", "ETH_A_RXD2", "ETH_A_RXD3",
- "GPIO_B_0", "CARRIER_PWR_EN";
+ "GPIO_B_0", "GPIO_B_2";
};
&lpi2c1 {
@@ -385,6 +362,7 @@ MX93_PAD_CCM_CLKO2__GPIO3_IO27 0x31e /* GPIO_A_7 */
pinctrl_gpio4: gpio4grp {
fsl,pins = <
MX93_PAD_CCM_CLKO3__GPIO4_IO28 0x31e /* GPIO_B_0 */
+ MX93_PAD_CCM_CLKO4__GPIO4_IO29 0x31e /* GPIO_B_2 */
>;
};
@@ -465,12 +443,6 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e /* SDIO_A_PWR_EN */
>;
};
- pinctrl_reg_vdd_carrier: regvddcarriergrp {
- fsl,pins = <
- MX93_PAD_CCM_CLKO4__GPIO4_IO29 0x31e /* CARRIER_PWR_EN */
- >;
- };
-
pinctrl_rtc: rtcgrp {
fsl,pins = <
MX93_PAD_SD2_VSELECT__GPIO3_IO19 0x31e
--
2.55.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 5/9] arm64: dts: imx93-kontron: Make USB-C connector "device-only"
2026-09-14 13:46 [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frieder Schrempf
` (3 preceding siblings ...)
2026-09-14 13:46 ` [PATCH v2 4/9] arm64: dts: imx93-kontron: Adjust GPIO4_IO29 usage Frieder Schrempf
@ 2026-09-14 13:46 ` Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 6/9] arm64: dts: imx8mm-kontron: Describe the ethernet PHY LEDs Frieder Schrempf
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Frieder Schrempf @ 2026-09-14 13:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frieder Schrempf, Shawn Guo
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Oualid Derouiche
From: Oualid Derouiche <oualid.derouiche@kontron.de>
The dual-role support was broken on early prototypes and has been
removed in later hardware revisions. Reflect that by setting dr_mode
to "peripheral" and removing properties related to dual-role usage.
Signed-off-by: Oualid Derouiche <oualid.derouiche@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
---
arch/arm64/boot/dts/freescale/imx93-kontron-bl-osm-s.dts | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx93-kontron-bl-osm-s.dts b/arch/arm64/boot/dts/freescale/imx93-kontron-bl-osm-s.dts
index 4620c070f4d7..0277640d7c4c 100644
--- a/arch/arm64/boot/dts/freescale/imx93-kontron-bl-osm-s.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-kontron-bl-osm-s.dts
@@ -158,12 +158,8 @@ &tpm6 {
};
&usbotg1 {
- adp-disable;
- hnp-disable;
- srp-disable;
disable-over-current;
- dr_mode = "otg";
- usb-role-switch;
+ dr_mode = "peripheral";
status = "okay";
};
--
2.55.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 6/9] arm64: dts: imx8mm-kontron: Describe the ethernet PHY LEDs
2026-09-14 13:46 [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frieder Schrempf
` (4 preceding siblings ...)
2026-09-14 13:46 ` [PATCH v2 5/9] arm64: dts: imx93-kontron: Make USB-C connector "device-only" Frieder Schrempf
@ 2026-09-14 13:46 ` Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 7/9] arm64: dts: imx8mm-kontron: Add GPIO labels and comments Frieder Schrempf
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Frieder Schrempf @ 2026-09-14 13:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frieder Schrempf, Shawn Guo
Cc: devicetree, imx, linux-arm-kernel, linux-kernel
From: Frieder Schrempf <frieder.schrempf@kontron.de>
The RJ45 of the BL i.MX8MM has two LEDs wired to LED0 and LED1 of
the VSC8531 PHY. Describe them using the standard LED subnodes of
the ethernet PHY binding, so that they show up as LED class devices
and can be driven by the netdev trigger.
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
---
arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts b/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
index dd59af0ebaae..1f3d0577f10c 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
@@ -5,6 +5,7 @@
/dts-v1/;
+#include <dt-bindings/leds/common.h>
#include "imx8mm-kontron-sl.dtsi"
/ {
@@ -139,6 +140,25 @@ ethphy: ethernet-phy@0 {
reset-assert-us = <1>;
reset-deassert-us = <15000>;
reset-gpios = <&gpio4 27 GPIO_ACTIVE_LOW>;
+
+ leds {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ led@0 {
+ reg = <0>;
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_LAN;
+ linux,default-trigger = "netdev";
+ };
+
+ led@1 {
+ reg = <1>;
+ color = <LED_COLOR_ID_YELLOW>;
+ function = LED_FUNCTION_LAN;
+ linux,default-trigger = "netdev";
+ };
+ };
};
};
};
--
2.55.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 7/9] arm64: dts: imx8mm-kontron: Add GPIO labels and comments
2026-09-14 13:46 [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frieder Schrempf
` (5 preceding siblings ...)
2026-09-14 13:46 ` [PATCH v2 6/9] arm64: dts: imx8mm-kontron: Describe the ethernet PHY LEDs Frieder Schrempf
@ 2026-09-14 13:46 ` Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 8/9] arm64: dts: imx8mm-kontron: Add SPI EERAM on BL device Frieder Schrempf
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Frieder Schrempf @ 2026-09-14 13:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frieder Schrempf, Shawn Guo
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Oualid Derouiche
From: Oualid Derouiche <oualid.derouiche@kontron.de>
Describe the GPIOs and their purpose using labels and comments.
Signed-off-by: Oualid Derouiche <oualid.derouiche@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
---
.../arm64/boot/dts/freescale/imx8mm-kontron-bl.dts | 81 +++++++++++++++-------
1 file changed, 55 insertions(+), 26 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts b/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
index 1f3d0577f10c..72588af057d2 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
@@ -97,6 +97,7 @@ reg_vdd_5v: regulator-5v {
};
};
+/* CAN */
&ecspi2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi2>;
@@ -124,6 +125,7 @@ &ecspi3 {
status = "okay";
};
+/* ETH0 */
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
@@ -163,9 +165,24 @@ led@1 {
};
};
+/* DIO */
+&gpio1 {
+ gpio-line-names = "", "", "", "DOUT1",
+ "", "", "DIN1", "DOUT2",
+ "DIN2", "DOUT3", "DIN3", "DOUT4";
+};
+
&gpio4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio4>;
+ gpio-line-names = "", "CAN_ADR0", "", "",
+ "CAN_ADR1", "CAN_ADR2", "CAN_ADR3", "LED6",
+ "LED4", "LED5", "", "",
+ "", "", "DSI_MUX_SEL", "DSI_MUX_OE",
+ "HDMI_IRQ", "LED1", "LED3", "LED2",
+ "", "", "", "",
+ "", "ETH_IRQ", "LVDS_EN", "PHY_RST",
+ "CAN_IRQ", "UART2_RTS";
dsi_mux_sel_hdmi: dsi-mux-sel-hdmi-hog {
gpio-hog;
@@ -190,6 +207,10 @@ dsi-mux-oe-hog {
};
};
+&gpio5 {
+ gpio-line-names = "", "", "DIN4";
+};
+
&i2c3 {
clock-frequency = <400000>;
pinctrl-names = "default";
@@ -274,6 +295,7 @@ &pwm2 {
status = "okay";
};
+/* RS232 */
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
@@ -281,6 +303,7 @@ &uart1 {
status = "okay";
};
+/* RS485 */
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
@@ -324,6 +347,7 @@ usbnet: ethernet@1 {
};
};
+/* SD-card */
&usdhc2 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc2>;
@@ -341,13 +365,13 @@ &iomuxc {
pinctrl_adv7535: adv7535grp {
fsl,pins = <
- MX8MM_IOMUXC_SAI1_TXD4_GPIO4_IO16 0x19
+ MX8MM_IOMUXC_SAI1_TXD4_GPIO4_IO16 0x19 /* HDMI_IRQ */
>;
};
pinctrl_can: cangrp {
fsl,pins = <
- MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x19
+ MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x19 /* CAN_IRQ */
>;
};
@@ -356,7 +380,7 @@ pinctrl_ecspi2: ecspi2grp {
MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82
MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82
MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82
- MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x19
+ MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x19 /* ECSPI2_CS1 */
>;
};
@@ -365,7 +389,7 @@ pinctrl_ecspi3: ecspi3grp {
MX8MM_IOMUXC_UART2_RXD_ECSPI3_MISO 0x82
MX8MM_IOMUXC_UART1_TXD_ECSPI3_MOSI 0x82
MX8MM_IOMUXC_UART1_RXD_ECSPI3_SCLK 0x82
- MX8MM_IOMUXC_UART2_TXD_GPIO5_IO25 0x19
+ MX8MM_IOMUXC_UART2_TXD_GPIO5_IO25 0x19 /* ECSPI3_CS1 */
>;
};
@@ -385,40 +409,45 @@ MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
- MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x19 /* PHY RST */
- MX8MM_IOMUXC_SAI2_TXC_GPIO4_IO25 0x19 /* ETH IRQ */
+ MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x19 /* PHY_RST */
+ MX8MM_IOMUXC_SAI2_TXC_GPIO4_IO25 0x19 /* ETH_IRQ */
>;
};
pinctrl_gpio_led: gpioledgrp {
fsl,pins = <
MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16 0x19
- MX8MM_IOMUXC_SAI1_RXD5_GPIO4_IO7 0x19
- MX8MM_IOMUXC_SAI1_RXD6_GPIO4_IO8 0x19
- MX8MM_IOMUXC_SAI1_RXD7_GPIO4_IO9 0x19
- MX8MM_IOMUXC_SAI1_TXD5_GPIO4_IO17 0x19
- MX8MM_IOMUXC_SAI1_TXD6_GPIO4_IO18 0x19
- MX8MM_IOMUXC_SAI1_TXD7_GPIO4_IO19 0x19
+ MX8MM_IOMUXC_SAI1_RXD5_GPIO4_IO7 0x19 /* LED6 */
+ MX8MM_IOMUXC_SAI1_RXD6_GPIO4_IO8 0x19 /* LED4 */
+ MX8MM_IOMUXC_SAI1_RXD7_GPIO4_IO9 0x19 /* LED5 */
+ MX8MM_IOMUXC_SAI1_TXD5_GPIO4_IO17 0x19 /* LED1 */
+ MX8MM_IOMUXC_SAI1_TXD6_GPIO4_IO18 0x19 /* LED3 */
+ MX8MM_IOMUXC_SAI1_TXD7_GPIO4_IO19 0x19 /* LED2 */
>;
};
pinctrl_gpio: gpiogrp {
fsl,pins = <
- MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x19
- MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x19
- MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19
- MX8MM_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x19
- MX8MM_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x19
- MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x19
- MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x19
- MX8MM_IOMUXC_SAI3_MCLK_GPIO5_IO2 0x19
+ MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x19 /* DOUT1 */
+ MX8MM_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x19 /* DIN1 */
+ MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x19 /* DOUT2 */
+ MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x19 /* DIN2 */
+ MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19 /* DOUT3 */
+ MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x19 /* DIN3 */
+ MX8MM_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x19 /* DOUT4 */
+ MX8MM_IOMUXC_SAI3_MCLK_GPIO5_IO2 0x19 /* DIN4 */
>;
};
pinctrl_gpio4: gpio4grp {
fsl,pins = <
- MX8MM_IOMUXC_SAI1_TXD2_GPIO4_IO14 0x19
- MX8MM_IOMUXC_SAI1_TXD3_GPIO4_IO15 0x19
+ /* CAN address DIP switches 1-4 */
+ MX8MM_IOMUXC_SAI1_RXC_GPIO4_IO1 0x19 /* CAN_ADR0 */
+ MX8MM_IOMUXC_SAI1_RXD2_GPIO4_IO4 0x19 /* CAN_ADR1 */
+ MX8MM_IOMUXC_SAI1_RXD3_GPIO4_IO5 0x19 /* CAN_ADR2 */
+ MX8MM_IOMUXC_SAI1_RXD4_GPIO4_IO6 0x19 /* CAN_ADR3 */
+ MX8MM_IOMUXC_SAI1_TXD2_GPIO4_IO14 0x19 /* DSI_MUX_SEL */
+ MX8MM_IOMUXC_SAI1_TXD3_GPIO4_IO15 0x19 /* DSI_MUX_OE */
>;
};
@@ -444,7 +473,7 @@ MX8MM_IOMUXC_SPDIF_RX_PWM2_OUT 0x19
pinctrl_sn65dsi84: sn65dsi84grp {
fsl,pins = <
- MX8MM_IOMUXC_SAI2_TXD0_GPIO4_IO26 0x19
+ MX8MM_IOMUXC_SAI2_TXD0_GPIO4_IO26 0x19 /* LVDS_EN */
MX8MM_IOMUXC_SD2_WP_GPIO2_IO20 0x19
>;
};
@@ -463,13 +492,13 @@ pinctrl_uart2: uart2grp {
MX8MM_IOMUXC_SAI3_TXFS_UART2_DCE_RX 0x0
MX8MM_IOMUXC_SAI3_TXC_UART2_DCE_TX 0x0
MX8MM_IOMUXC_SAI3_RXD_UART2_DCE_RTS_B 0x0
- MX8MM_IOMUXC_SAI3_RXC_GPIO4_IO29 0x19
+ MX8MM_IOMUXC_SAI3_RXC_GPIO4_IO29 0x19 /* UART2_RTS */
>;
};
pinctrl_usb_eth2: usbeth2grp {
fsl,pins = <
- MX8MM_IOMUXC_NAND_CE1_B_GPIO3_IO2 0x19
+ MX8MM_IOMUXC_NAND_CE1_B_GPIO3_IO2 0x19 /* ETH_RST */
>;
};
@@ -481,7 +510,7 @@ MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0
MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0
- MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x19
+ MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x19 /* SD2_CD */
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xd0
>;
};
--
2.55.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 8/9] arm64: dts: imx8mm-kontron: Add SPI EERAM on BL device
2026-09-14 13:46 [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frieder Schrempf
` (6 preceding siblings ...)
2026-09-14 13:46 ` [PATCH v2 7/9] arm64: dts: imx8mm-kontron: Add GPIO labels and comments Frieder Schrempf
@ 2026-09-14 13:46 ` Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 9/9] arm64: dts: imx8mp-kontron: Fix LVDS clock frequency for DL device Frieder Schrempf
2026-09-23 20:22 ` (subset) [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frank.Li
9 siblings, 0 replies; 11+ messages in thread
From: Frieder Schrempf @ 2026-09-14 13:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frieder Schrempf, Shawn Guo
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Oualid Derouiche
From: Oualid Derouiche <oualid.derouiche@kontron.de>
Board revision 2 has an EERAM chip populated. Add support
for it.
Signed-off-by: Oualid Derouiche <oualid.derouiche@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
---
arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts b/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
index 72588af057d2..27bfad56dbe8 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
@@ -123,6 +123,12 @@ &ecspi3 {
pinctrl-0 = <&pinctrl_ecspi3>;
cs-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;
status = "okay";
+
+ eeram@0 {
+ compatible = "microchip,48l640";
+ reg = <0>;
+ spi-max-frequency = <20000000>;
+ };
};
/* ETH0 */
--
2.55.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 9/9] arm64: dts: imx8mp-kontron: Fix LVDS clock frequency for DL device
2026-09-14 13:46 [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frieder Schrempf
` (7 preceding siblings ...)
2026-09-14 13:46 ` [PATCH v2 8/9] arm64: dts: imx8mm-kontron: Add SPI EERAM on BL device Frieder Schrempf
@ 2026-09-14 13:46 ` Frieder Schrempf
2026-09-23 20:22 ` (subset) [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frank.Li
9 siblings, 0 replies; 11+ messages in thread
From: Frieder Schrempf @ 2026-09-14 13:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frieder Schrempf, Shawn Guo
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Oualid Derouiche
From: Oualid Derouiche <oualid.derouiche@kontron.de>
The panel needs a pixel clock of 50 MHz, which means the LDB
serializer has to run at 50 MHz * 7 = 350 MHz. The LDB rate itself
is set by the fsl-ldb driver, but VIDEO_PLL1 needs to be pinned to
700 MHz, so that both the LDB clock (/2) and the pixel clock (/14)
can be derived from it exactly.
Fixes: 946ab10e3f40 ("arm64: dts: Add support for Kontron OSM-S i.MX8MP SoM and BL carrier board")
Signed-off-by: Oualid Derouiche <oualid.derouiche@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
---
arch/arm64/boot/dts/freescale/imx8mp-kontron-dl.dtso | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-kontron-dl.dtso b/arch/arm64/boot/dts/freescale/imx8mp-kontron-dl.dtso
index 41a2bb74f156..88b30ca66adf 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-kontron-dl.dtso
+++ b/arch/arm64/boot/dts/freescale/imx8mp-kontron-dl.dtso
@@ -6,6 +6,7 @@
/dts-v1/;
/plugin/;
+#include <dt-bindings/clock/imx8mp-clock.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "imx8mp-pinfunc.h"
@@ -99,6 +100,16 @@ &ldb_lvds_ch0 {
&lvds_bridge {
status = "okay";
+ /*
+ * The video PLL clock frequency needs to be configured manually.
+ * The panel needs a LVDS clock of 50 MHz * 7 = 350 MHz.
+ * IMX8MP_CLK_MEDIA_LDB = IMX8MP_CLK_MEDIA_DISP2_PIX * 7
+ * IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_LDB * 2
+ */
+ assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>,
+ <&clk IMX8MP_VIDEO_PLL1>;
+ assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>;
+ assigned-clock-rates = <0>, <700000000>;
};
/* redefine to remove touch controller GPIOs */
--
2.55.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: (subset) [PATCH v2 0/9] Misc Kontron i.MX DT improvements
2026-09-14 13:46 [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frieder Schrempf
` (8 preceding siblings ...)
2026-09-14 13:46 ` [PATCH v2 9/9] arm64: dts: imx8mp-kontron: Fix LVDS clock frequency for DL device Frieder Schrempf
@ 2026-09-23 20:22 ` Frank.Li
9 siblings, 0 replies; 11+ messages in thread
From: Frank.Li @ 2026-09-23 20:22 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Frieder Schrempf,
Shawn Guo, Frieder Schrempf
Cc: Frank Li, devicetree, imx, linux-arm-kernel, linux-kernel,
Eberhard Stoll, Oualid Derouiche
From: Frank Li <Frank.Li@nxp.com>
On Mon, 14 Sep 2026 15:46:08 +0200, Frieder Schrempf wrote:
> Changes in v2:
> - Patch 1 and 8: Improve commit message (Frank)
> - Link to v1: https://patch.msgid.link/20260908-upstreaming-v7-2-imx-dt-improvements-08-26-v1-0-4d0e8a75db79@kontron.de
Applied, thanks!
[1/9] ARM: dts: imx6ul-kontron-bl-common: Replace UART3 with DIP switch GPIOs
commit: b2e2c41c398d6aa097203e70c7acf82ba4c5a6a0
[2/9] ARM: dts: imx6ul-kontron-bl-common: Add GPIO labels
commit: 27408de30b6e5bb93dfb99af508a670abd787b00
[3/9] ARM: dts: imx6ul-kontron-bl-common: Fix USB OTG1 ID pin configuration
commit: d3b1ebe5a7a1f345fdc75a657ae725af0a0bbdbd
Best regards,
--
Frank Li <Frank.Li@nxp.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-09-23 20:22 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-14 13:46 [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 1/9] ARM: dts: imx6ul-kontron-bl-common: Replace UART3 with DIP switch GPIOs Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 2/9] ARM: dts: imx6ul-kontron-bl-common: Add GPIO labels Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 3/9] ARM: dts: imx6ul-kontron-bl-common: Fix USB OTG1 ID pin configuration Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 4/9] arm64: dts: imx93-kontron: Adjust GPIO4_IO29 usage Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 5/9] arm64: dts: imx93-kontron: Make USB-C connector "device-only" Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 6/9] arm64: dts: imx8mm-kontron: Describe the ethernet PHY LEDs Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 7/9] arm64: dts: imx8mm-kontron: Add GPIO labels and comments Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 8/9] arm64: dts: imx8mm-kontron: Add SPI EERAM on BL device Frieder Schrempf
2026-09-14 13:46 ` [PATCH v2 9/9] arm64: dts: imx8mp-kontron: Fix LVDS clock frequency for DL device Frieder Schrempf
2026-09-23 20:22 ` (subset) [PATCH v2 0/9] Misc Kontron i.MX DT improvements Frank.Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®