From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com>
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 <quic_rshankar@quicinc.com>
Signed-off-by: Ravi Shankar <quic_rshankar@quicinc.com>
Co-developed-by: Vishal Verma <quic_vishverm@quicinc.com>
Signed-off-by: Vishal Verma <quic_vishverm@quicinc.com>
Signed-off-by: Nihal Kumar Gupta <quic_nihalkum@quicinc.com>
Signed-off-by: Vikram Sharma <quic_vikramsa@quicinc.com>
---
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
On 09/09/2025 13:42, Vikram Sharma wrote: > From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> > > 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 <quic_rshankar@quicinc.com> > Signed-off-by: Ravi Shankar <quic_rshankar@quicinc.com> > Co-developed-by: Vishal Verma <quic_vishverm@quicinc.com> > Signed-off-by: Vishal Verma <quic_vishverm@quicinc.com> > Signed-off-by: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> > Signed-off-by: Vikram Sharma <quic_vikramsa@quicinc.com> > --- > 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 Missing proper indentation before +=. Did you even look at this code while changing? Or you just copied it from downstream and sent? > 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 { Don't send us downstream code. You need to rewrite everything, not just pieces. Best regards, Krzysztof
On Tue, Sep 09, 2025 at 05:12:40PM +0530, Vikram Sharma wrote: > From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> > > 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. Why is done as an overlay? Is it a seprate mezzanine? > > Co-developed-by: Ravi Shankar <quic_rshankar@quicinc.com> > Signed-off-by: Ravi Shankar <quic_rshankar@quicinc.com> > Co-developed-by: Vishal Verma <quic_vishverm@quicinc.com> > Signed-off-by: Vishal Verma <quic_vishverm@quicinc.com> > Signed-off-by: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> > Signed-off-by: Vikram Sharma <quic_vikramsa@quicinc.com> > --- > 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/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> > + > +&{/} { Is this a different product than just Monaco EVK? > + 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>; > + }; > +}; > + -- With best wishes Dmitry
© 2016 - 2025 Red Hat, Inc.