public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK
@ 2026-01-05 11:48 Peng Fan (OSS)
  2026-01-05 11:48 ` [PATCH 1/7] arm64: dts: imx952: Add idle-states node Peng Fan (OSS)
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Peng Fan (OSS) @ 2026-01-05 11:48 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Peng Fan

Patch 1: Enable cpuidle for A55
Patch [2-7]: Enable wdog/usb/spi/uart/i2c for i.MX952-EVK

Patchset is based on Shawn's for-next tree, because Linux Next tree
is not updated.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
Peng Fan (7):
      arm64: dts: imx952: Add idle-states node
      arm64: dts: imx952-evk: Enable I2C[2,3,4,6,7] bus
      arm64: dts: imx952-evk: Enable UART5
      arm64: dts: imx952-evk: Enable SPI7
      arm64: dts: imx952-evk: Enable USB[1,2]
      arm64: dts: imx952-evk: Enable wdog3
      arm64: dts: imx952-evk: Add nxp,ctrl-ids for scmi misc

 arch/arm64/boot/dts/freescale/imx952-evk.dts | 302 +++++++++++++++++++++++++++
 arch/arm64/boot/dts/freescale/imx952.dtsi    |  18 ++
 2 files changed, 320 insertions(+)
---
base-commit: 01c3d32bd17362df2c94efded93a1866205c3fc3
change-id: 20260104-imx952-dts-7c0ba188bd62

Best regards,
-- 
Peng Fan <peng.fan@nxp.com>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/7] arm64: dts: imx952: Add idle-states node
  2026-01-05 11:48 [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK Peng Fan (OSS)
@ 2026-01-05 11:48 ` Peng Fan (OSS)
  2026-01-05 11:48 ` [PATCH 2/7] arm64: dts: imx952-evk: Enable I2C[2,3,4,6,7] bus Peng Fan (OSS)
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Peng Fan (OSS) @ 2026-01-05 11:48 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Add idle-states node and refer it in A55 nodes to enable cpuidle.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx952.dtsi | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx952.dtsi b/arch/arm64/boot/dts/freescale/imx952.dtsi
index 33bde271d394d19407562f2a427a8a84b85bd679..f1a50896bd4e3e178567ad1f0bfe4679746b9479 100644
--- a/arch/arm64/boot/dts/freescale/imx952.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx952.dtsi
@@ -50,12 +50,27 @@ cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
 
+		idle-states {
+			entry-method = "psci";
+
+			cpu_pd_wait: cpu-pd-wait {
+				compatible = "arm,idle-state";
+				arm,psci-suspend-param = <0x0010033>;
+				local-timer-stop;
+				entry-latency-us = <1000>;
+				exit-latency-us = <700>;
+				min-residency-us = <2700>;
+				wakeup-latency-us = <1500>;
+			};
+		};
+
 		A55_0: cpu@0 {
 			device_type = "cpu";
 			compatible = "arm,cortex-a55";
 			reg = <0x0>;
 			enable-method = "psci";
 			#cooling-cells = <2>;
+			cpu-idle-states = <&cpu_pd_wait>;
 			power-domains = <&scmi_perf IMX952_PERF_A55>;
 			power-domain-names = "perf";
 			i-cache-size = <32768>;
@@ -73,6 +88,7 @@ A55_1: cpu@100 {
 			reg = <0x100>;
 			enable-method = "psci";
 			#cooling-cells = <2>;
+			cpu-idle-states = <&cpu_pd_wait>;
 			power-domains = <&scmi_perf IMX952_PERF_A55>;
 			power-domain-names = "perf";
 			i-cache-size = <32768>;
@@ -90,6 +106,7 @@ A55_2: cpu@200 {
 			reg = <0x200>;
 			enable-method = "psci";
 			#cooling-cells = <2>;
+			cpu-idle-states = <&cpu_pd_wait>;
 			power-domains = <&scmi_perf IMX952_PERF_A55>;
 			power-domain-names = "perf";
 			i-cache-size = <32768>;
@@ -107,6 +124,7 @@ A55_3: cpu@300 {
 			reg = <0x300>;
 			enable-method = "psci";
 			#cooling-cells = <2>;
+			cpu-idle-states = <&cpu_pd_wait>;
 			power-domains = <&scmi_perf IMX952_PERF_A55>;
 			power-domain-names = "perf";
 			i-cache-size = <32768>;

-- 
2.37.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/7] arm64: dts: imx952-evk: Enable I2C[2,3,4,6,7] bus
  2026-01-05 11:48 [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK Peng Fan (OSS)
  2026-01-05 11:48 ` [PATCH 1/7] arm64: dts: imx952: Add idle-states node Peng Fan (OSS)
@ 2026-01-05 11:48 ` Peng Fan (OSS)
  2026-01-05 11:48 ` [PATCH 3/7] arm64: dts: imx952-evk: Enable UART5 Peng Fan (OSS)
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Peng Fan (OSS) @ 2026-01-05 11:48 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Enable I2C bus[2,3,4,6,7] and the io-expanders connected to each I2C bus.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx952-evk.dts | 166 +++++++++++++++++++++++++++
 1 file changed, 166 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx952-evk.dts b/arch/arm64/boot/dts/freescale/imx952-evk.dts
index 2c753fcbae3c5d545f5d835bd70492667061d626..53cbdf8389b670e9fc6d294e912736f51dc35aec 100644
--- a/arch/arm64/boot/dts/freescale/imx952-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx952-evk.dts
@@ -17,6 +17,14 @@ aliases {
 		gpio2 = &gpio3;
 		gpio3 = &gpio4;
 		gpio4 = &gpio5;
+		i2c0 = &lpi2c1;
+		i2c1 = &lpi2c2;
+		i2c2 = &lpi2c3;
+		i2c3 = &lpi2c4;
+		i2c4 = &lpi2c5;
+		i2c5 = &lpi2c6;
+		i2c6 = &lpi2c7;
+		i2c7 = &lpi2c8;
 		mmc0 = &usdhc1;
 		mmc1 = &usdhc2;
 		serial0 = &lpuart1;
@@ -79,6 +87,111 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
 	};
 };
 
+&lpi2c2 {
+	clock-frequency = <400000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_lpi2c2>;
+	status = "okay";
+
+	adp5585: io-expander@34 {
+		compatible = "adi,adp5585-00", "adi,adp5585";
+		reg = <0x34>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		gpio-reserved-ranges = <5 1>;
+		#pwm-cells = <3>;
+	};
+};
+
+&lpi2c3 {
+	clock-frequency = <400000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_lpi2c3>;
+	status = "okay";
+
+	i2c3_pcal6408: gpio@20 {
+		compatible = "nxp,pcal6408";
+		reg = <0x20>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		vcc-supply = <&reg_3p3v>;
+	};
+};
+
+&lpi2c4 {
+	clock-frequency = <400000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_lpi2c4>;
+	status = "okay";
+
+	i2c4_pcal6408: gpio@21 {
+		compatible = "nxp,pcal6408";
+		reg = <0x21>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		interrupt-parent = <&gpio2>;
+		interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_i2c4_pcal6408>;
+		vcc-supply = <&reg_3p3v>;
+	};
+};
+
+&lpi2c6 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_lpi2c6>;
+	status = "okay";
+
+	pcal6416: gpio@21 {
+		compatible = "nxp,pcal6416";
+		#gpio-cells = <2>;
+		gpio-controller;
+		reg = <0x21>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		interrupt-parent = <&gpio2>;
+		interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_pcal6416>;
+		vcc-supply = <&reg_3p3v>;
+
+		pdm-can-sel-hog {
+			gpio-hog;
+			gpios = <10 GPIO_ACTIVE_HIGH>;
+			output-low;
+		};
+
+		mqs-en-hog {
+			gpio-hog;
+			gpios = <15 GPIO_ACTIVE_HIGH>;
+			output-low;
+		};
+	};
+};
+
+&lpi2c7 {
+	clock-frequency = <1000000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_lpi2c7>;
+	status = "okay";
+
+	pcal6524: gpio@22 {
+		compatible = "nxp,pcal6524";
+		reg = <0x22>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_pcal6524>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		interrupt-parent = <&gpio5>;
+		interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
+	};
+};
+
 &lpuart1 {
 	/* console */
 	pinctrl-names = "default";
@@ -112,6 +225,59 @@ &usdhc2 {
 };
 
 &scmi_iomuxc {
+	pinctrl_lpi2c2: lpi2c2grp {
+		fsl,pins = <
+			IMX952_PAD_I2C2_SCL__AONMIX_TOP_LPI2C2_SCL		0x40000b9e
+			IMX952_PAD_I2C2_SDA__AONMIX_TOP_LPI2C2_SDA		0x40000b9e
+		>;
+	};
+
+	pinctrl_lpi2c3: lpi2c3grp {
+		fsl,pins = <
+			IMX952_PAD_GPIO_IO00__WAKEUPMIX_TOP_LPI2C3_SDA		0x40000b9e
+			IMX952_PAD_GPIO_IO01__WAKEUPMIX_TOP_LPI2C3_SCL		0x40000b9e
+		>;
+	};
+
+	pinctrl_lpi2c4: lpi2c4grp {
+		fsl,pins = <
+			IMX952_PAD_GPIO_IO30__WAKEUPMIX_TOP_LPI2C4_SDA		0x40000b9e
+			IMX952_PAD_GPIO_IO31__WAKEUPMIX_TOP_LPI2C4_SCL		0x40000b9e
+		>;
+	};
+
+	pinctrl_i2c4_pcal6408: i2c4pcal6408grp {
+		fsl,pins = <
+			IMX952_PAD_GPIO_IO18__WAKEUPMIX_TOP_GPIO2_IO_18		0x31e
+		>;
+	};
+
+	pinctrl_lpi2c6: lpi2c6grp {
+		fsl,pins = <
+			IMX952_PAD_GPIO_IO02__WAKEUPMIX_TOP_LPI2C6_SDA		0x40000b9e
+			IMX952_PAD_GPIO_IO03__WAKEUPMIX_TOP_LPI2C6_SCL		0x40000b9e
+		>;
+	};
+
+	pinctrl_lpi2c7: lpi2c7grp {
+		fsl,pins = <
+			IMX952_PAD_GPIO_IO08__WAKEUPMIX_TOP_LPI2C7_SDA		0x40000b9e
+			IMX952_PAD_GPIO_IO09__WAKEUPMIX_TOP_LPI2C7_SCL		0x40000b9e
+		>;
+	};
+
+	pinctrl_pcal6416: pcal6416grp {
+		fsl,pins = <
+			IMX952_PAD_GPIO_IO10__WAKEUPMIX_TOP_GPIO2_IO_10		0x31e
+		>;
+	};
+
+	pinctrl_pcal6524: pcal6524grp {
+		fsl,pins = <
+			IMX952_PAD_GPIO_IO36__WAKEUPMIX_TOP_GPIO5_IO_16		0x31e
+		>;
+	};
+
 	pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
 		fsl,pins = <
 			IMX952_PAD_SD2_RESET_B__WAKEUPMIX_TOP_GPIO3_IO_7	0x31e

-- 
2.37.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/7] arm64: dts: imx952-evk: Enable UART5
  2026-01-05 11:48 [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK Peng Fan (OSS)
  2026-01-05 11:48 ` [PATCH 1/7] arm64: dts: imx952: Add idle-states node Peng Fan (OSS)
  2026-01-05 11:48 ` [PATCH 2/7] arm64: dts: imx952-evk: Enable I2C[2,3,4,6,7] bus Peng Fan (OSS)
@ 2026-01-05 11:48 ` Peng Fan (OSS)
  2026-01-05 11:48 ` [PATCH 4/7] arm64: dts: imx952-evk: Enable SPI7 Peng Fan (OSS)
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Peng Fan (OSS) @ 2026-01-05 11:48 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Enable UART5 for using Bluetooth.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx952-evk.dts | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx952-evk.dts b/arch/arm64/boot/dts/freescale/imx952-evk.dts
index 53cbdf8389b670e9fc6d294e912736f51dc35aec..e324f9d4e22c95f36f8c203bd44097ed383d90a2 100644
--- a/arch/arm64/boot/dts/freescale/imx952-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx952-evk.dts
@@ -28,6 +28,7 @@ aliases {
 		mmc0 = &usdhc1;
 		mmc1 = &usdhc2;
 		serial0 = &lpuart1;
+		serial4 = &lpuart5;
 	};
 
 	chosen {
@@ -199,6 +200,17 @@ &lpuart1 {
 	status = "okay";
 };
 
+&lpuart5 {
+	/* BT */
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart5>;
+	status = "okay";
+
+	bluetooth {
+		compatible = "nxp,88w8987-bt";
+	};
+};
+
 &usdhc1 {
 	pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
 	pinctrl-0 = <&pinctrl_usdhc1>;
@@ -291,6 +303,15 @@ IMX952_PAD_UART1_TXD__AONMIX_TOP_LPUART1_TX		0x31e
 		>;
 	};
 
+	pinctrl_uart5: uart5grp {
+		fsl,pins = <
+			IMX952_PAD_DAP_TDO_TRACESWO__WAKEUPMIX_TOP_LPUART5_TX	0x31e
+			IMX952_PAD_DAP_TDI__WAKEUPMIX_TOP_LPUART5_RX		0x31e
+			IMX952_PAD_DAP_TMS_SWDIO__WAKEUPMIX_TOP_LPUART5_RTS_B	0x31e
+			IMX952_PAD_DAP_TCLK_SWCLK__WAKEUPMIX_TOP_LPUART5_CTS_B	0x31e
+		>;
+	};
+
 	pinctrl_usdhc1: usdhc1grp {
 		fsl,pins = <
 			IMX952_PAD_SD1_CLK__WAKEUPMIX_TOP_USDHC1_CLK		0x158e

-- 
2.37.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 4/7] arm64: dts: imx952-evk: Enable SPI7
  2026-01-05 11:48 [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK Peng Fan (OSS)
                   ` (2 preceding siblings ...)
  2026-01-05 11:48 ` [PATCH 3/7] arm64: dts: imx952-evk: Enable UART5 Peng Fan (OSS)
@ 2026-01-05 11:48 ` Peng Fan (OSS)
  2026-01-05 11:48 ` [PATCH 5/7] arm64: dts: imx952-evk: Enable USB[1,2] Peng Fan (OSS)
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Peng Fan (OSS) @ 2026-01-05 11:48 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Enable SPI7 for i.MX952-EVK.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx952-evk.dts | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx952-evk.dts b/arch/arm64/boot/dts/freescale/imx952-evk.dts
index e324f9d4e22c95f36f8c203bd44097ed383d90a2..3b5b345ef6fea037ad8b98366527d1c13415a269 100644
--- a/arch/arm64/boot/dts/freescale/imx952-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx952-evk.dts
@@ -29,6 +29,7 @@ aliases {
 		mmc1 = &usdhc2;
 		serial0 = &lpuart1;
 		serial4 = &lpuart5;
+		spi6 = &lpspi7;
 	};
 
 	chosen {
@@ -211,6 +212,13 @@ bluetooth {
 	};
 };
 
+&lpspi7 {
+	cs-gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_lpspi7>;
+	status = "okay";
+};
+
 &usdhc1 {
 	pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
 	pinctrl-0 = <&pinctrl_usdhc1>;
@@ -278,6 +286,15 @@ IMX952_PAD_GPIO_IO09__WAKEUPMIX_TOP_LPI2C7_SCL		0x40000b9e
 		>;
 	};
 
+	pinctrl_lpspi7: lpspi7grp {
+		fsl,pins = <
+			IMX952_PAD_GPIO_IO04__WAKEUPMIX_TOP_GPIO2_IO_4		0x3fe
+			IMX952_PAD_GPIO_IO05__WAKEUPMIX_TOP_LPSPI7_SIN		0x3fe
+			IMX952_PAD_GPIO_IO06__WAKEUPMIX_TOP_LPSPI7_SOUT		0x3fe
+			IMX952_PAD_GPIO_IO07__WAKEUPMIX_TOP_LPSPI7_SCK		0x3fe
+		>;
+	};
+
 	pinctrl_pcal6416: pcal6416grp {
 		fsl,pins = <
 			IMX952_PAD_GPIO_IO10__WAKEUPMIX_TOP_GPIO2_IO_10		0x31e

-- 
2.37.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 5/7] arm64: dts: imx952-evk: Enable USB[1,2]
  2026-01-05 11:48 [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK Peng Fan (OSS)
                   ` (3 preceding siblings ...)
  2026-01-05 11:48 ` [PATCH 4/7] arm64: dts: imx952-evk: Enable SPI7 Peng Fan (OSS)
@ 2026-01-05 11:48 ` Peng Fan (OSS)
  2026-01-05 11:48 ` [PATCH 6/7] arm64: dts: imx952-evk: Enable wdog3 Peng Fan (OSS)
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Peng Fan (OSS) @ 2026-01-05 11:48 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Enable USB[1,2] and add ptn5110 connected to USB1.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx952-evk.dts | 76 ++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx952-evk.dts b/arch/arm64/boot/dts/freescale/imx952-evk.dts
index 3b5b345ef6fea037ad8b98366527d1c13415a269..d90b8b512f0106253d9c0c58e4fa0e468ed1ea0e 100644
--- a/arch/arm64/boot/dts/freescale/imx952-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx952-evk.dts
@@ -5,6 +5,7 @@
 
 /dts-v1/;
 
+#include <dt-bindings/usb/pd.h>
 #include "imx952.dtsi"
 
 / {
@@ -87,6 +88,16 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
 		enable-active-high;
 		off-on-delay-us = <12000>;
 	};
+
+	reg_usb_vbus: regulator-vbus {
+		compatible = "regulator-fixed";
+		regulator-name = "USB_VBUS";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		gpio = <&pcal6524 3 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+	};
+
 };
 
 &lpi2c2 {
@@ -192,6 +203,40 @@ pcal6524: gpio@22 {
 		interrupt-parent = <&gpio5>;
 		interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
 	};
+
+	ptn5110: tcpc@50 {
+		compatible = "nxp,ptn5110", "tcpci";
+		reg = <0x50>;
+		interrupt-parent = <&gpio5>;
+		interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_ptn5110>;
+
+		typec_con: connector {
+			compatible = "usb-c-connector";
+			label = "USB-C";
+			power-role = "dual";
+			data-role = "dual";
+			try-power-role = "sink";
+			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+			sink-pdos = <PDO_FIXED(5000, 0, PDO_FIXED_USB_COMM)>;
+			op-sink-microwatt = <0>;
+			self-powered;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@0 {
+					reg = <0>;
+
+					typec1_dr_sw: endpoint {
+						remote-endpoint = <&usb1_drd_sw>;
+					};
+				};
+			};
+		};
+	};
 };
 
 &lpuart1 {
@@ -219,6 +264,31 @@ &lpspi7 {
 	status = "okay";
 };
 
+&usb1 {
+	dr_mode = "otg";
+	hnp-disable;
+	srp-disable;
+	adp-disable;
+	usb-role-switch;
+	disable-over-current;
+	samsung,picophy-pre-emp-curr-control = <3>;
+	samsung,picophy-dc-vol-level-adjust = <7>;
+	status = "okay";
+
+	port {
+		usb1_drd_sw: endpoint {
+			remote-endpoint = <&typec1_dr_sw>;
+		};
+	};
+};
+
+&usb2 {
+	dr_mode = "host";
+	disable-over-current;
+	vbus-supply = <&reg_usb_vbus>;
+	status = "okay";
+};
+
 &usdhc1 {
 	pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
 	pinctrl-0 = <&pinctrl_usdhc1>;
@@ -307,6 +377,12 @@ IMX952_PAD_GPIO_IO36__WAKEUPMIX_TOP_GPIO5_IO_16		0x31e
 		>;
 	};
 
+	pinctrl_ptn5110: ptn5110grp {
+		fsl,pins = <
+			IMX952_PAD_GPIO_IO34__WAKEUPMIX_TOP_GPIO5_IO_14		     0x31e
+		>;
+	};
+
 	pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
 		fsl,pins = <
 			IMX952_PAD_SD2_RESET_B__WAKEUPMIX_TOP_GPIO3_IO_7	0x31e

-- 
2.37.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 6/7] arm64: dts: imx952-evk: Enable wdog3
  2026-01-05 11:48 [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK Peng Fan (OSS)
                   ` (4 preceding siblings ...)
  2026-01-05 11:48 ` [PATCH 5/7] arm64: dts: imx952-evk: Enable USB[1,2] Peng Fan (OSS)
@ 2026-01-05 11:48 ` Peng Fan (OSS)
  2026-01-05 11:48 ` [PATCH 7/7] arm64: dts: imx952-evk: Add nxp,ctrl-ids for scmi misc Peng Fan (OSS)
  2026-01-17  6:03 ` [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK Shawn Guo
  7 siblings, 0 replies; 9+ messages in thread
From: Peng Fan (OSS) @ 2026-01-05 11:48 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Enable wdog3 to allow System manager reset Linux.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx952-evk.dts | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx952-evk.dts b/arch/arm64/boot/dts/freescale/imx952-evk.dts
index d90b8b512f0106253d9c0c58e4fa0e468ed1ea0e..04de63e63faa35eeb8dba57a8adddde471b0b7e1 100644
--- a/arch/arm64/boot/dts/freescale/imx952-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx952-evk.dts
@@ -314,6 +314,11 @@ &usdhc2 {
 	status = "okay";
 };
 
+&wdog3 {
+	fsl,ext-reset-output;
+	status = "okay";
+};
+
 &scmi_iomuxc {
 	pinctrl_lpi2c2: lpi2c2grp {
 		fsl,pins = <

-- 
2.37.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 7/7] arm64: dts: imx952-evk: Add nxp,ctrl-ids for scmi misc
  2026-01-05 11:48 [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK Peng Fan (OSS)
                   ` (5 preceding siblings ...)
  2026-01-05 11:48 ` [PATCH 6/7] arm64: dts: imx952-evk: Enable wdog3 Peng Fan (OSS)
@ 2026-01-05 11:48 ` Peng Fan (OSS)
  2026-01-17  6:03 ` [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK Shawn Guo
  7 siblings, 0 replies; 9+ messages in thread
From: Peng Fan (OSS) @ 2026-01-05 11:48 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Add nxp,ctrl-ids in scmi_misc node for wakeup notification.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx952-evk.dts | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx952-evk.dts b/arch/arm64/boot/dts/freescale/imx952-evk.dts
index 04de63e63faa35eeb8dba57a8adddde471b0b7e1..d6cd6f279f5ac935b3603b5a4f6fb13b14816f65 100644
--- a/arch/arm64/boot/dts/freescale/imx952-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx952-evk.dts
@@ -8,6 +8,15 @@
 #include <dt-bindings/usb/pd.h>
 #include "imx952.dtsi"
 
+#define FALLING_EDGE		BIT(0)
+#define RISING_EDGE		BIT(1)
+
+#define BRD_SM_CTRL_SD3_WAKE		0x8000U /*!< PCAL6408A-0 */
+#define BRD_SM_CTRL_M2E_WAKE		0x8001U /*!< PCAL6408A-4 */
+#define BRD_SM_CTRL_BT_WAKE		0x8002U /*!< PCAL6408A-5 */
+#define BRD_SM_CTRL_M2M_WAKE		0x8003U /*!< PCAL6408A-6 */
+#define BRD_SM_CTRL_BUTTON		0x8004U /*!< PCAL6408A-7 */
+
 / {
 	model = "NXP i.MX952 EVK board";
 	compatible = "fsl,imx952-evk", "fsl,imx952";
@@ -264,6 +273,14 @@ &lpspi7 {
 	status = "okay";
 };
 
+&scmi_misc {
+	nxp,ctrl-ids = <BRD_SM_CTRL_SD3_WAKE		1
+			BRD_SM_CTRL_M2E_WAKE		1
+			BRD_SM_CTRL_BT_WAKE		1
+			BRD_SM_CTRL_M2M_WAKE		1
+			BRD_SM_CTRL_BUTTON		1>;
+};
+
 &usb1 {
 	dr_mode = "otg";
 	hnp-disable;

-- 
2.37.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK
  2026-01-05 11:48 [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK Peng Fan (OSS)
                   ` (6 preceding siblings ...)
  2026-01-05 11:48 ` [PATCH 7/7] arm64: dts: imx952-evk: Add nxp,ctrl-ids for scmi misc Peng Fan (OSS)
@ 2026-01-17  6:03 ` Shawn Guo
  7 siblings, 0 replies; 9+ messages in thread
From: Shawn Guo @ 2026-01-17  6:03 UTC (permalink / raw)
  To: Peng Fan (OSS)
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, devicetree, imx,
	linux-arm-kernel, linux-kernel, Peng Fan

On Mon, Jan 05, 2026 at 07:48:39PM +0800, Peng Fan (OSS) wrote:
> Peng Fan (7):
>       arm64: dts: imx952: Add idle-states node
>       arm64: dts: imx952-evk: Enable I2C[2,3,4,6,7] bus
>       arm64: dts: imx952-evk: Enable UART5
>       arm64: dts: imx952-evk: Enable SPI7
>       arm64: dts: imx952-evk: Enable USB[1,2]
>       arm64: dts: imx952-evk: Enable wdog3
>       arm64: dts: imx952-evk: Add nxp,ctrl-ids for scmi misc

Applied all, thanks!

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-01-17  6:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-05 11:48 [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK Peng Fan (OSS)
2026-01-05 11:48 ` [PATCH 1/7] arm64: dts: imx952: Add idle-states node Peng Fan (OSS)
2026-01-05 11:48 ` [PATCH 2/7] arm64: dts: imx952-evk: Enable I2C[2,3,4,6,7] bus Peng Fan (OSS)
2026-01-05 11:48 ` [PATCH 3/7] arm64: dts: imx952-evk: Enable UART5 Peng Fan (OSS)
2026-01-05 11:48 ` [PATCH 4/7] arm64: dts: imx952-evk: Enable SPI7 Peng Fan (OSS)
2026-01-05 11:48 ` [PATCH 5/7] arm64: dts: imx952-evk: Enable USB[1,2] Peng Fan (OSS)
2026-01-05 11:48 ` [PATCH 6/7] arm64: dts: imx952-evk: Enable wdog3 Peng Fan (OSS)
2026-01-05 11:48 ` [PATCH 7/7] arm64: dts: imx952-evk: Add nxp,ctrl-ids for scmi misc Peng Fan (OSS)
2026-01-17  6:03 ` [PATCH 0/7] arm64: dts: imx952: Enable various node for i.MX952-EVK Shawn Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox