[PATCH v3 3/3] arm64: dts: qcom: sm7225-fairphone-fp4: Add Sony IMX576 front camera support
Himanshu Bhavani <[email protected]> Thu, 6 Aug 2026 17:32:09 +0530
| Newsgroups | org.kernel.vger.linux-media,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Hardevsinh Palaniya <[email protected]> Add device tree support for the Sony IMX576 front camera sensor and connect it to CAMSS via CSIPHY3. Signed-off-by: Hardevsinh Palaniya <[email protected]> Signed-off-by: Himanshu Bhavani <[email protected]> --- 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 9ecd17e0b6a0..5db18f6c1be6 100644 --- a/arch/arm64/boot/dts/qcom/sm6350.dtsi +++ b/arch/arm64/boot/dts/qcom/sm6350.dtsi @@ -2926,6 +2926,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 711a120753ad..452fc649ddb3 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