devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] arm64: dts: st: enable camera on stm32mp2x-dk and correct stm32mp2x-ev
@ 2026-09-14  6:54 Alain Volmat
  2026-09-14  6:54 ` [PATCH 1/4] arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp257f-dk Alain Volmat
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Alain Volmat @ 2026-09-14  6:54 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin,
	Alexandre Torgue
  Cc: devicetree, linux-stm32, linux-arm-kernel, linux-kernel,
	Alain Volmat, Hugues Fruchet

This series enables the camera pipeline on stm32mp235f-dk and
stm32mp257f-dk boards via usage of the CSI IMX335 sensor connected
to the CSI / DCMIPP of the STM32MP2x.
It also perform 2 corrections to the stm32mp257f-ev1 board to ensure
that the IMX335 is well enabled.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
---
Alain Volmat (4):
      arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp257f-dk
      arm64: dts: st: ensure IMX335 is enabled on stm32mp257f-ev1
      arm64: dts: st: use video-interfaces media bus type in stm32mp257f-ev1
      arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp235f-dk

 arch/arm64/boot/dts/st/stm32mp235f-dk.dts  | 75 ++++++++++++++++++++++++++++++
 arch/arm64/boot/dts/st/stm32mp257f-dk.dts  | 74 +++++++++++++++++++++++++++++
 arch/arm64/boot/dts/st/stm32mp257f-ev1.dts | 45 +++++++-----------
 3 files changed, 165 insertions(+), 29 deletions(-)
---
base-commit: 2f92d900f262a16c8ae02daf53ae2910d07185f5
change-id: 20260913-stm32mp2-dk-camera-7ad3ac8d3075

Best regards,
--  
Alain Volmat <alain.volmat@foss.st.com>


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

* [PATCH 1/4] arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp257f-dk
  2026-09-14  6:54 [PATCH 0/4] arm64: dts: st: enable camera on stm32mp2x-dk and correct stm32mp2x-ev Alain Volmat
@ 2026-09-14  6:54 ` Alain Volmat
  2026-09-14  7:03   ` sashiko-bot
  2026-09-14  6:54 ` [PATCH 2/4] arm64: dts: st: ensure IMX335 is enabled on stm32mp257f-ev1 Alain Volmat
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Alain Volmat @ 2026-09-14  6:54 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin,
	Alexandre Torgue
  Cc: devicetree, linux-stm32, linux-arm-kernel, linux-kernel,
	Alain Volmat

Add all nodes necessary for the imx335 camera capture via csi / dcmipp
on stm32mp257f discovery board.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
---
 arch/arm64/boot/dts/st/stm32mp257f-dk.dts | 74 +++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

diff --git a/arch/arm64/boot/dts/st/stm32mp257f-dk.dts b/arch/arm64/boot/dts/st/stm32mp257f-dk.dts
index 8daf3dfd5133..39ad23d95069 100644
--- a/arch/arm64/boot/dts/st/stm32mp257f-dk.dts
+++ b/arch/arm64/boot/dts/st/stm32mp257f-dk.dts
@@ -9,6 +9,7 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/leds/common.h>
+#include <dt-bindings/media/video-interfaces.h>
 #include "stm32mp257.dtsi"
 #include "stm32mp25xf.dtsi"
 #include "stm32mp25-pinctrl.dtsi"
@@ -27,6 +28,14 @@ chosen {
 		stdout-path = "serial0:115200n8";
 	};
 
+	clocks {
+		clk_ext_camera: clk-ext-camera {
+			#clock-cells = <0>;
+			compatible = "fixed-clock";
+			clock-frequency = <24000000>;
+		};
+	};
+
 	gpio-keys {
 		compatible = "gpio-keys";
 
@@ -138,6 +147,42 @@ &arm_wdt {
 	status = "okay";
 };
 
+&csi {
+	vdd-supply =  <&scmi_vddcore>;
+	vdda18-supply = <&scmi_v1v8>;
+	status = "okay";
+
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		port@0 {
+			reg = <0>;
+			csi_sink: endpoint {
+				remote-endpoint = <&imx335_ep>;
+				data-lanes = <1 2>;
+				bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
+			};
+		};
+		port@1 {
+			reg = <1>;
+			csi_source: endpoint {
+				remote-endpoint = <&dcmipp_0>;
+			};
+		};
+	};
+};
+
+&dcmipp {
+	status = "okay";
+
+	port {
+		dcmipp_0: endpoint {
+			remote-endpoint = <&csi_source>;
+			bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
+		};
+	};
+};
+
 &ethernet1 {
 	pinctrl-0 = <&eth1_rgmii_pins_b>;
 	pinctrl-1 = <&eth1_rgmii_sleep_pins_b>;
@@ -160,6 +205,16 @@ phy1_eth1: ethernet-phy@1 {
 	};
 };
 
+&gpiob {
+	/* Enable the IMX335 power line */
+	imx335-en-hog {
+		gpio-hog;
+		gpios = <11 GPIO_ACTIVE_HIGH>;
+		output-high;
+		line-name = "imx335_en";
+	};
+};
+
 &i2c2 {
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&i2c2_pins_b>;
@@ -172,6 +227,25 @@ &i2c2 {
 	/delete-property/dmas;
 	/delete-property/dma-names;
 
+	imx335: camera@1a {
+		compatible = "sony,imx335";
+		reg = <0x1a>;
+		clocks = <&clk_ext_camera>;
+		avdd-supply = <&scmi_v3v3>;
+		ovdd-supply = <&scmi_v3v3>;
+		dvdd-supply = <&scmi_v3v3>;
+		reset-gpios = <&gpiob 1 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>;
+
+		port {
+			imx335_ep: endpoint {
+				remote-endpoint = <&csi_sink>;
+				clock-lanes = <0>;
+				data-lanes = <1 2>;
+				link-frequencies = /bits/ 64 <594000000>;
+			};
+		};
+	};
+
 	ili2511: ili2511@41 {
 		compatible = "ilitek,ili251x";
 		reg = <0x41>;

-- 
2.34.1


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

* [PATCH 2/4] arm64: dts: st: ensure IMX335 is enabled on stm32mp257f-ev1
  2026-09-14  6:54 [PATCH 0/4] arm64: dts: st: enable camera on stm32mp2x-dk and correct stm32mp2x-ev Alain Volmat
  2026-09-14  6:54 ` [PATCH 1/4] arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp257f-dk Alain Volmat
@ 2026-09-14  6:54 ` Alain Volmat
  2026-09-14  7:01   ` sashiko-bot
  2026-09-14  6:54 ` [PATCH 3/4] arm64: dts: st: use video-interfaces media bus type in stm32mp257f-ev1 Alain Volmat
  2026-09-14  6:54 ` [PATCH 4/4] arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp235f-dk Alain Volmat
  3 siblings, 1 reply; 7+ messages in thread
From: Alain Volmat @ 2026-09-14  6:54 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin,
	Alexandre Torgue
  Cc: devicetree, linux-stm32, linux-arm-kernel, linux-kernel,
	Alain Volmat, Hugues Fruchet

Set the GPIO enable line for the IMX335 camera via a GPIO hog
in order to ensure it is well enabled.

Use scmi_v3v3 for imx335 regulators.
The 3 imx335 supplies are generated within the MB1854 and all come
from the v3v3 coming from the board.  Ensure that this regulator is
enabled by using the scmi_v3v3 as supplier of the imx335.

Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
---
 arch/arm64/boot/dts/st/stm32mp257f-ev1.dts | 40 ++++++++++--------------------
 1 file changed, 13 insertions(+), 27 deletions(-)

diff --git a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
index 12b4018edeb0..acc730146287 100644
--- a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
+++ b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
@@ -72,30 +72,6 @@ ddr_channel: sdram-channel-0 {
 		io-width = <32>;
 	};
 
-	imx335_2v9: regulator-2v9 {
-		compatible = "regulator-fixed";
-		regulator-name = "imx335-avdd";
-		regulator-min-microvolt = <2900000>;
-		regulator-max-microvolt = <2900000>;
-		regulator-always-on;
-	};
-
-	imx335_1v8: regulator-1v8 {
-		compatible = "regulator-fixed";
-		regulator-name = "imx335-ovdd";
-		regulator-min-microvolt = <1800000>;
-		regulator-max-microvolt = <1800000>;
-		regulator-always-on;
-	};
-
-	imx335_1v2: regulator-1v2 {
-		compatible = "regulator-fixed";
-		regulator-name = "imx335-dvdd";
-		regulator-min-microvolt = <1200000>;
-		regulator-max-microvolt = <1200000>;
-		regulator-always-on;
-	};
-
 	memory@80000000 {
 		device_type = "memory";
 		reg = <0x0 0x80000000 0x1 0x0>;
@@ -253,6 +229,16 @@ phy0_eth2: ethernet-phy@1 {
 	};
 };
 
+&gpioi {
+	/* Enable the IMX335 power line */
+	imx335-en-hog {
+		gpio-hog;
+		gpios = <0 GPIO_ACTIVE_HIGH>;
+		output-high;
+		line-name = "imx335_en";
+	};
+};
+
 &i2c2 {
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&i2c2_pins_a>;
@@ -269,9 +255,9 @@ imx335: camera@1a {
 		compatible = "sony,imx335";
 		reg = <0x1a>;
 		clocks = <&clk_ext_camera>;
-		avdd-supply = <&imx335_2v9>;
-		ovdd-supply = <&imx335_1v8>;
-		dvdd-supply = <&imx335_1v2>;
+		avdd-supply = <&scmi_v3v3>;
+		ovdd-supply = <&scmi_v3v3>;
+		dvdd-supply = <&scmi_v3v3>;
 		reset-gpios = <&gpioi 7 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>;
 
 		port {

-- 
2.34.1


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

* [PATCH 3/4] arm64: dts: st: use video-interfaces media bus type in stm32mp257f-ev1
  2026-09-14  6:54 [PATCH 0/4] arm64: dts: st: enable camera on stm32mp2x-dk and correct stm32mp2x-ev Alain Volmat
  2026-09-14  6:54 ` [PATCH 1/4] arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp257f-dk Alain Volmat
  2026-09-14  6:54 ` [PATCH 2/4] arm64: dts: st: ensure IMX335 is enabled on stm32mp257f-ev1 Alain Volmat
@ 2026-09-14  6:54 ` Alain Volmat
  2026-09-14  6:54 ` [PATCH 4/4] arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp235f-dk Alain Volmat
  3 siblings, 0 replies; 7+ messages in thread
From: Alain Volmat @ 2026-09-14  6:54 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin,
	Alexandre Torgue
  Cc: devicetree, linux-stm32, linux-arm-kernel, linux-kernel,
	Alain Volmat

Use MEDIA_BUS_TYPE macro in stm32mp257f-ev1 for csi/dcmipp bus-type.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
---
 arch/arm64/boot/dts/st/stm32mp257f-ev1.dts | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
index acc730146287..782b4bb843ee 100644
--- a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
+++ b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
@@ -8,6 +8,7 @@
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/leds/common.h>
+#include <dt-bindings/media/video-interfaces.h>
 #include <dt-bindings/regulator/st,stm32mp25-regulator.h>
 #include "stm32mp257.dtsi"
 #include "stm32mp25xf.dtsi"
@@ -161,7 +162,7 @@ port@0 {
 			csi_sink: endpoint {
 				remote-endpoint = <&imx335_ep>;
 				data-lanes = <1 2>;
-				bus-type = <4>;
+				bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
 			};
 		};
 		port@1 {
@@ -178,7 +179,7 @@ &dcmipp {
 	port {
 		dcmipp_0: endpoint {
 			remote-endpoint = <&csi_source>;
-			bus-type = <4>;
+			bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
 		};
 	};
 };

-- 
2.34.1


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

* [PATCH 4/4] arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp235f-dk
  2026-09-14  6:54 [PATCH 0/4] arm64: dts: st: enable camera on stm32mp2x-dk and correct stm32mp2x-ev Alain Volmat
                   ` (2 preceding siblings ...)
  2026-09-14  6:54 ` [PATCH 3/4] arm64: dts: st: use video-interfaces media bus type in stm32mp257f-ev1 Alain Volmat
@ 2026-09-14  6:54 ` Alain Volmat
  3 siblings, 0 replies; 7+ messages in thread
From: Alain Volmat @ 2026-09-14  6:54 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin,
	Alexandre Torgue
  Cc: devicetree, linux-stm32, linux-arm-kernel, linux-kernel,
	Alain Volmat

Add all nodes necessary for the imx335 camera capture via csi / dcmipp
on stm32mp235f discovery board.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
---
 arch/arm64/boot/dts/st/stm32mp235f-dk.dts | 75 +++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/arch/arm64/boot/dts/st/stm32mp235f-dk.dts b/arch/arm64/boot/dts/st/stm32mp235f-dk.dts
index dd4efbe5a46e..f06b334dc9ce 100644
--- a/arch/arm64/boot/dts/st/stm32mp235f-dk.dts
+++ b/arch/arm64/boot/dts/st/stm32mp235f-dk.dts
@@ -9,6 +9,7 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/leds/common.h>
+#include <dt-bindings/media/video-interfaces.h>
 #include "stm32mp235.dtsi"
 #include "stm32mp23xf.dtsi"
 #include "stm32mp25-pinctrl.dtsi"
@@ -27,6 +28,14 @@ chosen {
 		stdout-path = "serial0:115200n8";
 	};
 
+	clocks {
+		clk_ext_camera: clk-ext-camera {
+			#clock-cells = <0>;
+			compatible = "fixed-clock";
+			clock-frequency = <24000000>;
+		};
+	};
+
 	gpio-keys {
 		compatible = "gpio-keys";
 
@@ -131,6 +140,42 @@ &arm_wdt {
 	status = "okay";
 };
 
+&csi {
+	vdd-supply =  <&scmi_vddcore>;
+	vdda18-supply = <&scmi_v1v8>;
+	status = "okay";
+
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		port@0 {
+			reg = <0>;
+			csi_sink: endpoint {
+				remote-endpoint = <&imx335_ep>;
+				data-lanes = <1 2>;
+				bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
+			};
+		};
+		port@1 {
+			reg = <1>;
+			csi_source: endpoint {
+				remote-endpoint = <&dcmipp_0>;
+			};
+		};
+	};
+};
+
+&dcmipp {
+	status = "okay";
+
+	port {
+		dcmipp_0: endpoint {
+			remote-endpoint = <&csi_source>;
+			bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
+		};
+	};
+};
+
 &ethernet1 {
 	pinctrl-0 = <&eth1_rgmii_pins_b>;
 	pinctrl-1 = <&eth1_rgmii_sleep_pins_b>;
@@ -153,6 +198,16 @@ phy1_eth1: ethernet-phy@1 {
 	};
 };
 
+&gpiob {
+	/* Enable the IMX335 power line */
+	imx335-en-hog {
+		gpio-hog;
+		gpios = <11 GPIO_ACTIVE_HIGH>;
+		output-high;
+		line-name = "imx335_en";
+	};
+};
+
 &i2c2 {
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&i2c2_pins_b>;
@@ -165,6 +220,26 @@ &i2c2 {
 	/delete-property/dmas;
 	/delete-property/dma-names;
 
+	imx335: camera@1a {
+		compatible = "sony,imx335";
+		reg = <0x1a>;
+		clocks = <&clk_ext_camera>;
+		avdd-supply = <&scmi_v3v3>;
+		ovdd-supply = <&scmi_v3v3>;
+		dvdd-supply = <&scmi_v3v3>;
+		reset-gpios = <&gpiob 1 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>;
+		status = "okay";
+
+		port {
+			imx335_ep: endpoint {
+				remote-endpoint = <&csi_sink>;
+				clock-lanes = <0>;
+				data-lanes = <1 2>;
+				link-frequencies = /bits/ 64 <594000000>;
+			};
+		};
+	};
+
 	ili2511: ili2511@41 {
 		compatible = "ilitek,ili251x";
 		reg = <0x41>;

-- 
2.34.1


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

* Re: [PATCH 2/4] arm64: dts: st: ensure IMX335 is enabled on stm32mp257f-ev1
  2026-09-14  6:54 ` [PATCH 2/4] arm64: dts: st: ensure IMX335 is enabled on stm32mp257f-ev1 Alain Volmat
@ 2026-09-14  7:01   ` sashiko-bot
  0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-09-14  7:01 UTC (permalink / raw)
  To: Alain Volmat; +Cc: devicetree, robh, conor+dt

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Using a GPIO hog to enable the camera's local regulator bypasses the regulator framework, breaking runtime power management and risking power sequencing violations.
--

commit b096d3a18793729d58affdc2e7b576dc33241f8d
Author: Alain Volmat <alain.volmat@foss.st.com>

arm64: dts: st: ensure IMX335 is enabled on stm32mp257f-ev1

This commit removes the dedicated fixed regulators for the IMX335 camera
and instead routes its supplies directly to the system scmi_v3v3 supply.
It also adds a GPIO hog to unconditionally drive the camera's enable pin high.

> diff --git a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
> --- a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
> +++ b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
[ ... ]
> +&gpioi {
> +	/* Enable the IMX335 power line */
> +	imx335-en-hog {
> +		gpio-hog;
> +		gpios = <0 GPIO_ACTIVE_HIGH>;
> +		output-high;
> +		line-name = "imx335_en";
> +	};
> +};

[Severity: Medium]
Does using a GPIO hog here bypass the regulator framework and break runtime
power management? 

Since the hog forces the regulator's enable pin HIGH unconditionally as soon
as the GPIO controller probes, the camera module appears to be powered on at
all times. Does this defeat the IMX335 driver's runtime PM which attempts to
manage the power sequences to save power?

[ ... ]
>  imx335: camera@1a {
>  		compatible = "sony,imx335";
>  		reg = <0x1a>;
>  		clocks = <&clk_ext_camera>;
> -		avdd-supply = <&imx335_2v9>;
> -		ovdd-supply = <&imx335_1v8>;
> -		dvdd-supply = <&imx335_1v2>;
> +		avdd-supply = <&scmi_v3v3>;
> +		ovdd-supply = <&scmi_v3v3>;
> +		dvdd-supply = <&scmi_v3v3>;
>  		reset-gpios = <&gpioi 7 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>;

[Severity: Medium]
By pointing the camera's supplies directly to the system supply instead of a
fixed regulator that owns the enable GPIO, will the runtime PM toggle requests
from the IMX335 driver be ignored by the actual hardware?

If the main scmi_v3v3 supply is disabled during suspend while the GPIO block
remains active, the EN pin might be driven HIGH into an unpowered regulator.
Could this risk hardware back-powering via ESD diodes?

Should this enable GPIO be modeled as a fixed regulator instead of a hog to
maintain proper power sequencing?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260914-stm32mp2-dk-camera-v1-0-2f2bd719bb63@foss.st.com?part=2

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

* Re: [PATCH 1/4] arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp257f-dk
  2026-09-14  6:54 ` [PATCH 1/4] arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp257f-dk Alain Volmat
@ 2026-09-14  7:03   ` sashiko-bot
  0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-09-14  7:03 UTC (permalink / raw)
  To: Alain Volmat; +Cc: conor+dt, devicetree, robh

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Using a `gpio-hog` to enable the IMX335 power line circumvents the camera driver's runtime power management.
--

commit 933d75b3c84530835787fe0315d18eced64336b3
Author: Alain Volmat <alain.volmat@foss.st.com>

arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp257f-dk

This commit adds all nodes necessary for the imx335 camera capture via CSI
and DCMIPP on the stm32mp257f discovery board.

> diff --git a/arch/arm64/boot/dts/st/stm32mp257f-dk.dts b/arch/arm64/boot/dts/st/stm32mp257f-dk.dts
> index 8daf3dfd51339..39ad23d95069c 100644
> --- a/arch/arm64/boot/dts/st/stm32mp257f-dk.dts
> +++ b/arch/arm64/boot/dts/st/stm32mp257f-dk.dts

[ ... ]

> @@ -160,6 +205,16 @@ phy1_eth1: ethernet-phy@1 {
>  	};
>  };
>  
> +&gpiob {
> +	/* Enable the IMX335 power line */
> +	imx335-en-hog {
> +		gpio-hog;

[Severity: Medium]
Does using a gpio-hog to enable the IMX335 power line circumvent the camera
driver's runtime power management?

By permanently asserting the power line upon boot, the IMX335 camera sensor
remains fully powered at all times, preventing the system from reducing power
draw when the camera is not active. This wastes energy and breaks the expected
runtime power management.

> +		gpios = <11 GPIO_ACTIVE_HIGH>;
> +		output-high;
> +		line-name = "imx335_en";
> +	};
> +};
>  
>  &i2c2 {

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260914-stm32mp2-dk-camera-v1-0-2f2bd719bb63@foss.st.com?part=1

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

end of thread, other threads:[~2026-09-14  7:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-14  6:54 [PATCH 0/4] arm64: dts: st: enable camera on stm32mp2x-dk and correct stm32mp2x-ev Alain Volmat
2026-09-14  6:54 ` [PATCH 1/4] arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp257f-dk Alain Volmat
2026-09-14  7:03   ` sashiko-bot
2026-09-14  6:54 ` [PATCH 2/4] arm64: dts: st: ensure IMX335 is enabled on stm32mp257f-ev1 Alain Volmat
2026-09-14  7:01   ` sashiko-bot
2026-09-14  6:54 ` [PATCH 3/4] arm64: dts: st: use video-interfaces media bus type in stm32mp257f-ev1 Alain Volmat
2026-09-14  6:54 ` [PATCH 4/4] arm64: dts: st: add imx335/csi/dcmipp nodes on stm32mp235f-dk Alain Volmat

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).