* Re: [PATCH v6 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions [not found] ` <d49920eb-0b4e-4042-b0c6-28d1ba348ddc@quicinc.com> @ 2025-12-02 7:35 ` Nihal Kumar Gupta 2025-12-05 11:58 ` Konrad Dybcio 0 siblings, 1 reply; 6+ messages in thread From: Nihal Kumar Gupta @ 2025-12-02 7:35 UTC (permalink / raw) To: Vikram Sharma, Konrad Dybcio Cc: bryan.odonoghue, mchehab, robh, 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, Vishal Verma On 11/26/25 9:10 AM, Vikram Sharma wrote: >> From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> >> >> Qualcomm QCS8300 SoC contains three Camera Control Interface (CCI). >> Compared to Lemans, the key difference is in SDA/SCL GPIO assignments >> and number of CCIs. > [...] > >> @@ -5071,6 +5182,240 @@ tlmm: pinctrl@f100000 { >> #interrupt-cells = <2>; >> wakeup-parent = <&pdc>; >> >> + cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state { >> + pins = "gpio73"; >> + function = "gpio"; >> + drive-strength = <2>; >> + bias-disable; >> + }; > I'm not sure whether I was unclear, but my intention was to ask you to move the MCLK pin definitions to the SoC DTSI, because that comes from the design of the platform and doesn't vary between end products. > > GPIO_73 being related to a voltage regulator is strictly a property of the EVK. MCLK pin definitions are already present under the tlmm block in SoC dtsi(monaco.dtsi) as required by the pinctrl subsystem(qcom,qcs8300-tlmm.yaml). Are you suggesting they shouldn’t be part of TLMM in the SoC DTSI? This doesn’t align with the YAML file. Regarding GPIO_73: Noted. I will move it to monaco-evk.dts under the tlmm section. Below are the example snippets: In monaco.dtsi (SoC level): tlmm: pinctrl@... { cam_mclk0_default: cam-mclk0-default-state { pins = "gpio67"; function = "cam_mclk"; drive-strength = <2>; }; .... }; In monaco-evk.dts (Board level): &tlmm { cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state { pins = "gpio73"; function = "gpio"; drive-strength = <2>; bias-disable; }; ... }; -- Regards, Nihal Kumar Gupta ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v6 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions 2025-12-02 7:35 ` [PATCH v6 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Nihal Kumar Gupta @ 2025-12-05 11:58 ` Konrad Dybcio 2025-12-09 8:27 ` Nihal Kumar Gupta 0 siblings, 1 reply; 6+ messages in thread From: Konrad Dybcio @ 2025-12-05 11:58 UTC (permalink / raw) To: Nihal Kumar Gupta, Vikram Sharma Cc: bryan.odonoghue, mchehab, robh, 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, Vishal Verma On 12/2/25 8:35 AM, Nihal Kumar Gupta wrote: > > > On 11/26/25 9:10 AM, Vikram Sharma wrote: >>> From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> >>> >>> Qualcomm QCS8300 SoC contains three Camera Control Interface (CCI). >>> Compared to Lemans, the key difference is in SDA/SCL GPIO assignments >>> and number of CCIs. >> [...] >> >>> @@ -5071,6 +5182,240 @@ tlmm: pinctrl@f100000 { >>> #interrupt-cells = <2>; >>> wakeup-parent = <&pdc>; >>> >>> + cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state { >>> + pins = "gpio73"; >>> + function = "gpio"; >>> + drive-strength = <2>; >>> + bias-disable; >>> + }; >> I'm not sure whether I was unclear, but my intention was to ask you to move the MCLK pin definitions to the SoC DTSI, because that comes from the design of the platform and doesn't vary between end products. >> >> GPIO_73 being related to a voltage regulator is strictly a property of the EVK. > > MCLK pin definitions are already present under the tlmm block in SoC dtsi(monaco.dtsi) as required by the pinctrl subsystem(qcom,qcs8300-tlmm.yaml). The latter part of your sentence refers to the pin definition having to end up under TLMM in the final DT, which it will be regardless of where exactly in the source files it appears. What I'm alluding to is that we organize some of these definitions in a specific source file to make logical sense and keep them within relevant scope (i.e. you shouldn't be able to refer to a board X-specific setting from board Y DT - that's unnecessary room for error, whereas pin definitions that are a result of the SoC design make sense to be shared) > Are you suggesting they shouldn’t be part of TLMM in the SoC DTSI? This doesn’t align with the YAML file. That's not exactly true, the YAML file you're referencing only lists the allowed entries in the 'function' property of the pinmux subnodes. The DT checker makes no effort to analyze your file structure, it only makes sure that you're not adding illegal properties (or lacking required ones) for a given device described by a binding. > Regarding GPIO_73: Noted. I will move it to monaco-evk.dts under the tlmm section. > > Below are the example snippets: > In monaco.dtsi (SoC level): > tlmm: pinctrl@... { > cam_mclk0_default: cam-mclk0-default-state { > pins = "gpio67"; > function = "cam_mclk"; > drive-strength = <2>; > }; > .... > }; > > In monaco-evk.dts (Board level): > &tlmm { > cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state { > pins = "gpio73"; > function = "gpio"; > drive-strength = <2>; > bias-disable; > }; That was my entire points, thanks Konrad ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v6 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions 2025-12-05 11:58 ` Konrad Dybcio @ 2025-12-09 8:27 ` Nihal Kumar Gupta 0 siblings, 0 replies; 6+ messages in thread From: Nihal Kumar Gupta @ 2025-12-09 8:27 UTC (permalink / raw) To: Konrad Dybcio, Vikram Sharma Cc: bryan.odonoghue, mchehab, robh, 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, Vishal Verma On 05-12-2025 17:28, Konrad Dybcio wrote: >> In monaco-evk.dts (Board level): >> &tlmm { >> cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state { >> pins = "gpio73"; >> function = "gpio"; >> drive-strength = <2>; >> bias-disable; >> }; > That was my entire points, thanks ACK. I will proceed with the example snippet. As Vladimir suggested, the MCLK pad functions in this commit are unrelated to CCI, so I will split them into a separate commit. GPIOs for enabling regulators are board-specific and will be moved to the EVK .dts in another commit. Let me know if you see any ambiguity. -- Regards, Nihal Kumar Gupta ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v6 0/3] Add CCI and imx577 sensor support for monaco evk @ 2025-11-26 8:10 Vikram Sharma 2025-11-26 8:10 ` [PATCH v6 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma 0 siblings, 1 reply; 6+ messages in thread From: Vikram Sharma @ 2025-11-26 8:10 UTC (permalink / raw) To: rfoss, todor.too, 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, 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/20251107162521.511536-1-quic_vikramsa@quicinc.com Bindings for Supplies are added by below patch: https://lore.kernel.org/all/20251107162521.511536-1-quic_vikramsa@quicinc.com Changes in v6: - Fixed ordering of property-n and property-names in vreg_cam1_2p8 - Konrad - Moved vreg_cam1_2p8 defintion to monaco-evk.dts - Konrad - Removed description of pins with MCLK and Regulators function - Konrad - Added pin hardware description for MCLK, regulators in monaco.dtsi - Konrad - Link to v5: https://lore.kernel.org/all/20251114064541.446276-1-quic_vikramsa@quicinc.com Changes in v5: - Rename cciX_i2cY_* to cciX_Y_* to shorten the labels - Vladimir - Added description of pins with MCLK function - Vladimir - Link to v4: https://lore.kernel.org/all/20251015131303.2797800-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 | 67 ++++ arch/arm64/boot/dts/qcom/monaco-evk.dts | 10 + arch/arm64/boot/dts/qcom/monaco.dtsi | 345 ++++++++++++++++++ 5 files changed, 428 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk-camera-imx577.dtso -- 2.34.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v6 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions 2025-11-26 8:10 [PATCH v6 0/3] Add CCI and imx577 sensor support for monaco evk Vikram Sharma @ 2025-11-26 8:10 ` Vikram Sharma 2025-12-01 14:58 ` Konrad Dybcio 2025-12-02 13:59 ` Vladimir Zapolskiy 0 siblings, 2 replies; 6+ messages in thread From: Vikram Sharma @ 2025-11-26 8:10 UTC (permalink / raw) To: rfoss, todor.too, 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, nihalkum, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma, Suresh Vankadara, Vladimir Zapolskiy, Konrad Dybcio From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> Qualcomm QCS8300 SoC contains three Camera Control Interface (CCI). Compared to Lemans, the key difference is in SDA/SCL GPIO assignments and number of CCIs. Signed-off-by: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> 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: Vikram Sharma <quic_vikramsa@quicinc.com> Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> --- arch/arm64/boot/dts/qcom/monaco.dtsi | 345 +++++++++++++++++++++++++++ 1 file changed, 345 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi index 774255c3f6fc..7c575e1c5e10 100644 --- a/arch/arm64/boot/dts/qcom/monaco.dtsi +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi @@ -4776,6 +4776,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_0_default &cci0_1_default>; + pinctrl-1 = <&cci0_0_sleep &cci0_1_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_0_default &cci1_1_default>; + pinctrl-1 = <&cci1_0_sleep &cci1_1_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_0_default &cci2_1_default>; + pinctrl-1 = <&cci2_0_sleep &cci2_1_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"; @@ -5071,6 +5182,240 @@ tlmm: pinctrl@f100000 { #interrupt-cells = <2>; wakeup-parent = <&pdc>; + cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state { + pins = "gpio73"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + cam0_default: cam0-default-state { + pins = "gpio67"; + function = "cam_mclk"; + drive-strength = <2>; + bias-disable; + }; + + cam1_avdd_2v8_en_default: cam1-avdd-2v8-en-state { + pins = "gpio74"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + cam1_default: cam1-default-state { + pins = "gpio68"; + function = "cam_mclk"; + drive-strength = <2>; + bias-disable; + }; + + cam2_avdd_2v8_en_default: cam2-avdd-2v8-en-state { + pins = "gpio75"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + cam2_default: cam2-default-state { + pins = "gpio69"; + function = "cam_mclk"; + drive-strength = <2>; + bias-disable; + }; + + cci0_0_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_0_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_1_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_1_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_0_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_0_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_1_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_1_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_0_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_0_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_1_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_1_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 [flat|nested] 6+ messages in thread
* Re: [PATCH v6 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions 2025-11-26 8:10 ` [PATCH v6 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma @ 2025-12-01 14:58 ` Konrad Dybcio 2025-12-02 13:59 ` Vladimir Zapolskiy 1 sibling, 0 replies; 6+ messages in thread From: Konrad Dybcio @ 2025-12-01 14:58 UTC (permalink / raw) To: Vikram Sharma, rfoss, todor.too, bryan.odonoghue, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, nihalkum, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma, Suresh Vankadara, Vladimir Zapolskiy On 11/26/25 9:10 AM, Vikram Sharma wrote: > From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> > > Qualcomm QCS8300 SoC contains three Camera Control Interface (CCI). > Compared to Lemans, the key difference is in SDA/SCL GPIO assignments > and number of CCIs. [...] > @@ -5071,6 +5182,240 @@ tlmm: pinctrl@f100000 { > #interrupt-cells = <2>; > wakeup-parent = <&pdc>; > > + cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state { > + pins = "gpio73"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + }; I'm not sure whether I was unclear, but my intention was to ask you to move the MCLK pin definitions to the SoC DTSI, because that comes from the design of the platform and doesn't vary between end products. GPIO_73 being related to a voltage regulator is strictly a property of the EVK. Konrad ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v6 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions 2025-11-26 8:10 ` [PATCH v6 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma 2025-12-01 14:58 ` Konrad Dybcio @ 2025-12-02 13:59 ` Vladimir Zapolskiy 1 sibling, 0 replies; 6+ messages in thread From: Vladimir Zapolskiy @ 2025-12-02 13:59 UTC (permalink / raw) To: Vikram Sharma, rfoss, todor.too, bryan.odonoghue, mchehab, robh, krzk+dt, conor+dt, andersson, konradybcio, hverkuil-cisco, cros-qcom-dts-watchers, catalin.marinas, will Cc: linux-arm-kernel, nihalkum, linux-media, linux-arm-msm, devicetree, linux-kernel, Ravi Shankar, Vishal Verma, Suresh Vankadara, Konrad Dybcio On 11/26/25 10:10, Vikram Sharma wrote: > From: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> > > Qualcomm QCS8300 SoC contains three Camera Control Interface (CCI). > Compared to Lemans, the key difference is in SDA/SCL GPIO assignments > and number of CCIs. > > Signed-off-by: Nihal Kumar Gupta <quic_nihalkum@quicinc.com> > 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: Vikram Sharma <quic_vikramsa@quicinc.com> > Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> > Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> > Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > --- > arch/arm64/boot/dts/qcom/monaco.dtsi | 345 +++++++++++++++++++++++++++ > 1 file changed, 345 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi > index 774255c3f6fc..7c575e1c5e10 100644 > --- a/arch/arm64/boot/dts/qcom/monaco.dtsi > +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi > @@ -4776,6 +4776,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_0_default &cci0_1_default>; > + pinctrl-1 = <&cci0_0_sleep &cci0_1_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_0_default &cci1_1_default>; > + pinctrl-1 = <&cci1_0_sleep &cci1_1_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_0_default &cci2_1_default>; > + pinctrl-1 = <&cci2_0_sleep &cci2_1_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"; > > @@ -5071,6 +5182,240 @@ tlmm: pinctrl@f100000 { > #interrupt-cells = <2>; > wakeup-parent = <&pdc>; > > + cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state { > + pins = "gpio73"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + }; > + > + cam0_default: cam0-default-state { > + pins = "gpio67"; > + function = "cam_mclk"; > + drive-strength = <2>; > + bias-disable; > + }; > + > + cam1_avdd_2v8_en_default: cam1-avdd-2v8-en-state { > + pins = "gpio74"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + }; > + > + cam1_default: cam1-default-state { > + pins = "gpio68"; > + function = "cam_mclk"; > + drive-strength = <2>; > + bias-disable; > + }; MCLK pad function declatarions has nothing in common with the CCI, thus it should be split into a separate commit. > + > + cam2_avdd_2v8_en_default: cam2-avdd-2v8-en-state { > + pins = "gpio75"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + }; All declarations of GPIOs to enable regulators shall be moved to a board specific .dts file. -- Best wishes, Vladimir ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-12-09 8:27 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <DS0PR02MB11311CE33DFFE0739BE747590E3D8A@DS0PR02MB11311.namprd02.prod.outlook.com>
[not found] ` <d49920eb-0b4e-4042-b0c6-28d1ba348ddc@quicinc.com>
2025-12-02 7:35 ` [PATCH v6 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Nihal Kumar Gupta
2025-12-05 11:58 ` Konrad Dybcio
2025-12-09 8:27 ` Nihal Kumar Gupta
2025-11-26 8:10 [PATCH v6 0/3] Add CCI and imx577 sensor support for monaco evk Vikram Sharma
2025-11-26 8:10 ` [PATCH v6 2/3] arm64: dts: qcom: qcs8300: Add CCI definitions Vikram Sharma
2025-12-01 14:58 ` Konrad Dybcio
2025-12-02 13:59 ` Vladimir Zapolskiy
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®