]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: qcm6490-fairphone-fp5: Add front camera support
authorLuca Weiss <luca.weiss@fairphone.com>
Thu, 19 Mar 2026 15:36:29 +0000 (16:36 +0100)
committerBjorn Andersson <andersson@kernel.org>
Mon, 30 Mar 2026 14:00:18 +0000 (09:00 -0500)
Add and configure the necessary nodes to enable the front camera
(Samsung S5KJN1), connected to CSIPHY 3.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Link: https://lore.kernel.org/r/20260319-fp5-s5kjn1-v3-2-9cf4b8c09567@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/kodiak.dtsi
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts

index 215e59ebdf61f8f1ff6687b9345775ef6c032951..988ca5f7c8a0ec5196c88881f529236c321ad617 100644 (file)
                        gpio-ranges = <&tlmm 0 0 175>;
                        wakeup-parent = <&pdc>;
 
+                       cam_mclk3_default: cam-mclk3-default-state {
+                               pins = "gpio67";
+                               function = "cam_mclk";
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+
                        cci0_default: cci0-default-state {
                                pins = "gpio69", "gpio70";
                                function = "cci_i2c";
index c9c24c36ba7eeabd83f4cce42199606b0b21302d..04cb9230d29fd1d2551d3ed2160e48de74a36354 100644 (file)
@@ -12,6 +12,7 @@
 #include <dt-bindings/iio/qcom,spmi-adc7-pm7325.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,q6asm.h>
        };
 };
 
+&camss {
+       vdda-phy-supply = <&vreg_l10c>;
+       vdda-pll-supply = <&vreg_l6b>;
+
+       status = "okay";
+
+       ports {
+               port@3 {
+                       csiphy3_ep: endpoint {
+                               data-lanes = <0 1 2 3>;
+                               bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
+                               remote-endpoint = <&camera_s5kjn1_ep>;
+                       };
+               };
+       };
+};
+
 &cci0 {
        status = "okay";
 };
 };
 
 &cci1_i2c1 {
-       /* S5KJN1SQ03 @ 10 */
+       camera@10 {
+               compatible = "samsung,s5kjn1";
+               reg = <0x10>;
+
+               vdda-supply = <&vreg_l3p>;
+               vddd-supply = <&vreg_l2p>;
+               vddio-supply = <&vreg_l6p>;
+
+               clocks = <&camcc CAM_CC_MCLK3_CLK>;
+               assigned-clocks = <&camcc CAM_CC_MCLK3_CLK>;
+               assigned-clock-rates = <24000000>;
+
+               reset-gpios = <&tlmm 78 GPIO_ACTIVE_LOW>;
+
+               pinctrl-0 = <&cam_mclk3_default>;
+               pinctrl-names = "default";
+
+               orientation = <0>; /* Front facing */
+               rotation = <270>;
+
+               port {
+                       camera_s5kjn1_ep: endpoint {
+                               data-lanes = <1 2 3 4>;
+                               link-frequencies = /bits/ 64 <700000000>;
+                               remote-endpoint = <&csiphy3_ep>;
+                       };
+               };
+       };
 
        eeprom@51 {
                compatible = "giantec,gt24p128f", "atmel,24c128";