* [PATCH v2 1/4] arm64: dts: imx8mp-phyboard-pollux: add fan-supply
2025-12-05 9:33 [PATCH v2 0/4] arm64: dts: additions for imx8mp-phyboard-pollux Yannic Moog
@ 2025-12-05 9:33 ` Yannic Moog
2025-12-05 9:33 ` [PATCH v2 2/4] arm64: dts: imx8mp-phycore-som: add spi-nor supply vcc Yannic Moog
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Yannic Moog @ 2025-12-05 9:33 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: upstream, devicetree, imx, linux-arm-kernel, linux-kernel,
Frank Li, Yannic Moog
Add 5v regulator to gpio fan node.
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Yannic Moog <y.moog@phytec.de>
---
arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts b/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts
index 9687b4ded8f4c98fe68bcbeedcb5ea03434e27a3..6203e39bc01be476f16f5ac80b6365bce150ae37 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts
@@ -31,6 +31,7 @@ fan0: fan {
compatible = "gpio-fan";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fan>;
+ fan-supply = <®_vcc_5v_sw>;
gpio-fan,speed-map = <0 0
13000 1>;
gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 2/4] arm64: dts: imx8mp-phycore-som: add spi-nor supply vcc
2025-12-05 9:33 [PATCH v2 0/4] arm64: dts: additions for imx8mp-phyboard-pollux Yannic Moog
2025-12-05 9:33 ` [PATCH v2 1/4] arm64: dts: imx8mp-phyboard-pollux: add fan-supply Yannic Moog
@ 2025-12-05 9:33 ` Yannic Moog
2025-12-05 9:33 ` [PATCH v2 3/4] arm64: dts: imx8mp-phyboard-pollux: Enable i2c3 Yannic Moog
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Yannic Moog @ 2025-12-05 9:33 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: upstream, devicetree, imx, linux-arm-kernel, linux-kernel,
Yannic Moog
The spi flash on the SoM is missing its vcc supply definition. Add
missing regulator which supplies the flash with 1.8V.
Signed-off-by: Yannic Moog <y.moog@phytec.de>
---
arch/arm64/boot/dts/freescale/imx8mp-phycore-som.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-phycore-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-phycore-som.dtsi
index 88831c0fbb7be3db18910385e4e15691b1c74ef2..63adb1c4b3ebc9e1f588e8c7c00acf92f5a04e94 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-phycore-som.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp-phycore-som.dtsi
@@ -28,6 +28,13 @@ reg_vdd_io: regulator-vdd-io {
regulator-min-microvolt = <3300000>;
regulator-name = "VDD_IO";
};
+
+ reg_vdd_1v8: regulator-vdd-1v8 {
+ compatible = "regulator-fixed";
+ regulator-max-microvolt = <1800000>;
+ regulator-min-microvolt = <1800000>;
+ regulator-name = "VDD_1V8";
+ };
};
&A53_0 {
@@ -83,6 +90,7 @@ som_flash: flash@0 {
spi-max-frequency = <80000000>;
spi-rx-bus-width = <4>;
spi-tx-bus-width = <1>;
+ vcc-supply = <®_vdd_1v8>;
};
};
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 3/4] arm64: dts: imx8mp-phyboard-pollux: Enable i2c3
2025-12-05 9:33 [PATCH v2 0/4] arm64: dts: additions for imx8mp-phyboard-pollux Yannic Moog
2025-12-05 9:33 ` [PATCH v2 1/4] arm64: dts: imx8mp-phyboard-pollux: add fan-supply Yannic Moog
2025-12-05 9:33 ` [PATCH v2 2/4] arm64: dts: imx8mp-phycore-som: add spi-nor supply vcc Yannic Moog
@ 2025-12-05 9:33 ` Yannic Moog
2025-12-05 9:33 ` [PATCH v2 4/4] arm64: dts: imx8mp-phyboard-pollux: add PEB-WLBT-05 expansion board Yannic Moog
2025-12-30 2:50 ` [PATCH v2 0/4] arm64: dts: additions for imx8mp-phyboard-pollux Shawn Guo
4 siblings, 0 replies; 6+ messages in thread
From: Yannic Moog @ 2025-12-05 9:33 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: upstream, devicetree, imx, linux-arm-kernel, linux-kernel,
Stefan Riedmueller, Teresa Remmet, Frank Li, Yannic Moog
From: Stefan Riedmueller <s.riedmueller@phytec.de>
The i2c3 of the phyBOARD-Pollux is used on the CSI1 interface to connect
to imaging sensors. Thus define it so it can be easily enabled if
required.
Signed-off-by: Stefan Riedmueller <s.riedmueller@phytec.de>
Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Yannic Moog <y.moog@phytec.de>
---
.../dts/freescale/imx8mp-phyboard-pollux-rdk.dts | 23 ++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts b/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts
index 6203e39bc01be476f16f5ac80b6365bce150ae37..7d34b820e3213a3832c5be47444d4e9c636a6202 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts
@@ -228,6 +228,15 @@ led-3 {
};
};
+&i2c3 {
+ clock-frequency = <400000>;
+ pinctrl-names = "default", "gpio";
+ pinctrl-0 = <&pinctrl_i2c3>;
+ pinctrl-1 = <&pinctrl_i2c3_gpio>;
+ sda-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+};
+
&ldb_lvds_ch1 {
remote-endpoint = <&panel1_in>;
};
@@ -442,6 +451,20 @@ MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17 0x1e2
>;
};
+ pinctrl_i2c3: i2c3grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x400001c2
+ MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA 0x400001c2
+ >;
+ };
+
+ pinctrl_i2c3_gpio: i2c3gpiogrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18 0x1e2
+ MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19 0x1e2
+ >;
+ };
+
pinctrl_lvds1: lvds1grp {
fsl,pins = <
MX8MP_IOMUXC_SD2_WP__GPIO2_IO20 0x12
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 4/4] arm64: dts: imx8mp-phyboard-pollux: add PEB-WLBT-05 expansion board
2025-12-05 9:33 [PATCH v2 0/4] arm64: dts: additions for imx8mp-phyboard-pollux Yannic Moog
` (2 preceding siblings ...)
2025-12-05 9:33 ` [PATCH v2 3/4] arm64: dts: imx8mp-phyboard-pollux: Enable i2c3 Yannic Moog
@ 2025-12-05 9:33 ` Yannic Moog
2025-12-30 2:50 ` [PATCH v2 0/4] arm64: dts: additions for imx8mp-phyboard-pollux Shawn Guo
4 siblings, 0 replies; 6+ messages in thread
From: Yannic Moog @ 2025-12-05 9:33 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: upstream, devicetree, imx, linux-arm-kernel, linux-kernel,
Yannic Moog
PEB-WLBT-05 is an expansion board that provides WIFI and Bluetooth
functionality. It features the Ezurio Sterling LWB module [1].
Add missing regulator to baseboard dts.
[1] https://www.ezurio.com/wireless-modules/wifi-modules-bluetooth/sterling-lwb-24-ghz-wifi-4-bt-51-module
Signed-off-by: Yannic Moog <y.moog@phytec.de>
---
arch/arm64/boot/dts/freescale/Makefile | 3 +
.../imx8mp-phyboard-pollux-peb-wlbt-05.dtso | 108 +++++++++++++++++++++
.../dts/freescale/imx8mp-phyboard-pollux-rdk.dts | 7 ++
3 files changed, 118 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index f30d3fd724d0ce6b38f7bef10e3970ac34f70f4a..20b5f97671ddc5462493f3c90bda64d06476ca72 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -243,12 +243,15 @@ imx8mp-phyboard-pollux-peb-av-10-ph128800t006-dtbs += imx8mp-phyboard-pollux-rdk
imx8mp-phyboard-pollux-ph128800t006-dtbs += imx8mp-phyboard-pollux-rdk.dtb \
imx8mp-phyboard-pollux-ph128800t006.dtbo
imx8mp-phyboard-pollux-rdk-no-eth-dtbs += imx8mp-phyboard-pollux-rdk.dtb imx8mp-phycore-no-eth.dtbo
+imx8mp-phyboard-pollux-wlbt-dtbs += imx8mp-phyboard-pollux-rdk.dtb \
+ imx8mp-phyboard-pollux-peb-wlbt-05.dtbo
dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-etml1010g3dra.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-peb-av-10.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-peb-av-10-etml1010g3dra.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-peb-av-10-ph128800t006.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-ph128800t006.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk-no-eth.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-wlbt.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-prt8ml.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-basic.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revb-hdmi.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-peb-wlbt-05.dtso b/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-peb-wlbt-05.dtso
new file mode 100644
index 0000000000000000000000000000000000000000..0e98f4d942716e57f5bc1567924460b618eb0930
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-peb-wlbt-05.dtso
@@ -0,0 +1,108 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (C) 2025 PHYTEC Messtechnik GmbH
+ */
+
+#include <dt-bindings/clock/imx8mp-clock.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include "imx8mp-pinfunc.h"
+
+/dts-v1/;
+/plugin/;
+
+&{/} {
+ wlbt_clock: clock-32768 {
+ compatible = "fixed-clock";
+ clock-accuracy = <20000>;
+ clock-frequency = <32768>;
+ clock-output-names = "WIFIBT_SLOW_CLK";
+ #clock-cells = <0>;
+ };
+
+ usdhc1_pwrseq: pwr-seq {
+ compatible = "mmc-pwrseq-simple";
+ post-power-on-delay-ms = <250>;
+ reset-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&iomuxc {
+ pinctrl_uart3: uart3grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD1_RESET_B__UART3_DCE_RTS 0x140 /* RTS */
+ MX8MP_IOMUXC_SD1_STROBE__UART3_DCE_CTS 0x140 /* CTS */
+ MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX 0x140 /* RX */
+ MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX 0x140 /* TX */
+ >;
+ };
+
+ pinctrl_bluetooth: bluetoothgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x106 /* BT_DEV_WAKE_EXP */
+ MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07 0x106 /* BT_REG_ON_EXP */
+ MX8MP_IOMUXC_SD1_DATA7__GPIO2_IO09 0x106 /* BT_HOST_WAKE_EXP */
+ >;
+ };
+
+ pinctrl_usdhc1: usdhc1grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x190 /* SDIO_CLK */
+ MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d0 /* SDIO_CMD */
+ MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d0 /* SDIO_D0 */
+ MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d0 /* SDIO_D1 */
+ MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d0 /* SDIO_D2 */
+ MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d0 /* SDIO_D3 */
+ >;
+ };
+
+ pinctrl_wifi: wifigrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x106 /* WL_REG_ON_EXP */
+ >;
+ };
+};
+
+&uart3 {
+ assigned-clocks = <&clk IMX8MP_CLK_UART3>;
+ assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
+ pinctrl-0 = <&pinctrl_uart3>;
+ pinctrl-names = "default";
+ uart-has-rtscts;
+ status = "okay";
+
+ bluetooth {
+ compatible = "brcm,bcm43438-bt";
+ pinctrl-0 = <&pinctrl_bluetooth>;
+ pinctrl-names = "default";
+ clock-names = "lpo";
+ clocks = <&wlbt_clock>;
+ device-wakeup-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
+ host-wakeup-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>;
+ max-speed = <3000000>;
+ shutdown-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
+ vbat-supply = <®_vcc_3v3_sw>;
+ vddio-supply = <®_vcc_1v8_exp_con>;
+ };
+};
+
+&usdhc1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-0 = <&pinctrl_usdhc1>;
+ pinctrl-names = "default";
+ bus-width = <4>;
+ max-frequency = <50000000>;
+ mmc-pwrseq = <&usdhc1_pwrseq>;
+ non-removable;
+ vmmc-supply = <®_vcc_3v3_sw>;
+ status = "okay";
+
+ wifi@1 {
+ compatible = "brcm,bcm4329-fmac";
+ reg = <1>;
+ pinctrl-0 = <&pinctrl_wifi>;
+ pinctrl-names = "default";
+ reset-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>;
+ };
+};
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts b/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts
index 7d34b820e3213a3832c5be47444d4e9c636a6202..90ec73068a6deb71554b62be951f3010a4e8c5c5 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts
@@ -119,6 +119,13 @@ reg_vcc_3v3_sw: regulator-vcc-3v3-sw {
regulator-max-microvolt = <3300000>;
};
+ reg_vcc_1v8_exp_con: regulator-vcc-1v8 {
+ compatible = "regulator-fixed";
+ regulator-max-microvolt = <1800000>;
+ regulator-min-microvolt = <1800000>;
+ regulator-name = "VCC_1V8_EXP_CON";
+ };
+
thermal-zones {
soc-thermal {
trips {
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH v2 0/4] arm64: dts: additions for imx8mp-phyboard-pollux
2025-12-05 9:33 [PATCH v2 0/4] arm64: dts: additions for imx8mp-phyboard-pollux Yannic Moog
` (3 preceding siblings ...)
2025-12-05 9:33 ` [PATCH v2 4/4] arm64: dts: imx8mp-phyboard-pollux: add PEB-WLBT-05 expansion board Yannic Moog
@ 2025-12-30 2:50 ` Shawn Guo
4 siblings, 0 replies; 6+ messages in thread
From: Shawn Guo @ 2025-12-30 2:50 UTC (permalink / raw)
To: Yannic Moog
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, upstream, devicetree, imx,
linux-arm-kernel, linux-kernel, Frank Li, Stefan Riedmueller,
Teresa Remmet
On Fri, Dec 05, 2025 at 10:33:24AM +0100, Yannic Moog wrote:
> This series adds missing miscellaneous hardware description to the
> respective device tree files as well as a bluetooth/wifi expansion
> board.
>
> - i2c3 (basis for camera overlays)
> - missing supply voltages
> - PEB-WLBT-05 expansion board
>
> ---
> Changes in v2:
> - improved wording of i2c3 commit description
> - removed regulator-always-on and regulator-boot-on properties
> - rebased
> - Link to v1: https://lore.kernel.org/r/20251020-imx8mp-dts-additions-v1-0-ea9ac5652b8b@phytec.de
>
> ---
> Stefan Riedmueller (1):
> arm64: dts: imx8mp-phyboard-pollux: Enable i2c3
>
> Yannic Moog (3):
> arm64: dts: imx8mp-phyboard-pollux: add fan-supply
> arm64: dts: imx8mp-phycore-som: add spi-nor supply vcc
> arm64: dts: imx8mp-phyboard-pollux: add PEB-WLBT-05 expansion board
Applied all, thanks!
^ permalink raw reply [flat|nested] 6+ messages in thread