[PATCH 4/4] arm64: dts: qcom: sm7325-nothing-spacewar: Add front camera support
Danila Tikhonov <[email protected]> Wed, 05 Aug 2026 22:54:27 +0300
| 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]> |
Add and configure the necessary nodes to enable the front camera (Sony IMX471), connected to CSIPHY 0. Signed-off-by: Danila Tikhonov <[email protected]> --- arch/arm64/boot/dts/qcom/kodiak.dtsi | 7 ++++ .../boot/dts/qcom/sm7325-nothing-spacewar.dts | 46 +++++++++++++++++++++- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi index f2da3706d5c8..9a66e65b2271 100644 --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi @@ -5852,6 +5852,13 @@ tlmm: pinctrl@f100000 { gpio-ranges = <&tlmm 0 0 175>; wakeup-parent = <&pdc>; + cam_mclk0_default: cam-mclk0-default-state { + pins = "gpio64"; + function = "cam_mclk"; + drive-strength = <2>; + bias-disable; + }; + cam_mclk3_default: cam-mclk3-default-state { pins = "gpio67"; function = "cam_mclk"; diff --git a/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts b/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts index 7db9ae1c3cef..272c56328686 100644 --- a/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts +++ b/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts @@ -12,6 +12,7 @@ #include <dt-bindings/iio/qcom,spmi-adc7-pm8350b.h> #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.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,q6afe.h> @@ -831,6 +832,23 @@ vreg_bob: bob { }; }; +&camss { + vdda-phy-supply = <&vreg_l10c_0p88>; + vdda-pll-supply = <&vreg_l6b_1p2>; + + status = "okay"; + + ports { + port@0 { + csiphy0_ep: endpoint { + data-lanes = <0 1 2 3>; + bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>; + remote-endpoint = <&camera_imx471_ep>; + }; + }; + }; +}; + &cci0 { /* * cci0_i2c1 bus is unused and GPIO 71&72 are repurposed. @@ -843,7 +861,33 @@ &cci0 { }; &cci0_i2c0 { - /* D-PHY sony,imx471 (Front) @ 0x1a */ + camf_imx471: camera@1a { + compatible = "sony,imx471"; + reg = <0x1a>; + + vana-supply = <&vreg_camf_vana_2p8>; + vdig-supply = <&vreg_camf_vdig_1p1>; + vif-supply = <&vreg_cam_vio_1p8>; + + clocks = <&camcc CAM_CC_MCLK0_CLK>; + assigned-clocks = <&camcc CAM_CC_MCLK0_CLK>; + assigned-clock-rates = <19200000>; + + reset-gpios = <&tlmm 20 GPIO_ACTIVE_LOW>; + pinctrl-0 = <&cam_mclk0_default>; + pinctrl-names = "default"; + + orientation = <0>; /* Front facing */ + rotation = <270>; + + port { + camera_imx471_ep: endpoint { + data-lanes = <1 2 3 4>; + link-frequencies = /bits/ 64 <200000000>; + remote-endpoint = <&csiphy0_ep>; + }; + }; + }; camf_p24c64f: eeprom@52 { compatible = "puya,p24c64f", -- 2.55.0