Devicetree
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: qcom: sm7225-fairphone-fp4: Add Sony IMX576 front camera support
@ 2026-10-09  8:50 Himanshu Bhavani
  2026-10-09  9:03 ` sashiko-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Himanshu Bhavani @ 2026-10-09  8:50 UTC (permalink / raw)
  Cc: tarang.raval, konradybcio, Hardevsinh Palaniya, Himanshu Bhavani,
	Konrad Dybcio, Bjorn Andersson, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel

From: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io>

Add device tree support for the Sony IMX576 front camera
sensor and connect it to CAMSS via CSIPHY3.

Signed-off-by: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io>
Signed-off-by: Himanshu Bhavani <himanshu.bhavani@siliconsignals.io>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/sm6350.dtsi          |  7 +++
 .../boot/dts/qcom/sm7225-fairphone-fp4.dts    | 54 ++++++++++++++++++-
 2 files changed, 60 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sm6350.dtsi b/arch/arm64/boot/dts/qcom/sm6350.dtsi
index e0506fada32d..6b1371ea5d59 100644
--- a/arch/arm64/boot/dts/qcom/sm6350.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6350.dtsi
@@ -2928,6 +2928,13 @@ cci2_sleep: cci2-sleep-state {
 				bias-pull-down;
 			};
 
+			cam_mclk1_default: cam-mclk1-default-state {
+				pins = "gpio30";
+				function = "cam_mclk1";
+				drive-strength = <2>;
+				bias-disable;
+			};
+
 			sdc2_off_state: sdc2-off-state {
 				clk-pins {
 					pins = "sdc2_clk";
diff --git a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
index 773304b4759e..37aa272019cc 100644
--- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
+++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
@@ -17,6 +17,8 @@
 #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/leds/common.h>
+#include <dt-bindings/media/video-interfaces.h>
+#include <dt-bindings/media/video-interface-devices.h>
 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 #include <dt-bindings/sound/qcom,q6asm.h>
@@ -547,6 +549,29 @@ vreg_bob: bob {
 	};
 };
 
+&camss {
+	vdd-csiphy0-0p9-supply = <&vreg_l18a>;
+	vdd-csiphy0-1p25-supply = <&vreg_l22a>;
+	vdd-csiphy1-0p9-supply = <&vreg_l18a>;
+	vdd-csiphy1-1p25-supply = <&vreg_l22a>;
+	vdd-csiphy2-0p9-supply = <&vreg_l18a>;
+	vdd-csiphy2-1p25-supply = <&vreg_l22a>;
+	vdd-csiphy3-0p9-supply = <&vreg_l18a>;
+	vdd-csiphy3-1p25-supply = <&vreg_l22a>;
+
+	status = "okay";
+
+	ports {
+		port@3 {
+			csiphy3_ep: endpoint {
+				data-lanes = <0 1 2 3>;
+				bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
+				remote-endpoint = <&camera_imx576_ep>;
+			};
+		};
+	};
+};
+
 &cci0 {
 	status = "okay";
 };
@@ -581,7 +606,34 @@ &cci1 {
 };
 
 &cci1_i2c0 {
-	/* Front cam (Sony IMX576) @ 0x10 */
+	camera@10 {
+		compatible = "sony,imx576";
+		reg = <0x10>;
+
+		vana-supply = <&vreg_l3p>;
+		vif-supply = <&vreg_l6p>;
+		vdig-supply = <&vreg_32m_cam_dvdd_1p05>;
+
+		clocks = <&camcc CAMCC_MCLK1_CLK>;
+		assigned-clocks = <&camcc CAMCC_MCLK1_CLK>;
+		assigned-clock-rates = <24000000>;
+
+		reset-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
+		pinctrl-0 = <&cam_mclk1_default>;
+		pinctrl-names = "default";
+
+		orientation = <MEDIA_ORIENTATION_FRONT>;
+		rotation = <90>;
+
+		port {
+			camera_imx576_ep: endpoint {
+				data-lanes = <1 2 3 4>;
+				bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
+				link-frequencies = /bits/ 64 <1017000000>;
+				remote-endpoint = <&csiphy3_ep>;
+			};
+		};
+	};
 
 	eeprom@50 {
 		compatible = "giantec,gt24p64a", "atmel,24c64";
-- 
2.34.1


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

* Re: [PATCH] arm64: dts: qcom: sm7225-fairphone-fp4: Add Sony IMX576 front camera support
  2026-10-09  8:50 [PATCH] arm64: dts: qcom: sm7225-fairphone-fp4: Add Sony IMX576 front camera support Himanshu Bhavani
@ 2026-10-09  9:03 ` sashiko-bot
  0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-10-09  9:03 UTC (permalink / raw)
  To: Himanshu Bhavani; +Cc: conor+dt, devicetree, robh

Thank you for your contribution! Sashiko AI review found 4 potential issue(s) to consider:
- [Low] dts: missing video-interface-devices.h header breaks build
- [Low] dts: undefined &camss label reference breaks build
- [Low] dts: missing reg property on unit-addressed port@3 node
- [Low] dts: undocumented compatible string sony,imx576
--

commit e48e7d28c163e33e1162a6d841602d728e3532e7
Author: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io>

arm64: dts: qcom: sm7225-fairphone-fp4: Add Sony IMX576 front camera support

This commit adds device tree support for the Sony IMX576 front camera
sensor and connects it to CAMSS via CSIPHY3.

[ ... ]
> diff --git a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
> index 5d20ad93b0c54..b0c9b103cdc9c 100644
> --- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
> +++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
> @@ -17,6 +17,8 @@
>  #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
>  #include <dt-bindings/input/input.h>
>  #include <dt-bindings/leds/common.h>
> +#include <dt-bindings/media/video-interfaces.h>
> +#include <dt-bindings/media/video-interface-devices.h>

[Severity: Low]
Is it possible this include breaks the device tree compilation? The
dt-bindings/media/video-interface-devices.h header does not seem to exist in
the tree, and the C preprocessor will fail to find it.

>  #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
>  #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
>  #include <dt-bindings/sound/qcom,q6asm.h>
> @@ -547,6 +549,29 @@ vreg_bob: bob {
>  	};
>  };
>  
> +&camss {

[Severity: Low]
Does this node reference an undefined label? The camss label does not appear
to be defined in sm6350.dtsi, sm7225.dtsi, or any other included device tree
file, which would result in a fatal device tree compiler error.

> +	vdd-csiphy0-0p9-supply = <&vreg_l18a>;
> +	vdd-csiphy0-1p25-supply = <&vreg_l22a>;
> +	vdd-csiphy1-0p9-supply = <&vreg_l18a>;
> +	vdd-csiphy1-1p25-supply = <&vreg_l22a>;
> +	vdd-csiphy2-0p9-supply = <&vreg_l18a>;
> +	vdd-csiphy2-1p25-supply = <&vreg_l22a>;
> +	vdd-csiphy3-0p9-supply = <&vreg_l18a>;
> +	vdd-csiphy3-1p25-supply = <&vreg_l22a>;
> +
> +	status = "okay";
> +
> +	ports {
> +		port@3 {

[Severity: Low]
Should this unit-addressed node include a reg property? Device tree
specifications require nodes with a unit address like port@3 to have a
corresponding reg or ranges property. Omitting it causes a dtc warning
(unit_address_vs_reg) and fails schema validation.

> +			csiphy3_ep: endpoint {
> +				data-lanes = <0 1 2 3>;
> +				bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
> +				remote-endpoint = <&camera_imx576_ep>;
> +			};
> +		};
> +	};
> +};
> +
[ ... ]
> @@ -581,7 +606,34 @@ &cci1 {
>  };
>  
>  &cci1_i2c0 {
> -	/* Front cam (Sony IMX576) @ 0x10 */
> +	camera@10 {
> +		compatible = "sony,imx576";

[Severity: Low]
Is this compatible string missing from the device tree bindings? There is no
corresponding YAML schema for sony,imx576 in Documentation/devicetree/bindings,
which will cause dtbs_check validation to fail.

> +		reg = <0x10>;
> +
> +		vana-supply = <&vreg_l3p>;
> +		vif-supply = <&vreg_l6p>;
> +		vdig-supply = <&vreg_32m_cam_dvdd_1p05>;
> +
> +		clocks = <&camcc CAMCC_MCLK1_CLK>;
> +		assigned-clocks = <&camcc CAMCC_MCLK1_CLK>;
> +		assigned-clock-rates = <24000000>;
> +
> +		reset-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
> +		pinctrl-0 = <&cam_mclk1_default>;
> +		pinctrl-names = "default";
> +
> +		orientation = <MEDIA_ORIENTATION_FRONT>;

[Severity: Low]
Will this macro correctly expand? MEDIA_ORIENTATION_FRONT relies on the
dt-bindings/media/video-interface-devices.h header, which as noted earlier
is missing from the kernel tree and will cause a build failure.

> +		rotation = <90>;
> +
> +		port {
> +			camera_imx576_ep: endpoint {
> +				data-lanes = <1 2 3 4>;
> +				bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
> +				link-frequencies = /bits/ 64 <1017000000>;
> +				remote-endpoint = <&csiphy3_ep>;
> +			};
> +		};
> +	};

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261009085041.181160-1-himanshu.bhavani@siliconsignals.io?part=1

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

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

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-09  8:50 [PATCH] arm64: dts: qcom: sm7225-fairphone-fp4: Add Sony IMX576 front camera support Himanshu Bhavani
2026-10-09  9:03 ` sashiko-bot

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