[PATCH v2 3/3] arm64: dts: qcom: sm7225-fairphone-fp4: Add Sony IMX576 front camera support

From: Himanshu Bhavani

Date: Fri Jun 19 2026 - 08:55:50 EST


From: Hardevsinh Palaniya <hardevsinh.palaniya@xxxxxxxxxxxxxxxxx>

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@xxxxxxxxxxxxxxxxx>
Signed-off-by: Himanshu Bhavani <himanshu.bhavani@xxxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 7 +++
.../boot/dts/qcom/sm7225-fairphone-fp4.dts | 53 ++++++++++++++++++-
2 files changed, 59 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sm6350.dtsi b/arch/arm64/boot/dts/qcom/sm6350.dtsi
index 4f5934cf290a..ad8e8b450afc 100644
--- a/arch/arm64/boot/dts/qcom/sm6350.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6350.dtsi
@@ -2848,6 +2848,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 3964aae47fd4..1cacd17e7c47 100644
--- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
+++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
@@ -17,6 +17,7 @@
#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/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/sound/qcom,q6asm.h>
@@ -547,6 +548,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 +605,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 = <0>; /* Front facing */
+ rotation = <90>;
+
+ port {
+ camera_imx576_ep: endpoint {
+ data-lanes = <1 2 3 4>;
+ bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
+ link-frequencies = /bits/ 64 <600000000>;
+ remote-endpoint = <&csiphy3_ep>;
+ };
+ };
+ };

eeprom@50 {
compatible = "giantec,gt24p64a", "atmel,24c64";
--
2.34.1