[PATCH 3/4] arm64: dts: qcom: monaco-evk-camera: Add DT overlay
From: Vikram Sharma <hidden>
Date: 2025-09-09 11:43:27
Also in:
linux-arm-kernel, linux-arm-msm, linux-media, lkml
Subsystem:
arm/qualcomm mailing list, arm/qualcomm support, the rest · Maintainers:
Bjorn Andersson, Konrad Dybcio, Linus Torvalds
From: Nihal Kumar Gupta <redacted> Enable IMX577 sensor using the CCI1 interface on Monaco EVK. Camera reset is controlled through an I2C expander, and power supply is managed via tlmm GPIO74. Co-developed-by: Ravi Shankar <redacted> Signed-off-by: Ravi Shankar <redacted> Co-developed-by: Vishal Verma <redacted> Signed-off-by: Vishal Verma <redacted> Signed-off-by: Nihal Kumar Gupta <redacted> Signed-off-by: Vikram Sharma <redacted> --- arch/arm64/boot/dts/qcom/Makefile | 4 + .../boot/dts/qcom/monaco-evk-camera.dtso | 98 +++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk-camera.dtso
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 0e4e0e0b833b..714eb4badf5a 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile@@ -31,6 +31,10 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp454.dtb dtb-$(CONFIG_ARCH_QCOM) += lemans-evk.dtb dtb-$(CONFIG_ARCH_QCOM) += monaco-evk.dtb + +monaco-evk-camera-dtbs := monaco-evk.dtb monaco-evk-camera.dtbo + +dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-camera.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8216-samsung-fortuna3g.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-acer-a1-724.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb
diff --git a/arch/arm64/boot/dts/qcom/monaco-evk-camera.dtso b/arch/arm64/boot/dts/qcom/monaco-evk-camera.dtso
new file mode 100644
index 000000000000..5831b4de6eca
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/monaco-evk-camera.dtso@@ -0,0 +1,98 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/* Camera Sensor overlay on top of Monaco EVK Core Kit */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/clock/qcom,sa8775p-camcc.h> +#include <dt-bindings/gpio/gpio.h> + +&{/} { + vreg_cam1_2p8: vreg_cam1_2p8 { + compatible = "regulator-fixed"; + regulator-name = "vreg_cam1_2p8"; + startup-delay-us = <10000>; + enable-active-high; + gpio = <&tlmm 74 GPIO_ACTIVE_HIGH>; + }; +}; + +&camss { + vdda-pll-supply = <&vreg_l5a>; + 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_i2c0_default>; + pinctrl-1 = <&cci1_i2c0_sleep>; + + status = "okay"; +}; + +&cci1_i2c0 { + #address-cells = <1>; + #size-cells = <0>; + + camera@1a { + compatible = "sony,imx577"; + reg = <0x1a>; + + reset-gpios = <&expander2 1 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>; + + avdd-supply = <&vreg_cam1_2p8>; + + 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 = "gpio68"; + function = "cam_mclk"; + drive-strength = <2>; + bias-disable; + }; + + ldo-avdd-pins { + pins = "gpio74"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + }; +};
--
2.25.1