]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: qcom: lemans-evk-camera: Add DT overlay
authorWenmeng Liu <quic_wenmliu@quicinc.com>
Fri, 15 Aug 2025 07:07:19 +0000 (15:07 +0800)
committerBjorn Andersson <andersson@kernel.org>
Mon, 27 Oct 2025 14:58:20 +0000 (09:58 -0500)
Enable IMX577 via CCI1 on Lemans EVK.

Signed-off-by: Wenmeng Liu <quic_wenmliu@quicinc.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Link: https://lore.kernel.org/r/20250815-rb8_camera-v2-3-6806242913ed@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso [new file with mode: 0644]

index 296688f7cb26550f75bce65826f234bc24110356..65a0e26b148cfbe80b998dbed26abcfa8c443321 100644 (file)
@@ -33,8 +33,10 @@ dtb-$(CONFIG_ARCH_QCOM)      += ipq9574-rdp454.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += lemans-evk.dtb
 
 lemans-evk-camera-csi1-imx577-dtbs     := lemans-evk.dtb lemans-evk-camera-csi1-imx577.dtbo
+lemans-evk-camera-dtbs := lemans-evk.dtb lemans-evk-camera.dtbo
 
 dtb-$(CONFIG_ARCH_QCOM)        += lemans-evk-camera-csi1-imx577.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += lemans-evk-camera.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += monaco-evk.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8216-samsung-fortuna3g.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8916-acer-a1-724.dtb
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso b/arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso
new file mode 100644 (file)
index 0000000..4600d54
--- /dev/null
@@ -0,0 +1,105 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2024-2025 Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+
+/*
+ * Camera Sensor overlay on top of leman evk core kit.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/qcom,sa8775p-camcc.h>
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+       vreg_cam1_1p8: vreg_cam1_1p8 {
+               compatible = "regulator-fixed";
+               regulator-name = "vreg_cam1_1p8";
+               startup-delay-us = <10000>;
+               enable-active-high;
+               gpio = <&pmm8654au_0_gpios 8 GPIO_ACTIVE_HIGH>;
+       };
+};
+
+&camcc {
+       status = "okay";
+};
+
+&camss {
+       vdda-pll-supply = <&vreg_l1c>;
+       vdda-phy-supply = <&vreg_l4a>;
+
+       status = "okay";
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@1 {
+                       reg = <1>;
+
+                       csiphy1_ep: endpoint {
+                               clock-lanes = <7>;
+                               data-lanes = <0 1 2 3>;
+                               remote-endpoint = <&imx577_ep1>;
+                       };
+               };
+       };
+};
+
+&cci1 {
+       pinctrl-0 = <&cci1_0_default>;
+       pinctrl-1 = <&cci1_0_sleep>;
+
+       status = "okay";
+};
+
+&cci1_i2c0 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       camera@1a {
+               compatible = "sony,imx577";
+               reg = <0x1a>;
+
+               reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
+               pinctrl-0 = <&cam1_default>;
+               pinctrl-names = "default";
+
+               clocks = <&camcc CAM_CC_MCLK1_CLK>;
+               assigned-clocks = <&camcc CAM_CC_MCLK1_CLK>;
+               assigned-clock-rates = <24000000>;
+
+               dovdd-supply = <&vreg_s4a>;
+               avdd-supply = <&vreg_cam1_1p8>;
+
+               port {
+                       imx577_ep1: endpoint {
+                               clock-lanes = <7>;
+                               link-frequencies = /bits/ 64 <600000000>;
+                               data-lanes = <0 1 2 3>;
+                               remote-endpoint = <&csiphy1_ep>;
+                       };
+               };
+       };
+};
+
+&tlmm {
+       cam1_default: cam1-default-state {
+               mclk-pins {
+                       pins = "gpio73";
+                       function = "cam_mclk";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+
+               rst-pins {
+                       pins = "gpio133";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+};