]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: qcom: talos-evk-camera: Add DT overlay
authorWenmeng Liu <wenmeng.liu@oss.qualcomm.com>
Thu, 5 Mar 2026 09:48:16 +0000 (17:48 +0800)
committerBjorn Andersson <andersson@kernel.org>
Thu, 2 Apr 2026 21:03:18 +0000 (16:03 -0500)
Enable IMX577 via CCI on Talos EVK Core Kit.

The Talos EVK board does not include a camera sensor
by default. This DTSO has enabled the Arducam 12.3MP
IMX577 Mini Camera Module on the CSI-1 interface.
CSI-1 interface using mclk2 as the MCLK source on this board.

Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260305-sm6150_evk-v6-5-38ce4360d5e0@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/talos-evk-camera-imx577.dtso [new file with mode: 0644]
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi

index ce327b6d51319492f5f6312d8968f432d4d57247..09159d48faea85a418c9dc1fea0f07f90e601c06 100644 (file)
@@ -394,6 +394,9 @@ dtb-$(CONFIG_ARCH_QCOM)     += sm8750-qrd.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += talos-evk.dtb
 talos-evk-usb1-peripheral-dtbs := talos-evk.dtb talos-evk-usb1-peripheral.dtbo
 dtb-$(CONFIG_ARCH_QCOM) += talos-evk-usb1-peripheral.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += talos-evk-camera-imx577.dtbo
+talos-evk-camera-imx577-dtbs   := talos-evk.dtb talos-evk-camera-imx577.dtbo
+dtb-$(CONFIG_ARCH_QCOM)        += talos-evk-camera-imx577.dtb
 talos-evk-lvds-auo,g133han01-dtbs      := \
        talos-evk.dtb talos-evk-lvds-auo,g133han01.dtbo
 dtb-$(CONFIG_ARCH_QCOM)        += talos-evk-lvds-auo,g133han01.dtb
diff --git a/arch/arm64/boot/dts/qcom/talos-evk-camera-imx577.dtso b/arch/arm64/boot/dts/qcom/talos-evk-camera-imx577.dtso
new file mode 100644 (file)
index 0000000..e0c385e
--- /dev/null
@@ -0,0 +1,63 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/qcom,qcs615-camcc.h>
+#include <dt-bindings/gpio/gpio.h>
+
+&camss {
+       vdd-csiphy-1p2-supply = <&vreg_l11a>;
+       vdd-csiphy-1p8-supply = <&vreg_l12a>;
+
+       status = "okay";
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@1 {
+                       reg = <1>;
+
+                       csiphy1_ep: endpoint {
+                               data-lanes = <0 1 2 3>;
+                               remote-endpoint = <&imx577_ep>;
+                       };
+               };
+       };
+};
+
+&cci {
+       status = "okay";
+};
+
+&cci_i2c1 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       camera@1a {
+               compatible = "sony,imx577";
+               reg = <0x1a>;
+
+               reset-gpios = <&tlmm 29 GPIO_ACTIVE_LOW>;
+               pinctrl-0 = <&cam_mclk2_default &cam1_reset_default>;
+               pinctrl-names = "default";
+
+               clocks = <&camcc CAM_CC_MCLK2_CLK>;
+               assigned-clocks = <&camcc CAM_CC_MCLK2_CLK>;
+               assigned-clock-rates = <24000000>;
+
+               avdd-supply = <&vreg_s4a>;
+
+               port {
+                       imx577_ep: endpoint {
+                               link-frequencies = /bits/ 64 <600000000>;
+                               data-lanes = <1 2 3 4>;
+                               remote-endpoint = <&csiphy1_ep>;
+                       };
+               };
+       };
+};
index 1720f175719a060eb697fbbdf9578775d8d7ccd3..294354c034c37cdc7a25a20783c8425f26778313 100644 (file)
                bias-pull-down;
        };
 
+       cam1_reset_default: cam1-reset-default-state {
+               pins = "gpio29";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        pcie_default_state: pcie-default-state {
                clkreq-pins {
                        pins = "gpio90";