Skip to contentSkip to conversation

arm64: dts: imx8-apalis: add additional functionality

PATCH Applied [email protected] 3 participants 8 messages Oct 27, 2025 – Nov 16, 2025

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover arm64: dts: imx8-apalis: add additional functionality

From: Max Krummenacher <[email protected]>

Cleanup the regulator used for the Wi-Fi module. Improve ADC node by specifing the used reference volatage. Add thermal nodes and cooling devices for the PMIC. Cleanup TODOs no longer applicable.

Max Krummenacher (3):
arm64: dts: imx8-apalis: cleanup todo
arm64: dts: imx8-apalis: add thermal nodes
arm64: dts: imx8-apalis: specify adc reference voltage regulator

Stefan Eichenberger (2):
arm64: dts: imx8-apalis: rename wifi regulator
arm64: dts: imx8-apalis: use startup-delay-us for wifi regulator

 .../boot/dts/freescale/imx8-apalis-v1.1.dtsi  | 44 ++++++++++++++-----
 .../dts/freescale/imx8qm-apalis-v1.1.dtsi     | 10 ++++-
 .../boot/dts/freescale/imx8qm-apalis.dtsi     |  2 -
 3 files changed, 41 insertions(+), 15 deletions(-)
Signature · 1 line
2.42.0
#1 lore raw

PATCH 1/5 arm64: dts: imx8-apalis: cleanup todo

From: Max Krummenacher <[email protected]>

Functionality has been added without removing the associated TODO comments.
Clean that up by removing TODOs no longer applicable.

---

 arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi | 8 --------
 arch/arm64/boot/dts/freescale/imx8qm-apalis.dtsi    | 2 --
 2 files changed, 10 deletions(-)
arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi +0 -8
index 86d018f470c1..6ebeade2ce72 100644
@@ -31,12 +31,6 @@ gpio_fan: gpio-fan {
 				      3000 1>;
 	};
 
-	/* TODO: LVDS Panel */
-
-	/* TODO: Shared PCIe/SATA Reference Clock */
-
-	/* TODO: PCIe Wi-Fi Reference Clock */
-
 	/*
 	 * Power management bus used to control LDO1OUT of the
 	 * second PMIC PF8100. This is used for controlling voltage levels of
@@ -269,8 +263,6 @@ &adc1 {
 	pinctrl-0 = <&pinctrl_adc1>;
 };
 
-/* TODO: Asynchronous Sample Rate Converter (ASRC) */
-
 &cpu_alert0 {
 	temperature = <95000>;
 };
arch/arm64/boot/dts/freescale/imx8qm-apalis.dtsi +0 -2
index f97feee52c81..7594ac61fe56 100644
@@ -314,8 +314,6 @@ &pinctrl_pcie_sata_refclk {
 		<IMX8QM_PCIE_CTRL0_CLKREQ_B_LSIO_GPIO4_IO27			0x00000021>;
 };
 
-/* TODO: On-module Wi-Fi */
-
 /* Apalis MMC1 */
 &usdhc2 {
 	/*
Signature · 1 line
2.42.0
#3 lore raw

PATCH 2/5 arm64: dts: imx8-apalis: add thermal nodes

In reply to [email protected]

From: Max Krummenacher <[email protected]>

Add the thermal-zones and cooling-maps nodes for the PMIC device.

---

 .../boot/dts/freescale/imx8-apalis-v1.1.dtsi  | 30 +++++++++++++++++--
 .../dts/freescale/imx8qm-apalis-v1.1.dtsi     | 10 ++++++-
 2 files changed, 37 insertions(+), 3 deletions(-)
arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi +28 -2
index 6ebeade2ce72..686fce7443bb 100644
@@ -226,6 +226,34 @@ sound-spdif {
 		spdif-out;
 	};
 
+	thermal-zones {
+		pmic-thermal {
+			polling-delay-passive = <250>;
+			polling-delay = <2000>;
+			thermal-sensors = <&tsens IMX_SC_R_PMIC_0>;
+
+			cooling-maps {
+				cooling_maps_map0: map0 {
+					trip = <&pmic_alert0>;
+				};
+			};
+
+			trips {
+				pmic_alert0: trip0 {
+					hysteresis = <2000>;
+					temperature = <110000>;
+					type = "passive";
+				};
+
+				pmic_crit0: trip1 {
+					hysteresis = <2000>;
+					temperature = <125000>;
+					type = "critical";
+				};
+			};
+		};
+	};
+
 	touchscreen: touchscreen {
 		compatible = "toradex,vf50-touchscreen";
 		interrupt-parent = <&lsio_gpio3>;
@@ -833,8 +861,6 @@ &spdif0 {
 	status = "okay";
 };
 
-/* TODO: Thermal Zones */
-
 /* TODO: Apalis USBH2, Apalis USBH3 and on-module Wi-Fi via on-module HSIC Hub */
 
 /* Apalis USBH4 */
arch/arm64/boot/dts/freescale/imx8qm-apalis-v1.1.dtsi +9 -1
index b1c3f331c4ed..8a37cbe922ac 100644
@@ -11,4 +11,12 @@ / {
 	model = "Toradex Apalis iMX8QM V1.1";
 };
 
-/* TODO: Cooling Maps */
+&cooling_maps_map0 {
+	cooling-device =
+		<&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+		<&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+		<&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+		<&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+		<&A72_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+		<&A72_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+};
Signature · 1 line
2.42.0
#4 lore raw

PATCH 3/5 arm64: dts: imx8-apalis: specify adc reference voltage regulator

In reply to [email protected]

From: Max Krummenacher <[email protected]>

This sets in_voltage_scale to calculate the measured voltage from the raw digital value of the ADC.

---

 arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi | 2 ++
 1 file changed, 2 insertions(+)
arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi +2 -0
index 686fce7443bb..abf6d543380c 100644
@@ -284,11 +284,13 @@ &asrc0 {
 &adc0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_adc0>;
+	vref-supply = <&reg_vref_1v8>;
 };
 
 &adc1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_adc1>;
+	vref-supply = <&reg_vref_1v8>;
 };
 
 &cpu_alert0 {
Signature · 1 line
2.42.0
#5 lore raw

PATCH 4/5 arm64: dts: imx8-apalis: rename wifi regulator

In reply to [email protected]

From: Stefan Eichenberger <[email protected]>

Rename the wifi regulator to what is the net name in the schematic.

---

 arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi +1 -1
index abf6d543380c..4234289d4012 100644
@@ -77,7 +77,7 @@ reg_module_wifi: regulator-module-wifi {
 		gpio = <&lsio_gpio1 28 GPIO_ACTIVE_HIGH>;
 		enable-active-high;
 		regulator-always-on;
-		regulator-name = "wifi_pwrdn_fake_regulator";
+		regulator-name = "Wi-Fi_POWER_DOWN"; /* Wi-Fi module PDn */
 		regulator-settling-time-us = <100>;
 	};
 
Signature · 1 line
2.42.0
#6 lore raw

PATCH 5/5 arm64: dts: imx8-apalis: use startup-delay-us for wifi regulator

In reply to [email protected]

From: Stefan Eichenberger <[email protected]>

We used regulator-settling-time-us for the wifi regulator which is wrong for regulator-fixed. We have to use startup-delay-us instead.

---

 arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi +1 -1
index 4234289d4012..f2646db74a5f 100644
@@ -78,7 +78,7 @@ reg_module_wifi: regulator-module-wifi {
 		enable-active-high;
 		regulator-always-on;
 		regulator-name = "Wi-Fi_POWER_DOWN"; /* Wi-Fi module PDn */
-		regulator-settling-time-us = <100>;
+		startup-delay-us = <100>;
 	};
 
 	reg_pcie_switch: regulator-pcie-switch {
Signature · 1 line
2.42.0
Applied
#7 lore raw
In reply to [email protected]
Quoted 8 lines · On Mon, Oct 27, 2025 at 10:30:06AM +0100, [email protected] wrote:

From: Max Krummenacher <[email protected]>

Cleanup the regulator used for the Wi-Fi module. Improve ADC node by specifing the used reference volatage. Add thermal nodes and cooling devices for the PMIC. Cleanup TODOs no longer applicable.

Quoted 8 lines

Max Krummenacher (3):
arm64: dts: imx8-apalis: cleanup todo
arm64: dts: imx8-apalis: add thermal nodes
arm64: dts: imx8-apalis: specify adc reference voltage regulator

Stefan Eichenberger (2):
arm64: dts: imx8-apalis: rename wifi regulator
arm64: dts: imx8-apalis: use startup-delay-us for wifi regulator

Applied all, thanks!