* [PATCH v2 0/3] Add CCI and imx577 sensor support for lemans evk
@ 2025-08-15 7:07 Wenmeng Liu
2025-08-15 7:07 ` [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document sa8775p compatible Wenmeng Liu
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Wenmeng Liu @ 2025-08-15 7:07 UTC (permalink / raw)
To: Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
bryan.odonoghue, vladimir.zapolskiy, todor.too
Cc: linux-i2c, linux-arm-msm, devicetree, linux-kernel, Wenmeng Liu,
linux-media
This series adds cci definition and imx577 sensor enablement
via cci1 on lemans evk.
An example media-ctl pipeline for the imx577 is:
media-ctl -d /dev/media0 --reset
media-ctl -d /dev/media0 -V '"imx577 0-001a":0[fmt:SRGGB10/4056x3040 field:none]'
media-ctl -d /dev/media0 -V '"msm_csiphy1":0[fmt:SRGGB10/4056x3040]'
media-ctl -d /dev/media0 -V '"msm_csid0":0[fmt:SRGGB10/4056x3040]'
media-ctl -d /dev/media0 -V '"msm_vfe0_rdi0":0[fmt:SRGGB10/4056x3040]'
media-ctl -d /dev/media0 -l '"msm_csiphy1":1->"msm_csid0":0[1]'
media-ctl -d /dev/media0 -l '"msm_csid0":1->"msm_vfe0_rdi0":0[1]'
yavta -B capture-mplane -n 5 -f SRGGB10P -s 4056x3040 -F /dev/video0 --capture=5
Changes in V2:
- Remove the patch that adds PHY supply documentation in the sa8775p CAMSS
bindings. This change should be submitted together with the sa8775p bindings patch.
- Fix the string ordering in the DTS file.
- Remove the source clock from the CCI node.
- Move the sensor enable configuration from lemans-evk.dts to lemans-evk-camera.dtso.
- Remove the definitions for CCI and regulators that are not enabled.
- Link to v1:
https://lore.kernel.org/all/20250514-rb8_camera-v1-0-bf4a39e304e9@quicinc.com/
Signed-off-by: Wenmeng Liu <quic_wenmliu@quicinc.com>
---
Wenmeng Liu (3):
dt-bindings: i2c: qcom-cci: Document sa8775p compatible
arm64: dts: qcom: sa8775p: Add CCI definitions
arm64: dts: qcom: lemans-evk-camera: Add DT overlay
.../devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 +
arch/arm64/boot/dts/qcom/Makefile | 4 +
arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso | 105 ++++++++
arch/arm64/boot/dts/qcom/lemans.dtsi | 268 +++++++++++++++++++++
4 files changed, 379 insertions(+)
---
base-commit: f0d48d68b1e7323d253068c5d4f7b470c5e927de
change-id: 20250815-rb8_camera-877517c45388
Best regards,
--
Wenmeng Liu <quic_wenmliu@quicinc.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document sa8775p compatible
2025-08-15 7:07 [PATCH v2 0/3] Add CCI and imx577 sensor support for lemans evk Wenmeng Liu
@ 2025-08-15 7:07 ` Wenmeng Liu
2025-08-15 10:44 ` Bryan O'Donoghue
2025-08-20 20:31 ` Rob Herring (Arm)
2025-08-15 7:07 ` [PATCH v2 2/3] arm64: dts: qcom: sa8775p: Add CCI definitions Wenmeng Liu
` (2 subsequent siblings)
3 siblings, 2 replies; 10+ messages in thread
From: Wenmeng Liu @ 2025-08-15 7:07 UTC (permalink / raw)
To: Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
bryan.odonoghue, vladimir.zapolskiy, todor.too
Cc: linux-i2c, linux-arm-msm, devicetree, linux-kernel, Wenmeng Liu,
linux-media
Add the sa8775p CCI device string compatible.
Signed-off-by: Wenmeng Liu <quic_wenmliu@quicinc.com>
---
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 73144473b9b24e574bfc6bd7d8908f2f3895e087..54441a638da2b7feb44741264810d7a0de319858 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,sa8775p-cci
- qcom,sc7280-cci
- qcom,sc8280xp-cci
- qcom,sdm670-cci
@@ -223,6 +224,7 @@ allOf:
compatible:
contains:
enum:
+ - qcom,sa8775p-cci
- qcom,sm8550-cci
- qcom,sm8650-cci
- qcom,x1e80100-cci
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 2/3] arm64: dts: qcom: sa8775p: Add CCI definitions
2025-08-15 7:07 [PATCH v2 0/3] Add CCI and imx577 sensor support for lemans evk Wenmeng Liu
2025-08-15 7:07 ` [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document sa8775p compatible Wenmeng Liu
@ 2025-08-15 7:07 ` Wenmeng Liu
2025-08-15 12:33 ` Bryan O'Donoghue
2025-08-15 7:07 ` [PATCH v2 3/3] arm64: dts: qcom: lemans-evk-camera: Add DT overlay Wenmeng Liu
2025-08-15 7:48 ` [PATCH v2 0/3] Add CCI and imx577 sensor support for lemans evk Wenmeng Liu
3 siblings, 1 reply; 10+ messages in thread
From: Wenmeng Liu @ 2025-08-15 7:07 UTC (permalink / raw)
To: Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
bryan.odonoghue, vladimir.zapolskiy, todor.too
Cc: linux-i2c, linux-arm-msm, devicetree, linux-kernel, Wenmeng Liu,
linux-media
Qualcomm SA8775P SoC contains 4 Camera Control Interface controllers.
Signed-off-by: Wenmeng Liu <quic_wenmliu@quicinc.com>
---
arch/arm64/boot/dts/qcom/lemans.dtsi | 268 +++++++++++++++++++++++++++++++++++
1 file changed, 268 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
index 67d1e293861970e9ddfc0df1bb674aeffb6bee6f..ba2715eee4fbf705b790a46c3b09eb20007b32b5 100644
--- a/arch/arm64/boot/dts/qcom/lemans.dtsi
+++ b/arch/arm64/boot/dts/qcom/lemans.dtsi
@@ -4358,6 +4358,162 @@ videocc: clock-controller@abf0000 {
#power-domain-cells = <1>;
};
+ cci0: cci@ac13000 {
+ compatible = "qcom,sa8775p-cci", "qcom,msm8996-cci";
+ reg = <0x0 0x0ac13000 0x0 0x1000>;
+
+ interrupts = <GIC_SPI 460 IRQ_TYPE_EDGE_RISING>;
+
+ power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
+
+ 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";
+
+ 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,sa8775p-cci", "qcom,msm8996-cci";
+ reg = <0x0 0x0ac14000 0x0 0x1000>;
+
+ interrupts = <GIC_SPI 271 IRQ_TYPE_EDGE_RISING>;
+
+ power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
+
+ 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";
+
+ 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,sa8775p-cci", "qcom,msm8996-cci";
+ reg = <0x0 0x0ac15000 0x0 0x1000>;
+
+ interrupts = <GIC_SPI 651 IRQ_TYPE_EDGE_RISING>;
+
+ power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
+
+ 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";
+
+ 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>;
+ };
+ };
+
+ cci3: cci@ac16000 {
+ compatible = "qcom,sa8775p-cci", "qcom,msm8996-cci";
+ reg = <0x0 0x0ac16000 0x0 0x1000>;
+
+ interrupts = <GIC_SPI 771 IRQ_TYPE_EDGE_RISING>;
+
+ power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
+
+ clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
+ <&camcc CAM_CC_CPAS_AHB_CLK>,
+ <&camcc CAM_CC_CCI_3_CLK>;
+ clock-names = "camnoc_axi",
+ "cpas_ahb",
+ "cci";
+
+ pinctrl-0 = <&cci3_0_default &cci3_1_default>;
+ pinctrl-1 = <&cci3_0_sleep &cci3_1_sleep>;
+ pinctrl-names = "default", "sleep";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+
+ cci3_i2c0: i2c-bus@0 {
+ reg = <0>;
+ clock-frequency = <1000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ cci3_i2c1: i2c-bus@1 {
+ reg = <1>;
+ clock-frequency = <1000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
camss: isp@ac78000 {
compatible = "qcom,sa8775p-camss";
@@ -5189,6 +5345,118 @@ tlmm: pinctrl@f000000 {
gpio-ranges = <&tlmm 0 0 149>;
wakeup-parent = <&pdc>;
+ cci0_0_default: cci0-0-default-state {
+ pins = "gpio60", "gpio61";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ cci0_0_sleep: cci0-0-sleep-state {
+ pins = "gpio60", "gpio61";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ cci0_1_default: cci0-1-default-state {
+ pins = "gpio52", "gpio53";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ cci0_1_sleep: cci0-1-sleep-state {
+ pins = "gpio52", "gpio53";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ cci1_0_default: cci1-0-default-state {
+ pins = "gpio62", "gpio63";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ cci1_0_sleep: cci1-0-sleep-state {
+ pins = "gpio62", "gpio63";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ cci1_1_default: cci1-1-default-state {
+ pins = "gpio54", "gpio55";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ cci1_1_sleep: cci1-1-sleep-state {
+ pins = "gpio54", "gpio55";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ cci2_0_default: cci2-0-default-state {
+ pins = "gpio64", "gpio65";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ cci2_0_sleep: cci2-0-sleep-state {
+ pins = "gpio64", "gpio65";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ cci2_1_default: cci2-1-default-state {
+ pins = "gpio56", "gpio57";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ cci2_1_sleep: cci2-1-sleep-state {
+ pins = "gpio56", "gpio57";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ cci3_0_default: cci3-0-default-state {
+ pins = "gpio66", "gpio67";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ cci3_0_sleep: cci3-0-sleep-state {
+ pins = "gpio66", "gpio67";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ cci3_1_default: cci3-1-default-state {
+ pins = "gpio58", "gpio59";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-up = <2200>;
+ };
+
+ cci3_1_sleep: cci3-1-sleep-state {
+ pins = "gpio58", "gpio59";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
qup_i2c0_default: qup-i2c0-state {
pins = "gpio20", "gpio21";
function = "qup0_se0";
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 3/3] arm64: dts: qcom: lemans-evk-camera: Add DT overlay
2025-08-15 7:07 [PATCH v2 0/3] Add CCI and imx577 sensor support for lemans evk Wenmeng Liu
2025-08-15 7:07 ` [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document sa8775p compatible Wenmeng Liu
2025-08-15 7:07 ` [PATCH v2 2/3] arm64: dts: qcom: sa8775p: Add CCI definitions Wenmeng Liu
@ 2025-08-15 7:07 ` Wenmeng Liu
2025-08-15 8:30 ` Bryan O'Donoghue
2025-08-15 12:32 ` Bryan O'Donoghue
2025-08-15 7:48 ` [PATCH v2 0/3] Add CCI and imx577 sensor support for lemans evk Wenmeng Liu
3 siblings, 2 replies; 10+ messages in thread
From: Wenmeng Liu @ 2025-08-15 7:07 UTC (permalink / raw)
To: Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
bryan.odonoghue, vladimir.zapolskiy, todor.too
Cc: linux-i2c, linux-arm-msm, devicetree, linux-kernel, Wenmeng Liu,
linux-media
Enable IMX577 via CCI1 on Lemans EVK.
Signed-off-by: Wenmeng Liu <quic_wenmliu@quicinc.com>
---
arch/arm64/boot/dts/qcom/Makefile | 4 +
arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso | 105 ++++++++++++++++++++++++
2 files changed, 109 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 94a84770b0802a9dc0c56ce6c59eea20967a5d89..7efd113143013c6e9d211597a4c2defd44497c83 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -30,6 +30,10 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp449.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp454.dtb
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk.dtb
+
+lemans-evk-camera-dtbs := lemans-evk.dtb lemans-evk-camera.dtbo
+
+dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-camera.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8216-samsung-fortuna3g.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-acer-a1-724.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso b/arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso
new file mode 100644
index 0000000000000000000000000000000000000000..4600d5441cce4507734b2fdcdbffc1ad7c67c32d
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso
@@ -0,0 +1,105 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2024-2025 Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+
+/*
+ * Camera Sensor overlay on top of leman evk core kit.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/qcom,sa8775p-camcc.h>
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ vreg_cam1_1p8: vreg_cam1_1p8 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_cam1_1p8";
+ startup-delay-us = <10000>;
+ enable-active-high;
+ gpio = <&pmm8654au_0_gpios 8 GPIO_ACTIVE_HIGH>;
+ };
+};
+
+&camcc {
+ status = "okay";
+};
+
+&camss {
+ vdda-pll-supply = <&vreg_l1c>;
+ vdda-phy-supply = <&vreg_l4a>;
+
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+
+ csiphy1_ep: endpoint {
+ clock-lanes = <7>;
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&imx577_ep1>;
+ };
+ };
+ };
+};
+
+&cci1 {
+ pinctrl-0 = <&cci1_0_default>;
+ pinctrl-1 = <&cci1_0_sleep>;
+
+ status = "okay";
+};
+
+&cci1_i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ camera@1a {
+ compatible = "sony,imx577";
+ reg = <0x1a>;
+
+ reset-gpios = <&tlmm 133 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>;
+
+ dovdd-supply = <&vreg_s4a>;
+ avdd-supply = <&vreg_cam1_1p8>;
+
+ 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 = "gpio73";
+ function = "cam_mclk";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ rst-pins {
+ pins = "gpio133";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/3] Add CCI and imx577 sensor support for lemans evk
2025-08-15 7:07 [PATCH v2 0/3] Add CCI and imx577 sensor support for lemans evk Wenmeng Liu
` (2 preceding siblings ...)
2025-08-15 7:07 ` [PATCH v2 3/3] arm64: dts: qcom: lemans-evk-camera: Add DT overlay Wenmeng Liu
@ 2025-08-15 7:48 ` Wenmeng Liu
3 siblings, 0 replies; 10+ messages in thread
From: Wenmeng Liu @ 2025-08-15 7:48 UTC (permalink / raw)
To: Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
bryan.odonoghue, vladimir.zapolskiy, todor.too
Cc: linux-i2c, linux-arm-msm, devicetree, linux-kernel, linux-media
On 2025/8/15 15:07, Wenmeng Liu wrote:
> This series adds cci definition and imx577 sensor enablement
> via cci1 on lemans evk.
>
> An example media-ctl pipeline for the imx577 is:
>
> media-ctl -d /dev/media0 --reset
> media-ctl -d /dev/media0 -V '"imx577 0-001a":0[fmt:SRGGB10/4056x3040 field:none]'
> media-ctl -d /dev/media0 -V '"msm_csiphy1":0[fmt:SRGGB10/4056x3040]'
> media-ctl -d /dev/media0 -V '"msm_csid0":0[fmt:SRGGB10/4056x3040]'
> media-ctl -d /dev/media0 -V '"msm_vfe0_rdi0":0[fmt:SRGGB10/4056x3040]'
> media-ctl -d /dev/media0 -l '"msm_csiphy1":1->"msm_csid0":0[1]'
> media-ctl -d /dev/media0 -l '"msm_csid0":1->"msm_vfe0_rdi0":0[1]'
>
> yavta -B capture-mplane -n 5 -f SRGGB10P -s 4056x3040 -F /dev/video0 --capture=5
>
> Changes in V2:
> - Remove the patch that adds PHY supply documentation in the sa8775p CAMSS
> bindings. This change should be submitted together with the sa8775p bindings patch.
> - Fix the string ordering in the DTS file.
> - Remove the source clock from the CCI node.
> - Move the sensor enable configuration from lemans-evk.dts to lemans-evk-camera.dtso.
> - Remove the definitions for CCI and regulators that are not enabled.
> - Link to v1:
> https://lore.kernel.org/all/20250514-rb8_camera-v1-0-bf4a39e304e9@quicinc.com/
>
> Signed-off-by: Wenmeng Liu <quic_wenmliu@quicinc.com>
> ---
> Wenmeng Liu (3):
> dt-bindings: i2c: qcom-cci: Document sa8775p compatible
> arm64: dts: qcom: sa8775p: Add CCI definitions
> arm64: dts: qcom: lemans-evk-camera: Add DT overlay
>
> .../devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 +
> arch/arm64/boot/dts/qcom/Makefile | 4 +
> arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso | 105 ++++++++
> arch/arm64/boot/dts/qcom/lemans.dtsi | 268 +++++++++++++++++++++
> 4 files changed, 379 insertions(+)
> ---
> base-commit: f0d48d68b1e7323d253068c5d4f7b470c5e927de
> change-id: 20250815-rb8_camera-877517c45388
>
> Best regards,
Lack of dependence:
This patch series depends on patch series:
https://lore.kernel.org/linux-arm-msm/20250814101615.1102795-1-quic_vikramsa@quicinc.com/
Thanks
Wenmeng
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: qcom: lemans-evk-camera: Add DT overlay
2025-08-15 7:07 ` [PATCH v2 3/3] arm64: dts: qcom: lemans-evk-camera: Add DT overlay Wenmeng Liu
@ 2025-08-15 8:30 ` Bryan O'Donoghue
2025-08-15 12:32 ` Bryan O'Donoghue
1 sibling, 0 replies; 10+ messages in thread
From: Bryan O'Donoghue @ 2025-08-15 8:30 UTC (permalink / raw)
To: Wenmeng Liu, Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
vladimir.zapolskiy, todor.too
Cc: linux-i2c, linux-arm-msm, devicetree, linux-kernel, linux-media
On 15/08/2025 08:07, Wenmeng Liu wrote:
> Enable IMX577 via CCI1 on Lemans EVK.
>
> Signed-off-by: Wenmeng Liu <quic_wenmliu@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 4 +
> arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso | 105 ++++++++++++++++++++++++
> 2 files changed, 109 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 94a84770b0802a9dc0c56ce6c59eea20967a5d89..7efd113143013c6e9d211597a4c2defd44497c83 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -30,6 +30,10 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp449.dtb
> dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb
> dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp454.dtb
> dtb-$(CONFIG_ARCH_QCOM) += lemans-evk.dtb
> +
> +lemans-evk-camera-dtbs := lemans-evk.dtb lemans-evk-camera.dtbo
> +
> +dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-camera.dtb
> dtb-$(CONFIG_ARCH_QCOM) += msm8216-samsung-fortuna3g.dtb
> dtb-$(CONFIG_ARCH_QCOM) += msm8916-acer-a1-724.dtb
> dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb
> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso b/arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso
> new file mode 100644
> index 0000000000000000000000000000000000000000..4600d5441cce4507734b2fdcdbffc1ad7c67c32d
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso
> @@ -0,0 +1,105 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2024-2025 Qualcomm Innovation Center, Inc. All rights reserved.
> + */
> +
> +/*
> + * Camera Sensor overlay on top of leman evk core kit.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/clock/qcom,sa8775p-camcc.h>
> +#include <dt-bindings/gpio/gpio.h>
> +
> +&{/} {
> + vreg_cam1_1p8: vreg_cam1_1p8 {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg_cam1_1p8";
> + startup-delay-us = <10000>;
> + enable-active-high;
> + gpio = <&pmm8654au_0_gpios 8 GPIO_ACTIVE_HIGH>;
> + };
> +};
> +
> +&camcc {
> + status = "okay";
> +};
> +
> +&camss {
> + vdda-pll-supply = <&vreg_l1c>;
> + vdda-phy-supply = <&vreg_l4a>;
> +
> + status = "okay";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@1 {
> + reg = <1>;
> +
> + csiphy1_ep: endpoint {
> + clock-lanes = <7>;
> + data-lanes = <0 1 2 3>;
> + remote-endpoint = <&imx577_ep1>;
> + };
> + };
> + };
> +};
> +
> +&cci1 {
> + pinctrl-0 = <&cci1_0_default>;
> + pinctrl-1 = <&cci1_0_sleep>;
> +
> + status = "okay";
> +};
> +
> +&cci1_i2c0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + camera@1a {
> + compatible = "sony,imx577";
> + reg = <0x1a>;
> +
> + reset-gpios = <&tlmm 133 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>;
> +
> + dovdd-supply = <&vreg_s4a>;
> + avdd-supply = <&vreg_cam1_1p8>;
> +
> + 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 = "gpio73";
> + function = "cam_mclk";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + rst-pins {
> + pins = "gpio133";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> + };
> +};
>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document sa8775p compatible
2025-08-15 7:07 ` [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document sa8775p compatible Wenmeng Liu
@ 2025-08-15 10:44 ` Bryan O'Donoghue
2025-08-20 20:31 ` Rob Herring (Arm)
1 sibling, 0 replies; 10+ messages in thread
From: Bryan O'Donoghue @ 2025-08-15 10:44 UTC (permalink / raw)
To: Wenmeng Liu, Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
vladimir.zapolskiy, todor.too
Cc: linux-i2c, linux-arm-msm, devicetree, linux-kernel, linux-media
On 15/08/2025 08:07, Wenmeng Liu wrote:
> Add the sa8775p CCI device string compatible.
>
> Signed-off-by: Wenmeng Liu <quic_wenmliu@quicinc.com>
> ---
> 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 73144473b9b24e574bfc6bd7d8908f2f3895e087..54441a638da2b7feb44741264810d7a0de319858 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,sa8775p-cci
> - qcom,sc7280-cci
> - qcom,sc8280xp-cci
> - qcom,sdm670-cci
> @@ -223,6 +224,7 @@ allOf:
> compatible:
> contains:
> enum:
> + - qcom,sa8775p-cci
> - qcom,sm8550-cci
> - qcom,sm8650-cci
> - qcom,x1e80100-cci
>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: qcom: lemans-evk-camera: Add DT overlay
2025-08-15 7:07 ` [PATCH v2 3/3] arm64: dts: qcom: lemans-evk-camera: Add DT overlay Wenmeng Liu
2025-08-15 8:30 ` Bryan O'Donoghue
@ 2025-08-15 12:32 ` Bryan O'Donoghue
1 sibling, 0 replies; 10+ messages in thread
From: Bryan O'Donoghue @ 2025-08-15 12:32 UTC (permalink / raw)
To: Wenmeng Liu, Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
bryan.odonoghue, vladimir.zapolskiy, todor.too
Cc: linux-i2c, linux-arm-msm, devicetree, linux-kernel, linux-media
On 15/08/2025 08:07, Wenmeng Liu wrote:
> Enable IMX577 via CCI1 on Lemans EVK.
>
> Signed-off-by: Wenmeng Liu <quic_wenmliu@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 4 +
> arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso | 105 ++++++++++++++++++++++++
> 2 files changed, 109 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 94a84770b0802a9dc0c56ce6c59eea20967a5d89..7efd113143013c6e9d211597a4c2defd44497c83 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -30,6 +30,10 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp449.dtb
> dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb
> dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp454.dtb
> dtb-$(CONFIG_ARCH_QCOM) += lemans-evk.dtb
> +
> +lemans-evk-camera-dtbs := lemans-evk.dtb lemans-evk-camera.dtbo
> +
> +dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-camera.dtb
> dtb-$(CONFIG_ARCH_QCOM) += msm8216-samsung-fortuna3g.dtb
> dtb-$(CONFIG_ARCH_QCOM) += msm8916-acer-a1-724.dtb
> dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb
> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso b/arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso
> new file mode 100644
> index 0000000000000000000000000000000000000000..4600d5441cce4507734b2fdcdbffc1ad7c67c32d
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/lemans-evk-camera.dtso
> @@ -0,0 +1,105 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2024-2025 Qualcomm Innovation Center, Inc. All rights reserved.
> + */
> +
> +/*
> + * Camera Sensor overlay on top of leman evk core kit.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/clock/qcom,sa8775p-camcc.h>
> +#include <dt-bindings/gpio/gpio.h>
> +
> +&{/} {
> + vreg_cam1_1p8: vreg_cam1_1p8 {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg_cam1_1p8";
> + startup-delay-us = <10000>;
> + enable-active-high;
> + gpio = <&pmm8654au_0_gpios 8 GPIO_ACTIVE_HIGH>;
> + };
> +};
> +
> +&camcc {
> + status = "okay";
> +};
> +
> +&camss {
> + vdda-pll-supply = <&vreg_l1c>;
> + vdda-phy-supply = <&vreg_l4a>;
> +
> + status = "okay";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@1 {
> + reg = <1>;
> +
> + csiphy1_ep: endpoint {
> + clock-lanes = <7>;
> + data-lanes = <0 1 2 3>;
> + remote-endpoint = <&imx577_ep1>;
> + };
> + };
> + };
> +};
> +
> +&cci1 {
> + pinctrl-0 = <&cci1_0_default>;
> + pinctrl-1 = <&cci1_0_sleep>;
> +
> + status = "okay";
> +};
> +
> +&cci1_i2c0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + camera@1a {
> + compatible = "sony,imx577";
> + reg = <0x1a>;
> +
> + reset-gpios = <&tlmm 133 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>;
> +
> + dovdd-supply = <&vreg_s4a>;
> + avdd-supply = <&vreg_cam1_1p8>;
> +
> + 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 = "gpio73";
> + function = "cam_mclk";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + rst-pins {
> + pins = "gpio133";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> + };
> +};
>
> --
> 2.34.1
>
>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/3] arm64: dts: qcom: sa8775p: Add CCI definitions
2025-08-15 7:07 ` [PATCH v2 2/3] arm64: dts: qcom: sa8775p: Add CCI definitions Wenmeng Liu
@ 2025-08-15 12:33 ` Bryan O'Donoghue
0 siblings, 0 replies; 10+ messages in thread
From: Bryan O'Donoghue @ 2025-08-15 12:33 UTC (permalink / raw)
To: Wenmeng Liu, Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
vladimir.zapolskiy, todor.too
Cc: linux-i2c, linux-arm-msm, devicetree, linux-kernel, linux-media
On 15/08/2025 08:07, Wenmeng Liu wrote:
> Qualcomm SA8775P SoC contains 4 Camera Control Interface controllers.
>
> Signed-off-by: Wenmeng Liu <quic_wenmliu@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/lemans.dtsi | 268 +++++++++++++++++++++++++++++++++++
> 1 file changed, 268 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
> index 67d1e293861970e9ddfc0df1bb674aeffb6bee6f..ba2715eee4fbf705b790a46c3b09eb20007b32b5 100644
> --- a/arch/arm64/boot/dts/qcom/lemans.dtsi
> +++ b/arch/arm64/boot/dts/qcom/lemans.dtsi
> @@ -4358,6 +4358,162 @@ videocc: clock-controller@abf0000 {
> #power-domain-cells = <1>;
> };
>
> + cci0: cci@ac13000 {
> + compatible = "qcom,sa8775p-cci", "qcom,msm8996-cci";
> + reg = <0x0 0x0ac13000 0x0 0x1000>;
> +
> + interrupts = <GIC_SPI 460 IRQ_TYPE_EDGE_RISING>;
> +
> + power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
> +
> + 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";
> +
> + 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,sa8775p-cci", "qcom,msm8996-cci";
> + reg = <0x0 0x0ac14000 0x0 0x1000>;
> +
> + interrupts = <GIC_SPI 271 IRQ_TYPE_EDGE_RISING>;
> +
> + power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
> +
> + 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";
> +
> + 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,sa8775p-cci", "qcom,msm8996-cci";
> + reg = <0x0 0x0ac15000 0x0 0x1000>;
> +
> + interrupts = <GIC_SPI 651 IRQ_TYPE_EDGE_RISING>;
> +
> + power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
> +
> + 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";
> +
> + 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>;
> + };
> + };
> +
> + cci3: cci@ac16000 {
> + compatible = "qcom,sa8775p-cci", "qcom,msm8996-cci";
> + reg = <0x0 0x0ac16000 0x0 0x1000>;
> +
> + interrupts = <GIC_SPI 771 IRQ_TYPE_EDGE_RISING>;
> +
> + power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
> +
> + clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
> + <&camcc CAM_CC_CPAS_AHB_CLK>,
> + <&camcc CAM_CC_CCI_3_CLK>;
> + clock-names = "camnoc_axi",
> + "cpas_ahb",
> + "cci";
> +
> + pinctrl-0 = <&cci3_0_default &cci3_1_default>;
> + pinctrl-1 = <&cci3_0_sleep &cci3_1_sleep>;
> + pinctrl-names = "default", "sleep";
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + status = "disabled";
> +
> + cci3_i2c0: i2c-bus@0 {
> + reg = <0>;
> + clock-frequency = <1000000>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + cci3_i2c1: i2c-bus@1 {
> + reg = <1>;
> + clock-frequency = <1000000>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> + };
> +
> camss: isp@ac78000 {
> compatible = "qcom,sa8775p-camss";
>
> @@ -5189,6 +5345,118 @@ tlmm: pinctrl@f000000 {
> gpio-ranges = <&tlmm 0 0 149>;
> wakeup-parent = <&pdc>;
>
> + cci0_0_default: cci0-0-default-state {
> + pins = "gpio60", "gpio61";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-up = <2200>;
> + };
> +
> + cci0_0_sleep: cci0-0-sleep-state {
> + pins = "gpio60", "gpio61";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-down;
> + };
> +
> + cci0_1_default: cci0-1-default-state {
> + pins = "gpio52", "gpio53";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-up = <2200>;
> + };
> +
> + cci0_1_sleep: cci0-1-sleep-state {
> + pins = "gpio52", "gpio53";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-down;
> + };
> +
> + cci1_0_default: cci1-0-default-state {
> + pins = "gpio62", "gpio63";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-up = <2200>;
> + };
> +
> + cci1_0_sleep: cci1-0-sleep-state {
> + pins = "gpio62", "gpio63";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-down;
> + };
> +
> + cci1_1_default: cci1-1-default-state {
> + pins = "gpio54", "gpio55";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-up = <2200>;
> + };
> +
> + cci1_1_sleep: cci1-1-sleep-state {
> + pins = "gpio54", "gpio55";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-down;
> + };
> +
> + cci2_0_default: cci2-0-default-state {
> + pins = "gpio64", "gpio65";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-up = <2200>;
> + };
> +
> + cci2_0_sleep: cci2-0-sleep-state {
> + pins = "gpio64", "gpio65";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-down;
> + };
> +
> + cci2_1_default: cci2-1-default-state {
> + pins = "gpio56", "gpio57";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-up = <2200>;
> + };
> +
> + cci2_1_sleep: cci2-1-sleep-state {
> + pins = "gpio56", "gpio57";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-down;
> + };
> +
> + cci3_0_default: cci3-0-default-state {
> + pins = "gpio66", "gpio67";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-up = <2200>;
> + };
> +
> + cci3_0_sleep: cci3-0-sleep-state {
> + pins = "gpio66", "gpio67";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-down;
> + };
> +
> + cci3_1_default: cci3-1-default-state {
> + pins = "gpio58", "gpio59";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-up = <2200>;
> + };
> +
> + cci3_1_sleep: cci3-1-sleep-state {
> + pins = "gpio58", "gpio59";
> + function = "cci_i2c";
> + drive-strength = <2>;
> + bias-pull-down;
> + };
> +
> qup_i2c0_default: qup-i2c0-state {
> pins = "gpio20", "gpio21";
> function = "qup0_se0";
>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document sa8775p compatible
2025-08-15 7:07 ` [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document sa8775p compatible Wenmeng Liu
2025-08-15 10:44 ` Bryan O'Donoghue
@ 2025-08-20 20:31 ` Rob Herring (Arm)
1 sibling, 0 replies; 10+ messages in thread
From: Rob Herring (Arm) @ 2025-08-20 20:31 UTC (permalink / raw)
To: Wenmeng Liu
Cc: vladimir.zapolskiy, Konrad Dybcio, todor.too, linux-arm-msm,
linux-kernel, Robert Foss, bryan.odonoghue, linux-i2c, Andi Shyti,
Loic Poulain, Conor Dooley, Krzysztof Kozlowski, Bjorn Andersson,
linux-media, devicetree
On Fri, 15 Aug 2025 15:07:17 +0800, Wenmeng Liu wrote:
> Add the sa8775p CCI device string compatible.
>
> Signed-off-by: Wenmeng Liu <quic_wenmliu@quicinc.com>
> ---
> Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-08-20 20:31 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-15 7:07 [PATCH v2 0/3] Add CCI and imx577 sensor support for lemans evk Wenmeng Liu
2025-08-15 7:07 ` [PATCH v2 1/3] dt-bindings: i2c: qcom-cci: Document sa8775p compatible Wenmeng Liu
2025-08-15 10:44 ` Bryan O'Donoghue
2025-08-20 20:31 ` Rob Herring (Arm)
2025-08-15 7:07 ` [PATCH v2 2/3] arm64: dts: qcom: sa8775p: Add CCI definitions Wenmeng Liu
2025-08-15 12:33 ` Bryan O'Donoghue
2025-08-15 7:07 ` [PATCH v2 3/3] arm64: dts: qcom: lemans-evk-camera: Add DT overlay Wenmeng Liu
2025-08-15 8:30 ` Bryan O'Donoghue
2025-08-15 12:32 ` Bryan O'Donoghue
2025-08-15 7:48 ` [PATCH v2 0/3] Add CCI and imx577 sensor support for lemans evk Wenmeng Liu
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).