* [PATCH v2 0/3] Add CCI and imx577 sensor support for monaco evk
@ 2025-09-12 14:11 Vikram Sharma
2025-09-12 14:11 ` [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible Vikram Sharma
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Vikram Sharma @ 2025-09-12 14:11 UTC (permalink / raw)
To: vladimir.zapolskiy, bryan.odonoghue, mchehab, robh, krzk+dt,
conor+dt, andersson, konradybcio, hverkuil-cisco,
cros-qcom-dts-watchers, catalin.marinas, will
Cc: linux-arm-kernel, quic_vikramsa, quic_nihalkum, quic_svankada,
linux-media, linux-arm-msm, devicetree, linux-kernel
Monaco EVK is a single-board computer based on the Qualcomm QCS8300 SoC.
It lacks a camera sensor in its default configuration.
This series adds CCI support and enables the IMX577 sensor via CSIPHY1
through device tree overlay.
We have tested IMX577 Sensor on CCI1 with following commands:
- 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
---
Bindings for Supplies are added by below patch, Bryan is going to merge
this in linux-next:
https://lore.kernel.org/all/20250910104915.1444669-1-quic_vikramsa@quicinc.com/
Changes in V2:
- Remove the patch that adds PHY supply documentation in the qcs8300 CAMSS.
bindings. This change should be submitted together with the qcs8300 bindings patch.
- Fix indentation and regulator node name - Krzysztof.
- Update commit message as suggested - Dmitry.
- Link to v1:
https://lore.kernel.org/lkml/20250909114241.840842-1-quic_vikramsa@quicinc.com
Used following tools for the sanity check of these changes.
- make -j32 W=1
- checkpatch.pl
- make DT_CHECKER_FLAGS=-m W=1 DT_SCHEMA_FILES=i2c/qcom,i2c-cci.yaml dt_binding_check
- make CHECK_DTBS=y W=1 DT_SCHEMA_FILES=i2c/qcom,i2c-cci.yaml
Below 2 checks are passing by taking bindings from:
https://lore.kernel.org/all/20250910104915.1444669-1-quic_vikramsa@quicinc.com/
- make DT_CHECKER_FLAGS=-m W=1 DT_SCHEMA_FILES=media/qcom,qcs8300-camss.yaml dt_binding_check
- make CHECK_DTBS=y W=1 DT_SCHEMA_FILES=media/qcom,qcs8300-camss.yaml
This patch series depends on patch series:
https://lore.kernel.org/all/20250813053724.232494-1-quic_vikramsa@quicinc.com
Signed-off-by: Nihal Kumar Gupta <quic_nihalkum@quicinc.com>
Signed-off-by: Vikram Sharma <quic_vikramsa@quicinc.com>
Nihal Kumar Gupta (3):
dt-bindings: i2c: qcom-cci: Document qcs8300 compatible
arm64: dts: qcom: qcs8300: Add CCI definitions
arm64: dts: qcom: monaco-evk-camera: Add DT overlay
.../devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 +
arch/arm64/boot/dts/qcom/Makefile | 4 +
.../dts/qcom/monaco-evk-camera-imx577.dtso | 96 ++++++
arch/arm64/boot/dts/qcom/qcs8300.dtsi | 309 ++++++++++++++++++
4 files changed, 411 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk-camera-imx577.dtso
--
2.25.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible
2025-09-12 14:11 [PATCH v2 0/3] Add CCI and imx577 sensor support for monaco evk Vikram Sharma
@ 2025-09-12 14:11 ` Vikram Sharma
2025-09-16 2:48 ` Rob Herring
2025-09-12 14:11 ` [PATCH v2 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma
2025-09-12 14:11 ` [PATCH v2 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay Vikram Sharma
2 siblings, 1 reply; 8+ messages in thread
From: Vikram Sharma @ 2025-09-12 14:11 UTC (permalink / raw)
To: vladimir.zapolskiy, bryan.odonoghue, mchehab, robh, krzk+dt,
conor+dt, andersson, konradybcio, hverkuil-cisco,
cros-qcom-dts-watchers, catalin.marinas, will
Cc: linux-arm-kernel, quic_vikramsa, quic_nihalkum, quic_svankada,
linux-media, linux-arm-msm, devicetree, linux-kernel
From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com>
Add device tree bindings for the CCI controller on the
Qualcomm QCS8300 SoC.
Introduce the "qcom,qcs8300-cci" compatible string.
Signed-off-by: Nihal Kumar Gupta <quic_nihalkum@quicinc.com>
Signed-off-by: Vikram Sharma <quic_vikramsa@quicinc.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
index 1687b069e032..edd2e77d717b 100644
--- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
+++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
@@ -25,6 +25,7 @@ properties:
- items:
- enum:
+ - qcom,qcs8300-cci
- qcom,sc7280-cci
- qcom,sc8280xp-cci
- qcom,sdm670-cci
@@ -223,6 +224,7 @@ allOf:
compatible:
contains:
enum:
+ - qcom,qcs8300-cci
- qcom,sm8550-cci
- qcom,sm8650-cci
- qcom,x1e80100-cci
--
2.25.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions
2025-09-12 14:11 [PATCH v2 0/3] Add CCI and imx577 sensor support for monaco evk Vikram Sharma
2025-09-12 14:11 ` [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible Vikram Sharma
@ 2025-09-12 14:11 ` Vikram Sharma
2025-09-12 14:11 ` [PATCH v2 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay Vikram Sharma
2 siblings, 0 replies; 8+ messages in thread
From: Vikram Sharma @ 2025-09-12 14:11 UTC (permalink / raw)
To: vladimir.zapolskiy, bryan.odonoghue, mchehab, robh, krzk+dt,
conor+dt, andersson, konradybcio, hverkuil-cisco,
cros-qcom-dts-watchers, catalin.marinas, will
Cc: linux-arm-kernel, quic_vikramsa, quic_nihalkum, quic_svankada,
linux-media, linux-arm-msm, devicetree, linux-kernel,
Ravi Shankar, Vishal Verma
From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com>
Add support for three Camera Control Interface (CCI) controllers
on the Qualcomm QCS8300 SoC. Configure clocks, power domains,
pinctrl states and two I2C buses (i2c0, i2c1) with 1 MHz frequency.
Nodes are added in a disabled state by default.
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>
Co-developed-by: Suresh Vankadara <quic_svankada@quicinc.com>
Signed-off-by: Suresh Vankadara <quic_svankada@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/qcs8300.dtsi | 309 ++++++++++++++++++++++++++
1 file changed, 309 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
index a248e269d72d..a69719e291ea 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
@@ -4681,6 +4681,123 @@ videocc: clock-controller@abf0000 {
#power-domain-cells = <1>;
};
+ cci0: cci@ac13000 {
+ compatible = "qcom,qcs8300-cci", "qcom,msm8996-cci";
+ reg = <0x0 0x0ac13000 0x0 0x1000>;
+
+ interrupts = <GIC_SPI 460 IRQ_TYPE_EDGE_RISING>;
+
+ clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
+ <&camcc CAM_CC_CPAS_AHB_CLK>,
+ <&camcc CAM_CC_CCI_0_CLK>;
+ clock-names = "camnoc_axi",
+ "cpas_ahb",
+ "cci";
+
+ power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
+
+ pinctrl-0 = <&cci0_i2c0_default &cci0_i2c1_default>;
+ pinctrl-1 = <&cci0_i2c0_sleep &cci0_i2c1_sleep>;
+ pinctrl-names = "default", "sleep";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+
+ cci0_i2c0: i2c-bus@0 {
+ reg = <0>;
+ clock-frequency = <1000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ cci0_i2c1: i2c-bus@1 {
+ reg = <1>;
+ clock-frequency = <1000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
+ cci1: cci@ac14000 {
+ compatible = "qcom,qcs8300-cci", "qcom,msm8996-cci";
+ reg = <0x0 0x0ac14000 0x0 0x1000>;
+
+ interrupts = <GIC_SPI 271 IRQ_TYPE_EDGE_RISING>;
+
+ clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
+ <&camcc CAM_CC_CPAS_AHB_CLK>,
+ <&camcc CAM_CC_CCI_1_CLK>;
+ clock-names = "camnoc_axi",
+ "cpas_ahb",
+ "cci";
+
+ power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
+
+ pinctrl-0 = <&cci1_i2c0_default &cci1_i2c1_default>;
+ pinctrl-1 = <&cci1_i2c0_sleep &cci1_i2c1_sleep>;
+ pinctrl-names = "default", "sleep";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+
+ cci1_i2c0: i2c-bus@0 {
+ reg = <0>;
+ clock-frequency = <1000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ cci1_i2c1: i2c-bus@1 {
+ reg = <1>;
+ clock-frequency = <1000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
+ cci2: cci@ac15000 {
+ compatible = "qcom,qcs8300-cci", "qcom,msm8996-cci";
+ reg = <0x0 0x0ac15000 0x0 0x1000>;
+
+ interrupts = <GIC_SPI 651 IRQ_TYPE_EDGE_RISING>;
+
+ clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
+ <&camcc CAM_CC_CPAS_AHB_CLK>,
+ <&camcc CAM_CC_CCI_2_CLK>;
+ clock-names = "camnoc_axi",
+ "cpas_ahb",
+ "cci";
+
+ power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
+
+ pinctrl-0 = <&cci2_i2c0_default &cci2_i2c1_default>;
+ pinctrl-1 = <&cci2_i2c0_sleep &cci2_i2c1_sleep>;
+ pinctrl-names = "default", "sleep";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+
+ cci2_i2c0: i2c-bus@0 {
+ reg = <0>;
+ clock-frequency = <1000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ cci2_i2c1: i2c-bus@1 {
+ reg = <1>;
+ clock-frequency = <1000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
camss: isp@ac78000 {
compatible = "qcom,qcs8300-camss";
@@ -4975,6 +5092,198 @@ tlmm: pinctrl@f100000 {
#interrupt-cells = <2>;
wakeup-parent = <&pdc>;
+ cci0_i2c0_default: cci0-0-default-state {
+ sda-pins {
+ pins = "gpio57";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ scl-pins {
+ pins = "gpio58";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+ };
+
+ cci0_i2c0_sleep: cci0-0-sleep-state {
+ sda-pins {
+ pins = "gpio57";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ scl-pins {
+ pins = "gpio58";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ cci0_i2c1_default: cci0-1-default-state {
+ sda-pins {
+ pins = "gpio29";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ scl-pins {
+ pins = "gpio30";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+ };
+
+ cci0_i2c1_sleep: cci0-1-sleep-state {
+ sda-pins {
+ pins = "gpio29";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ scl-pins {
+ pins = "gpio30";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ cci1_i2c0_default: cci1-0-default-state {
+ sda-pins {
+ pins = "gpio59";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ scl-pins {
+ pins = "gpio60";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+ };
+
+ cci1_i2c0_sleep: cci1-0-sleep-state {
+ sda-pins {
+ pins = "gpio59";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ scl-pins {
+ pins = "gpio60";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ cci1_i2c1_default: cci1-1-default-state {
+ sda-pins {
+ pins = "gpio31";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ scl-pins {
+ pins = "gpio32";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+ };
+
+ cci1_i2c1_sleep: cci1-1-sleep-state {
+ sda-pins {
+ pins = "gpio31";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ scl-pins {
+ pins = "gpio32";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ cci2_i2c0_default: cci2-0-default-state {
+ sda-pins {
+ pins = "gpio61";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ scl-pins {
+ pins = "gpio62";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+ };
+
+ cci2_i2c0_sleep: cci2-0-sleep-state {
+ sda-pins {
+ pins = "gpio61";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ scl-pins {
+ pins = "gpio62";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ cci2_i2c1_default: cci2-1-default-state {
+ sda-pins {
+ pins = "gpio54";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ scl-pins {
+ pins = "gpio55";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+ };
+
+ cci2_i2c1_sleep: cci2-1-sleep-state {
+ sda-pins {
+ pins = "gpio54";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ scl-pins {
+ pins = "gpio55";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
hs0_mi2s_active: hs0-mi2s-active-state {
pins = "gpio106", "gpio107", "gpio108", "gpio109";
function = "hs0_mi2s";
--
2.25.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay
2025-09-12 14:11 [PATCH v2 0/3] Add CCI and imx577 sensor support for monaco evk Vikram Sharma
2025-09-12 14:11 ` [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible Vikram Sharma
2025-09-12 14:11 ` [PATCH v2 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma
@ 2025-09-12 14:11 ` Vikram Sharma
2 siblings, 0 replies; 8+ messages in thread
From: Vikram Sharma @ 2025-09-12 14:11 UTC (permalink / raw)
To: vladimir.zapolskiy, bryan.odonoghue, mchehab, robh, krzk+dt,
conor+dt, andersson, konradybcio, hverkuil-cisco,
cros-qcom-dts-watchers, catalin.marinas, will
Cc: linux-arm-kernel, quic_vikramsa, quic_nihalkum, quic_svankada,
linux-media, linux-arm-msm, devicetree, linux-kernel,
Ravi Shankar, Vishal Verma
From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com>
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
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 +
.../dts/qcom/monaco-evk-camera-imx577.dtso | 96 +++++++++++++++++++
2 files changed, 100 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 5b52f9e4e5f3..1c32c54ed841 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-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..2237f0fc4a14
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/monaco-evk-camera-imx577.dtso
@@ -0,0 +1,96 @@
+// 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_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-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>;
+ 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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible
2025-09-12 14:11 ` [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible Vikram Sharma
@ 2025-09-16 2:48 ` Rob Herring
2025-09-16 11:07 ` Nihal Kumar Gupta
0 siblings, 1 reply; 8+ messages in thread
From: Rob Herring @ 2025-09-16 2:48 UTC (permalink / raw)
To: Vikram Sharma
Cc: vladimir.zapolskiy, bryan.odonoghue, mchehab, krzk+dt, conor+dt,
andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers,
catalin.marinas, will, linux-arm-kernel, quic_nihalkum,
quic_svankada, linux-media, linux-arm-msm, devicetree,
linux-kernel
On Fri, Sep 12, 2025 at 07:41:32PM +0530, Vikram Sharma wrote:
> From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com>
>
> Add device tree bindings for the CCI controller on the
> Qualcomm QCS8300 SoC.
> Introduce the "qcom,qcs8300-cci" compatible string.
Wrap commit messages at 72 chars. And explain how it's the same or
different from existing SoCs in the commit message. Don't explain the
diff. We can read that ourselves.
>
> Signed-off-by: Nihal Kumar Gupta <quic_nihalkum@quicinc.com>
> Signed-off-by: Vikram Sharma <quic_vikramsa@quicinc.com>
> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
> Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
> index 1687b069e032..edd2e77d717b 100644
> --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
> +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
> @@ -25,6 +25,7 @@ properties:
>
> - items:
> - enum:
> + - qcom,qcs8300-cci
> - qcom,sc7280-cci
> - qcom,sc8280xp-cci
> - qcom,sdm670-cci
> @@ -223,6 +224,7 @@ allOf:
> compatible:
> contains:
> enum:
> + - qcom,qcs8300-cci
> - qcom,sm8550-cci
> - qcom,sm8650-cci
> - qcom,x1e80100-cci
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible
2025-09-16 2:48 ` Rob Herring
@ 2025-09-16 11:07 ` Nihal Kumar Gupta
2025-09-16 11:11 ` Konrad Dybcio
0 siblings, 1 reply; 8+ messages in thread
From: Nihal Kumar Gupta @ 2025-09-16 11:07 UTC (permalink / raw)
To: Rob Herring, Vikram Sharma
Cc: vladimir.zapolskiy, bryan.odonoghue, mchehab, krzk+dt, conor+dt,
andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers,
catalin.marinas, will, linux-arm-kernel, quic_svankada,
linux-media, linux-arm-msm, devicetree, linux-kernel,
Ravi Shankar
On 16-09-2025 08:18, Rob Herring wrote:
> On Fri, Sep 12, 2025 at 07:41:32PM +0530, Vikram Sharma wrote:
>> From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com>
>>
>> Add device tree bindings for the CCI controller on the
>> Qualcomm QCS8300 SoC.
>> Introduce the "qcom,qcs8300-cci" compatible string.
> Wrap commit messages at 72 chars. And explain how it's the same or
> different from existing SoCs in the commit message. Don't explain the
> diff. We can read that ourselves.
>
SA8775P(Lemans) has 4 CCIs, while QCS8300 (Monaco) has 3 CCI, with the
only difference being the GPIOs used for SDA/SCL pins.
Currently, the CCI driver probe happens through the "qcom,msm8996-cci"
compatible string. Could we use the existing SA8775P compatible string
"qcom,sa8775p-cci" or we should remove it?
Please advise on the preferred approach for upstream compliance.
>> Signed-off-by: Nihal Kumar Gupta <quic_nihalkum@quicinc.com>
>> Signed-off-by: Vikram Sharma <quic_vikramsa@quicinc.com>
>> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
>> ---
>> Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 ++
>> 1 file changed, 2 insertions(+)
Regards,
Nihal Kumar Gupta
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible
2025-09-16 11:07 ` Nihal Kumar Gupta
@ 2025-09-16 11:11 ` Konrad Dybcio
2025-09-17 6:22 ` Nihal Kumar Gupta
0 siblings, 1 reply; 8+ messages in thread
From: Konrad Dybcio @ 2025-09-16 11:11 UTC (permalink / raw)
To: Nihal Kumar Gupta, Rob Herring, Vikram Sharma
Cc: vladimir.zapolskiy, bryan.odonoghue, mchehab, krzk+dt, conor+dt,
andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers,
catalin.marinas, will, linux-arm-kernel, quic_svankada,
linux-media, linux-arm-msm, devicetree, linux-kernel,
Ravi Shankar
On 9/16/25 1:07 PM, Nihal Kumar Gupta wrote:
>
>
> On 16-09-2025 08:18, Rob Herring wrote:
>> On Fri, Sep 12, 2025 at 07:41:32PM +0530, Vikram Sharma wrote:
>>> From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com>
>>>
>>> Add device tree bindings for the CCI controller on the
>>> Qualcomm QCS8300 SoC.
>>> Introduce the "qcom,qcs8300-cci" compatible string.
>> Wrap commit messages at 72 chars. And explain how it's the same or
>> different from existing SoCs in the commit message. Don't explain the
>> diff. We can read that ourselves.
>>
>
> SA8775P(Lemans) has 4 CCIs, while QCS8300 (Monaco) has 3 CCI, with the
> only difference being the GPIOs used for SDA/SCL pins.
>
> Currently, the CCI driver probe happens through the "qcom,msm8996-cci"
> compatible string. Could we use the existing SA8775P compatible string
> "qcom,sa8775p-cci" or we should remove it?
>
> Please advise on the preferred approach for upstream compliance.
Try:
"""
The three instances of CCI found on the QCS8300 are functionally
the same as on a number of existing Qualcomm SoCs.
Introduce a new SoC-specific compatible, with a common fallback.
"""
Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible
2025-09-16 11:11 ` Konrad Dybcio
@ 2025-09-17 6:22 ` Nihal Kumar Gupta
0 siblings, 0 replies; 8+ messages in thread
From: Nihal Kumar Gupta @ 2025-09-17 6:22 UTC (permalink / raw)
To: Konrad Dybcio, Rob Herring, Vikram Sharma
Cc: vladimir.zapolskiy, bryan.odonoghue, mchehab, krzk+dt, conor+dt,
andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers,
catalin.marinas, will, linux-arm-kernel, quic_svankada,
linux-media, linux-arm-msm, devicetree, linux-kernel,
Ravi Shankar
On 16-09-2025 16:41, Konrad Dybcio wrote:
>>> Wrap commit messages at 72 chars. And explain how it's the same or
>>> different from existing SoCs in the commit message. Don't explain the
>>> diff. We can read that ourselves.
>>>
>> SA8775P(Lemans) has 4 CCIs, while QCS8300 (Monaco) has 3 CCI, with the
>> only difference being the GPIOs used for SDA/SCL pins.
>>
>> Currently, the CCI driver probe happens through the "qcom,msm8996-cci"
>> compatible string. Could we use the existing SA8775P compatible string
>> "qcom,sa8775p-cci" or we should remove it?
>>
>> Please advise on the preferred approach for upstream compliance.
> Try:
>
> """
> The three instances of CCI found on the QCS8300 are functionally
> the same as on a number of existing Qualcomm SoCs.
>
> Introduce a new SoC-specific compatible, with a common fallback.
> """
>
ACK, Will address this in next version.
> Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-09-17 6:23 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-12 14:11 [PATCH v2 0/3] Add CCI and imx577 sensor support for monaco evk Vikram Sharma
2025-09-12 14:11 ` [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible Vikram Sharma
2025-09-16 2:48 ` Rob Herring
2025-09-16 11:07 ` Nihal Kumar Gupta
2025-09-16 11:11 ` Konrad Dybcio
2025-09-17 6:22 ` Nihal Kumar Gupta
2025-09-12 14:11 ` [PATCH v2 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma
2025-09-12 14:11 ` [PATCH v2 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay Vikram Sharma
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).