* [PATCH v4 0/3] Add CCI and imx577 sensor support for monaco evk
@ 2025-10-15 13:13 Vikram Sharma
2025-10-15 13:13 ` [PATCH v4 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible Vikram Sharma
` (2 more replies)
0 siblings, 3 replies; 15+ messages in thread
From: Vikram Sharma @ 2025-10-15 13:13 UTC (permalink / raw)
To: bryan.odonoghue, mchehab, robh, krzk+dt, conor+dt, andersson,
konradybcio, hverkuil-cisco, cros-qcom-dts-watchers,
catalin.marinas, will
Cc: linux-arm-kernel, quic_svankada, quic_vikramsa, quic_nihalkum,
linux-media, linux-arm-msm, devicetree, linux-kernel
From: Nihal Kumar Gupta <nihalkum@qti.qualcomm.com>
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
---
This patch series depends on patch series:
https://lore.kernel.org/all/20251015130130.2790829-1-quic_vikramsa@quicinc.com
Bindings for Supplies are added by below patch:
https://lore.kernel.org/all/20251015130130.2790829-1-quic_vikramsa@quicinc.com
Changes in v4:
- Remove the AXI source clock from the CCI node - Konrad
- Updated the qcs8300-camss device tree binding.
- Link to v3:
https://lore.kernel.org/all/20250917130647.1701883-1-quic_vikramsa@quicinc.com
Changes in v3:
- Updated and Wrapped commit messages for [PATCH v2 1/3] and [PATCH v2 2/3] - Rob
- Link to v2:
https://lore.kernel.org/all/20250912141134.2799078-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
- 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
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 | 303 ++++++++++++++++++
4 files changed, 405 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk-camera-imx577.dtso
--
2.34.1
^ permalink raw reply [flat|nested] 15+ messages in thread* [PATCH v4 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible 2025-10-15 13:13 [PATCH v4 0/3] Add CCI and imx577 sensor support for monaco evk Vikram Sharma @ 2025-10-15 13:13 ` Vikram Sharma 2025-10-15 18:50 ` Vladimir Zapolskiy 2025-10-15 13:13 ` [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma 2025-10-15 13:13 ` [PATCH v4 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay Vikram Sharma 2 siblings, 1 reply; 15+ messages in thread From: Vikram Sharma @ 2025-10-15 13:13 UTC (permalink / raw) To: bryan.odonoghue, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, quic_vikramsa, quic_nihalkum, linux-media, linux-arm-msm, devicetree, linux-kernel From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> 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 string "qcom,qcs8300-cci" with a common fallback. 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> Acked-by: Rob Herring (Arm) <robh@kernel.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 9bc99d736343..ef6af05f7585 100644 --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml @@ -26,6 +26,7 @@ properties: - items: - enum: - qcom,qcm2290-cci + - qcom,qcs8300-cci - qcom,sa8775p-cci - qcom,sc7280-cci - qcom,sc8280xp-cci @@ -129,6 +130,7 @@ allOf: contains: enum: - qcom,qcm2290-cci + - qcom,qcs8300-cci then: properties: clocks: -- 2.34.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible 2025-10-15 13:13 ` [PATCH v4 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible Vikram Sharma @ 2025-10-15 18:50 ` Vladimir Zapolskiy 0 siblings, 0 replies; 15+ messages in thread From: Vladimir Zapolskiy @ 2025-10-15 18:50 UTC (permalink / raw) To: Vikram Sharma, bryan.odonoghue, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, quic_nihalkum, linux-media, linux-arm-msm, devicetree, linux-kernel On 10/15/25 16:13, Vikram Sharma wrote: > From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> > > 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 string "qcom,qcs8300-cci" with a > common fallback. > > 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> > Acked-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> -- Best wishes, Vladimir ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions 2025-10-15 13:13 [PATCH v4 0/3] Add CCI and imx577 sensor support for monaco evk Vikram Sharma 2025-10-15 13:13 ` [PATCH v4 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible Vikram Sharma @ 2025-10-15 13:13 ` Vikram Sharma 2025-10-15 13:42 ` Bryan O'Donoghue ` (2 more replies) 2025-10-15 13:13 ` [PATCH v4 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay Vikram Sharma 2 siblings, 3 replies; 15+ messages in thread From: Vikram Sharma @ 2025-10-15 13:13 UTC (permalink / raw) To: bryan.odonoghue, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, quic_vikramsa, quic_nihalkum, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> Qualcomm QCS8300 SoC contains 3 Camera Control Interface (CCI). Compared to lemans, the key difference is in SDA/SCL GPIO assignments and number of CCIs. 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 | 303 ++++++++++++++++++++++++++ 1 file changed, 303 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi b/arch/arm64/boot/dts/qcom/qcs8300.dtsi index 75fafbcea845..8f2b5f40ce14 100644 --- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi +++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi @@ -4769,6 +4769,117 @@ 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_CPAS_AHB_CLK>, + <&camcc CAM_CC_CCI_0_CLK>; + clock-names = "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_CPAS_AHB_CLK>, + <&camcc CAM_CC_CCI_1_CLK>; + clock-names = "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_CPAS_AHB_CLK>, + <&camcc CAM_CC_CCI_2_CLK>; + clock-names = "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"; @@ -5063,6 +5174,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.34.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions 2025-10-15 13:13 ` [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma @ 2025-10-15 13:42 ` Bryan O'Donoghue 2025-10-16 12:04 ` Nihal Kumar Gupta 2025-10-15 18:57 ` Vladimir Zapolskiy 2025-10-30 10:43 ` Bryan O'Donoghue 2 siblings, 1 reply; 15+ messages in thread From: Bryan O'Donoghue @ 2025-10-15 13:42 UTC (permalink / raw) To: Vikram Sharma, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, quic_nihalkum, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma On 15/10/2025 14:13, Vikram Sharma wrote: > From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> > > Qualcomm QCS8300 SoC contains 3 Camera Control Interface (CCI). Compared > to lemans, the key difference is in SDA/SCL GPIO assignments and number > of CCIs. Codename should be "Lemans" and since you need to update the commit log for this it should be "three Camera Control .." Assuming thats fixed. Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions 2025-10-15 13:42 ` Bryan O'Donoghue @ 2025-10-16 12:04 ` Nihal Kumar Gupta 2025-10-16 13:43 ` Bryan O'Donoghue 0 siblings, 1 reply; 15+ messages in thread From: Nihal Kumar Gupta @ 2025-10-16 12:04 UTC (permalink / raw) To: Bryan O'Donoghue, Vikram Sharma, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma On 15-10-2025 19:12, Bryan O'Donoghue wrote: > On 15/10/2025 14:13, Vikram Sharma wrote: >> From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> >> >> Qualcomm QCS8300 SoC contains 3 Camera Control Interface (CCI). Compared >> to lemans, the key difference is in SDA/SCL GPIO assignments and number >> of CCIs. > > Codename should be "Lemans" and since you need to update the commit log for this it should be "three Camera Control .." > > Assuming thats fixed. > I assume you're referring to update s/lemans/Lemans Codename for QCS8775P SoC corresponds to Lemans while QCS8300 SoC corresponds to Monaco https://lore.kernel.org/all/20250923-rename-dts-v1-0-21888b68c781@oss.qualcomm.com/ Following the above change, I will update the commit message from "Qualcomm QCS8300 SoC contains 3 Camera.. " to "Monaco contains three Camera .." > Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> -- Regards, Nihal Kumar Gupta ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions 2025-10-16 12:04 ` Nihal Kumar Gupta @ 2025-10-16 13:43 ` Bryan O'Donoghue 0 siblings, 0 replies; 15+ messages in thread From: Bryan O'Donoghue @ 2025-10-16 13:43 UTC (permalink / raw) To: Nihal Kumar Gupta, Vikram Sharma, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma On 16/10/2025 13:04, Nihal Kumar Gupta wrote: > I assume you're referring to update s/lemans/Lemans > > Codename for QCS8775P SoC corresponds to Lemans while QCS8300 SoC corresponds to Monaco > > https://lore.kernel.org/all/20250923-rename-dts- > v1-0-21888b68c781@oss.qualcomm.com/ > Following the above change, I will update the commit message from > "Qualcomm QCS8300 SoC contains 3 Camera.. " to "Monaco contains three Camera .." Eh you're right "Lemans" is incidental, you're comparing to not declaring "this is". Seems not really worth updated text in that context. Feel free to ignore. --- bod ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions 2025-10-15 13:13 ` [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma 2025-10-15 13:42 ` Bryan O'Donoghue @ 2025-10-15 18:57 ` Vladimir Zapolskiy 2025-10-16 12:05 ` Nihal Kumar Gupta 2025-10-30 10:43 ` Bryan O'Donoghue 2 siblings, 1 reply; 15+ messages in thread From: Vladimir Zapolskiy @ 2025-10-15 18:57 UTC (permalink / raw) To: Vikram Sharma, bryan.odonoghue, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, quic_nihalkum, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma On 10/15/25 16:13, Vikram Sharma wrote: > From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> > > Qualcomm QCS8300 SoC contains 3 Camera Control Interface (CCI). Compared > to lemans, the key difference is in SDA/SCL GPIO assignments and number > of CCIs. > > 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 | 303 ++++++++++++++++++++++++++ > 1 file changed, 303 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi b/arch/arm64/boot/dts/qcom/qcs8300.dtsi > index 75fafbcea845..8f2b5f40ce14 100644 > --- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi > +++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi > @@ -4769,6 +4769,117 @@ 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_CPAS_AHB_CLK>, > + <&camcc CAM_CC_CCI_0_CLK>; > + clock-names = "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"; Please remove empty lines between individual properties above and in two other introduced device tree nodes. > + > + 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_CPAS_AHB_CLK>, > + <&camcc CAM_CC_CCI_1_CLK>; > + clock-names = "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_CPAS_AHB_CLK>, > + <&camcc CAM_CC_CCI_2_CLK>; > + clock-names = "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"; > > @@ -5063,6 +5174,198 @@ tlmm: pinctrl@f100000 { > #interrupt-cells = <2>; > wakeup-parent = <&pdc>; > > + cci0_i2c0_default: cci0-0-default-state { I'd suggest to rename cciX_i2cY_* to cciX_Y_* to shorten the labels, also it will match device tree nodes. Here "i2c" suffix brings no valuable information. Please reference to lemans.dtsi and sm8550.dtsi examples. > + 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"; Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> -- Best wishes, Vladimir ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions 2025-10-15 18:57 ` Vladimir Zapolskiy @ 2025-10-16 12:05 ` Nihal Kumar Gupta 0 siblings, 0 replies; 15+ messages in thread From: Nihal Kumar Gupta @ 2025-10-16 12:05 UTC (permalink / raw) To: Vladimir Zapolskiy, Vikram Sharma, bryan.odonoghue, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma On 16-10-2025 00:27, Vladimir Zapolskiy wrote: >> + >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + status = "disabled"; > > Please remove empty lines between individual properties above and in two > other introduced device tree nodes. ACK > >> + >> + cci0_i2c0: i2c-bus@0 { >> + reg = <0>; >> + clock-frequency = <1000000>; >> + #address-cells = <1>; >> + #size-cells = <0>; >> + }; >> + >> camss: isp@ac78000 { >> compatible = "qcom,qcs8300-camss"; >> @@ -5063,6 +5174,198 @@ tlmm: pinctrl@f100000 { >> #interrupt-cells = <2>; >> wakeup-parent = <&pdc>; >> + cci0_i2c0_default: cci0-0-default-state { > > I'd suggest to rename cciX_i2cY_* to cciX_Y_* to shorten the labels, > also it will match device tree nodes. Here "i2c" suffix brings no > valuable information. > > Please reference to lemans.dtsi and sm8550.dtsi examples. > ACK, Will address this in the next version. >> + sda-pins { >> + pins = "gpio57"; >> + function = "cci_i2c_sda"; >> + drive-strength = <2>; >> + bias-pull-up = <2200>; -- Regards, Nihal Kumar Gupta ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions 2025-10-15 13:13 ` [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma 2025-10-15 13:42 ` Bryan O'Donoghue 2025-10-15 18:57 ` Vladimir Zapolskiy @ 2025-10-30 10:43 ` Bryan O'Donoghue 2 siblings, 0 replies; 15+ messages in thread From: Bryan O'Donoghue @ 2025-10-30 10:43 UTC (permalink / raw) To: Vikram Sharma, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, quic_nihalkum, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma On 15/10/2025 14:13, Vikram Sharma wrote: > From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> > > Qualcomm QCS8300 SoC contains 3 Camera Control Interface (CCI). Compared > to lemans, the key difference is in SDA/SCL GPIO assignments and number > of CCIs. > > 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 | 303 ++++++++++++++++++++++++++ > 1 file changed, 303 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi b/arch/arm64/boot/dts/qcom/qcs8300.dtsi > index 75fafbcea845..8f2b5f40ce14 100644 > --- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi > +++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi > @@ -4769,6 +4769,117 @@ 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_CPAS_AHB_CLK>, > + <&camcc CAM_CC_CCI_0_CLK>; > + clock-names = "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_CPAS_AHB_CLK>, > + <&camcc CAM_CC_CCI_1_CLK>; > + clock-names = "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_CPAS_AHB_CLK>, > + <&camcc CAM_CC_CCI_2_CLK>; > + clock-names = "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"; > > @@ -5063,6 +5174,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"; Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v4 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay 2025-10-15 13:13 [PATCH v4 0/3] Add CCI and imx577 sensor support for monaco evk Vikram Sharma 2025-10-15 13:13 ` [PATCH v4 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible Vikram Sharma 2025-10-15 13:13 ` [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma @ 2025-10-15 13:13 ` Vikram Sharma 2025-10-15 19:15 ` Vladimir Zapolskiy 2025-10-30 10:44 ` Bryan O'Donoghue 2 siblings, 2 replies; 15+ messages in thread From: Vikram Sharma @ 2025-10-15 13:13 UTC (permalink / raw) To: bryan.odonoghue, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, quic_vikramsa, quic_nihalkum, 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 296688f7cb26..4df3044639a4 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -36,6 +36,10 @@ lemans-evk-camera-csi1-imx577-dtbs := lemans-evk.dtb lemans-evk-camera-csi1-imx5 dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-camera-csi1-imx577.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.34.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay 2025-10-15 13:13 ` [PATCH v4 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay Vikram Sharma @ 2025-10-15 19:15 ` Vladimir Zapolskiy 2025-10-16 12:53 ` Nihal Kumar Gupta 2025-10-30 10:44 ` Bryan O'Donoghue 1 sibling, 1 reply; 15+ messages in thread From: Vladimir Zapolskiy @ 2025-10-15 19:15 UTC (permalink / raw) To: Vikram Sharma, bryan.odonoghue, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, quic_nihalkum, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma On 10/15/25 16:13, Vikram Sharma wrote: > 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 s/Introducing/Introduce > 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> The first expected Signed-off-by tag shall be from the change author, and it is not. > 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 296688f7cb26..4df3044639a4 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -36,6 +36,10 @@ lemans-evk-camera-csi1-imx577-dtbs := lemans-evk.dtb lemans-evk-camera-csi1-imx5 > > dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-camera-csi1-imx577.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. Year is missing. > + */ > + > +/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>; > + Please remove empty lines between individual properties. > + port { > + imx577_ep1: endpoint { > + clock-lanes = <7>; Remove 'clock-lanes' property, first of all it is non-configurable, and definitely it's hypothetical value can not be equal to '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; > + }; I'd suggest to add a description of pins with MCLK function in a separate change to the SoC specific .dtsi file. It will cover gpio67, gpio68, gpio74 and gpio69, so here it's a MCLK1 pin for instance. > + > + ldo-avdd-pins { > + pins = "gpio74"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + }; > + }; > +}; Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> -- Best wishes, Vladimir ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay 2025-10-15 19:15 ` Vladimir Zapolskiy @ 2025-10-16 12:53 ` Nihal Kumar Gupta 2025-10-16 13:50 ` Bryan O'Donoghue 0 siblings, 1 reply; 15+ messages in thread From: Nihal Kumar Gupta @ 2025-10-16 12:53 UTC (permalink / raw) To: Vladimir Zapolskiy, Vikram Sharma, bryan.odonoghue, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma On 16-10-2025 00:45, Vladimir Zapolskiy wrote: >> configuration. Introducing a device tree overlay to support optional > > s/Introducing/Introduce > ACK >> Co-developed-by: Ravi Shankar <quic_rshankar@quicinc.com> >> Signed-off-by: Ravi Shankar <quic_rshankar@quicinc.com> > > The first expected Signed-off-by tag shall be from the change author, and > it is not. ACK >> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. > > Year is missing. > This is as per new yearless copyright format. >> + avdd-supply = <&vreg_cam1_2p8>; >> + > > Please remove empty lines between individual properties. > ACK > Remove 'clock-lanes' property, first of all it is non-configurable, > and definitely it's hypothetical value can not be equal to '7'. ACK >> + }; > > I'd suggest to add a description of pins with MCLK function in a separate > change to the SoC specific .dtsi file. It will cover gpio67, gpio68, gpio74 > and gpio69, so here it's a MCLK1 pin for instance. We are currently enabling sensor only on CCI1. Pins gpio67–gpio69 are used by mclk for cam0–cam2, and gpio74 enables the regulator. Since mclk is sensor-specific, it's added in the sensor dtso. Would it be appropriate to extend mclk support to all CCI instances, even if some are not actively used? @Konrad, @Bryan, Could you please share your thoughts on the above? If valid, then cam0_default, cam1_default, cam2_default should be added in SoC dtsi, with references used in sensor dtso. > >> + >> + ldo-avdd-pins { -- Regards, Nihal Kumar Gupta ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay 2025-10-16 12:53 ` Nihal Kumar Gupta @ 2025-10-16 13:50 ` Bryan O'Donoghue 0 siblings, 0 replies; 15+ messages in thread From: Bryan O'Donoghue @ 2025-10-16 13:50 UTC (permalink / raw) To: Nihal Kumar Gupta, Vladimir Zapolskiy, Vikram Sharma, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma On 16/10/2025 13:53, Nihal Kumar Gupta wrote: >> I'd suggest to add a description of pins with MCLK function in a separate >> change to the SoC specific .dtsi file. It will cover gpio67, gpio68, gpio74 >> and gpio69, so here it's a MCLK1 pin for instance. > We are currently enabling sensor only on CCI1. Pins gpio67–gpio69 are used by mclk for cam0–cam2, and gpio74 enables the regulator. > Since mclk is sensor-specific, it's added in the sensor dtso. > > Would it be appropriate to extend mclk support to all CCI instances, even if some are not actively used? > > @Konrad, @Bryan, Could you please share your thoughts on the above? > > If valid, then cam0_default, cam1_default, cam2_default should be added in SoC dtsi, with references used in sensor dtso. Anything not muxed should go into the SoC description anything board specific - mezzanine specific in this case - should go into your dtso. A few of the camera pins are non-muxed as I recall. As regards splitting it up. There's no use-case for non-muxed pins without the dependent change. It's almost never the wrong thing to do, to have small, individually independent patches though. --- bod ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay 2025-10-15 13:13 ` [PATCH v4 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay Vikram Sharma 2025-10-15 19:15 ` Vladimir Zapolskiy @ 2025-10-30 10:44 ` Bryan O'Donoghue 1 sibling, 0 replies; 15+ messages in thread From: Bryan O'Donoghue @ 2025-10-30 10:44 UTC (permalink / raw) To: Vikram Sharma, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, quic_svankada, quic_nihalkum, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma On 15/10/2025 14:13, Vikram Sharma wrote: > 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 296688f7cb26..4df3044639a4 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -36,6 +36,10 @@ lemans-evk-camera-csi1-imx577-dtbs := lemans-evk.dtb lemans-evk-camera-csi1-imx5 > > dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-camera-csi1-imx577.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; > + }; > + }; > +}; Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-10-30 10:44 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-10-15 13:13 [PATCH v4 0/3] Add CCI and imx577 sensor support for monaco evk Vikram Sharma 2025-10-15 13:13 ` [PATCH v4 1/3] dt-bindings: i2c: qcom-cci: Document qcs8300 compatible Vikram Sharma 2025-10-15 18:50 ` Vladimir Zapolskiy 2025-10-15 13:13 ` [PATCH v4 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma 2025-10-15 13:42 ` Bryan O'Donoghue 2025-10-16 12:04 ` Nihal Kumar Gupta 2025-10-16 13:43 ` Bryan O'Donoghue 2025-10-15 18:57 ` Vladimir Zapolskiy 2025-10-16 12:05 ` Nihal Kumar Gupta 2025-10-30 10:43 ` Bryan O'Donoghue 2025-10-15 13:13 ` [PATCH v4 3/3] arm64: dts: qcom: monaco-evk-camera: Add DT overlay Vikram Sharma 2025-10-15 19:15 ` Vladimir Zapolskiy 2025-10-16 12:53 ` Nihal Kumar Gupta 2025-10-16 13:50 ` Bryan O'Donoghue 2025-10-30 10:44 ` Bryan O'Donoghue
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).