arm64: dts: qcom: lemans-evk: Add IMX577-based camera overlay

Enable IMX577 via CCI1 on LeMans EVK Core Kit.

The LeMans EVK board does not include a camera sensor
by default, this overlay reflects the possibility of
attaching an optional camera sensor.
For this reason, the camera sensor configuration is
placed in lemans-evk-camera.dtso, rather than
modifying the base lemans-evk.dts.

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Wenmeng Liu <quic_wenmliu@qualcomm.com>
Link: https://lore.kernel.org/r/20250912-camss_rb8-v6-3-c9a6c3d67392@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
pull/1354/merge
Wenmeng Liu 2025-09-12 23:19:27 +08:00 committed by Bjorn Andersson
parent 3964a91e55
commit b68fc45910
2 changed files with 101 additions and 0 deletions

View File

@ -30,6 +30,10 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp449.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb
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
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-camera-csi1-imx577.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

View File

@ -0,0 +1,97 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/clock/qcom,sa8775p-camcc.h>
#include <dt-bindings/gpio/gpio.h>
&{/} {
vreg_cam1_1p8: regulator-cam1 {
compatible = "regulator-fixed";
regulator-name = "vreg_cam1";
startup-delay-us = <10000>;
enable-active-high;
gpio = <&pmm8654au_0_gpios 8 GPIO_ACTIVE_HIGH>;
};
};
&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;
};
};
};