[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5bd29b5f-6fcf-428d-b451-698d92f0883e@linaro.org>
Date: Tue, 16 Dec 2025 09:35:55 +0200
From: Vladimir Zapolskiy <vladimir.zapolskiy@...aro.org>
To: Nihal Kumar Gupta <quic_nihalkum@...cinc.com>,
bryan.odonoghue@...aro.org, mchehab@...nel.org, robh@...nel.org,
krzk+dt@...nel.org, conor+dt@...nel.org, andersson@...nel.org,
konradybcio@...nel.org, hverkuil-cisco@...all.nl,
cros-qcom-dts-watchers@...omium.org, catalin.marinas@....com, will@...nel.org
Cc: linux-arm-kernel@...ts.infradead.org, quic_svankada@...cinc.com,
linux-media@...r.kernel.org, linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Ravi Shankar <quic_rshankar@...cinc.com>,
Vishal Verma <quic_vishverm@...cinc.com>
Subject: Re: [PATCH v7 5/5] arm64: dts: qcom: monaco-evk-camera: Add DT
overlay
On 12/16/25 08:22, Nihal Kumar Gupta wrote:
> Monaco EVK board does not include a camera sensor in its default hardware
> configuration. Introducing a device tree overlay to support optional
> integration of the IMX577 sensor via CSIPHY1.
>
> Camera reset is handled through an I2C expander, and power is enabled
> via TLMM GPIO74.
>
> An example media-ctl pipeline for the imx577 is:
>
> media-ctl --reset
> media-ctl -V '"imx577 3-001a":0[fmt:SRGGB10/4056x3040 field:none]'
> media-ctl -V '"msm_csiphy1":0[fmt:SRGGB10/4056x3040]'
> media-ctl -V '"msm_csid0":0[fmt:SRGGB10/4056x3040]'
> media-ctl -V '"msm_vfe0_rdi0":0[fmt:SRGGB10/4056x3040]'
> media-ctl -l '"msm_csiphy1":1->"msm_csid0":0[1]'
> media-ctl -l '"msm_csid0":1->"msm_vfe0_rdi0":0[1]'
> yavta -B capture-mplane -c -I -n 5 -f SRGGB10P -s 4056x3040 -F /dev/video1
>
> Signed-off-by: Nihal Kumar Gupta <quic_nihalkum@...cinc.com>
> Co-developed-by: Ravi Shankar <quic_rshankar@...cinc.com>
> Signed-off-by: Ravi Shankar <quic_rshankar@...cinc.com>
> Co-developed-by: Vishal Verma <quic_vishverm@...cinc.com>
> Signed-off-by: Vishal Verma <quic_vishverm@...cinc.com>
> Signed-off-by: Vikram Sharma <quic_vikramsa@...cinc.com>
> Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@...aro.org>
> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@...aro.org>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 4 ++
> .../dts/qcom/monaco-evk-camera-imx577.dtso | 67 +++++++++++++++++++
> 2 files changed, 71 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk-camera-imx577.dtso
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 6f34d5ed331c..b1ba182a0d8d 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -38,6 +38,10 @@ 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
> +
> +monaco-evk-camera-imx577-dtbs := monaco-evk.dtb monaco-evk-camera-imx577.dtbo
> +dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-camera-imx577.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-imx577.dtso b/arch/arm64/boot/dts/qcom/monaco-evk-camera-imx577.dtso
> new file mode 100644
> index 000000000000..351eb5ee70ba
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/monaco-evk-camera-imx577.dtso
> @@ -0,0 +1,67 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
Year is missing.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/clock/qcom,sa8775p-camcc.h>
> +#include <dt-bindings/gpio/gpio.h>
> +
> +&camss {
> + vdda-phy-supply = <&vreg_l4a>;
> + vdda-pll-supply = <&vreg_l5a>;
> +
> + status = "okay";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@1 {
> + reg = <1>;
> +
> + csiphy1_ep: endpoint {
> + clock-lanes = <7>;
Please remove 'clock-lanes' property here.
> + 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 = <&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 {
> + link-frequencies = /bits/ 64 <600000000>;
> + data-lanes = <0 1 2 3>;
data-lanes property value should be '1 2 3 4>', 0 is for the clock lane.
On CAMSS side this cannot be changed, unfortunately it's a lingering issue.
> + remote-endpoint = <&csiphy1_ep>;
> + };
> + };
> + };
> +};
If only one of 3 defined from 4/5 regulators is used, do you really wish
to describle all 3 in advance? You may consider to remove 2 currently unused
GPIO controlled regulator descriptions, and squash this change with 4/5.
--
Best wishes,
Vladimir
Powered by blists - more mailing lists