linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650
@ 2024-06-12 21:58 Vladimir Zapolskiy
  2024-06-12 21:58 ` [PATCH v2 1/4] dt-bindings: i2c: qcom-cci: Document sm8550 compatible Vladimir Zapolskiy
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Vladimir Zapolskiy @ 2024-06-12 21:58 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Neil Armstrong, Jagadeesh Kona,
	Rob Herring, Krzysztof Kozlowski
  Cc: Loic Poulain, Robert Foss, Andi Shyti, Conor Dooley,
	linux-arm-msm, devicetree, linux-i2c

The changeset adds description of camera control interface controllers found
on Qualcomm SM8550 and SM8650 SoCs.

Previous version of the change is found as a single patch for SM8650 SoC:

    https://lore.kernel.org/all/20240410074951.447898-1-vladimir.zapolskiy@linaro.org/

Changes from v1 to v2:
* added new SM8550 specific changes,
* added dt-bindings documentation changes for both SM8550 and SM8650,
* unified bus names to follow cciX_Y scheme as it's mentioned by Konrad,
* removed minor code leftovers in sm8650.dtsi.

The patchset is based on v4 of "Add support for videocc and camcc on SM8650"
series by Jagadeesh Kona:

    https://lore.kernel.org/all/20240602114439.1611-1-quic_jkona@quicinc.com/

Note, that during the testing on SM8550-QRD board I discovered that it's
necessary to replace sm8550-camcc power domain from MMCX to MXC, however
that change and these ones are independent.

    https://lore.kernel.org/all/20240612214812.1149019-1-vladimir.zapolskiy@linaro.org/

Vladimir Zapolskiy (4):
  dt-bindings: i2c: qcom-cci: Document sm8550 compatible
  dt-bindings: i2c: qcom-cci: Document sm8650 compatible
  arm64: dts: qcom: sm8550: add description of CCI controllers
  arm64: dts: qcom: sm8650: add description of CCI controllers

 .../devicetree/bindings/i2c/qcom,i2c-cci.yaml |  20 ++
 arch/arm64/boot/dts/qcom/sm8550.dtsi          | 252 +++++++++++++++
 arch/arm64/boot/dts/qcom/sm8650.dtsi          | 291 ++++++++++++++++++
 3 files changed, 563 insertions(+)

-- 
2.33.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 1/4] dt-bindings: i2c: qcom-cci: Document sm8550 compatible
  2024-06-12 21:58 [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650 Vladimir Zapolskiy
@ 2024-06-12 21:58 ` Vladimir Zapolskiy
  2024-06-13  6:48   ` Krzysztof Kozlowski
  2024-06-26  3:36   ` Bjorn Andersson
  2024-06-12 21:58 ` [PATCH v2 2/4] dt-bindings: i2c: qcom-cci: Document sm8650 compatible Vladimir Zapolskiy
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 11+ messages in thread
From: Vladimir Zapolskiy @ 2024-06-12 21:58 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Neil Armstrong, Jagadeesh Kona,
	Rob Herring, Krzysztof Kozlowski
  Cc: Loic Poulain, Robert Foss, Andi Shyti, Conor Dooley,
	linux-arm-msm, devicetree, linux-i2c

Add sm8550 compatible consistent with CAMSS CCI interfaces, the list of
clocks is reduced by removing "slow_ahb_src" clock, which is derived
from "cpas_ahb" clock.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
---
 .../devicetree/bindings/i2c/qcom,i2c-cci.yaml  | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
index daf4e71b8e7f..e5c4b20446b6 100644
--- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
+++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
@@ -31,6 +31,7 @@ properties:
               - qcom,sm6350-cci
               - qcom,sm8250-cci
               - qcom,sm8450-cci
+              - qcom,sm8550-cci
           - const: qcom,msm8996-cci # CCI v2
 
   "#address-cells":
@@ -195,6 +196,23 @@ allOf:
             - const: cpas_ahb
             - const: cci
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,sm8550-cci
+    then:
+      properties:
+        clocks:
+          minItems: 3
+          maxItems: 3
+        clock-names:
+          items:
+            - const: camnoc_axi
+            - const: cpas_ahb
+            - const: cci
+
 additionalProperties: false
 
 examples:
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v2 2/4] dt-bindings: i2c: qcom-cci: Document sm8650 compatible
  2024-06-12 21:58 [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650 Vladimir Zapolskiy
  2024-06-12 21:58 ` [PATCH v2 1/4] dt-bindings: i2c: qcom-cci: Document sm8550 compatible Vladimir Zapolskiy
@ 2024-06-12 21:58 ` Vladimir Zapolskiy
  2024-06-13  6:48   ` Krzysztof Kozlowski
  2024-06-12 21:58 ` [PATCH v2 3/4] arm64: dts: qcom: sm8550: add description of CCI controllers Vladimir Zapolskiy
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Vladimir Zapolskiy @ 2024-06-12 21:58 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Neil Armstrong, Jagadeesh Kona,
	Rob Herring, Krzysztof Kozlowski
  Cc: Loic Poulain, Robert Foss, Andi Shyti, Conor Dooley,
	linux-arm-msm, devicetree, linux-i2c

Add sm8650 compatible consistent with CAMSS CCI interfaces.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
---
 Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
index e5c4b20446b6..c33ae7b63b84 100644
--- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
+++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
@@ -32,6 +32,7 @@ properties:
               - qcom,sm8250-cci
               - qcom,sm8450-cci
               - qcom,sm8550-cci
+              - qcom,sm8650-cci
           - const: qcom,msm8996-cci # CCI v2
 
   "#address-cells":
@@ -202,6 +203,7 @@ allOf:
           contains:
             enum:
               - qcom,sm8550-cci
+              - qcom,sm8650-cci
     then:
       properties:
         clocks:
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v2 3/4] arm64: dts: qcom: sm8550: add description of CCI controllers
  2024-06-12 21:58 [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650 Vladimir Zapolskiy
  2024-06-12 21:58 ` [PATCH v2 1/4] dt-bindings: i2c: qcom-cci: Document sm8550 compatible Vladimir Zapolskiy
  2024-06-12 21:58 ` [PATCH v2 2/4] dt-bindings: i2c: qcom-cci: Document sm8650 compatible Vladimir Zapolskiy
@ 2024-06-12 21:58 ` Vladimir Zapolskiy
  2024-06-12 21:58 ` [PATCH v2 4/4] arm64: dts: qcom: sm8650: " Vladimir Zapolskiy
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: Vladimir Zapolskiy @ 2024-06-12 21:58 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Neil Armstrong, Jagadeesh Kona,
	Rob Herring, Krzysztof Kozlowski
  Cc: Loic Poulain, Robert Foss, Andi Shyti, Conor Dooley,
	linux-arm-msm, devicetree, linux-i2c

Qualcomm SM8550 SoC contains 3 Camera Control Interface controllers
very similar to the ones found on other Qualcomm SoCs.

One noticeable difference is that cci@ac16000 controller provides only
one I2C bus and has an additional control over AON CCI pins gpio208
and gpio209, but this feature is not yet supported in the CCI driver.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8550.dtsi | 252 +++++++++++++++++++++++++++
 1 file changed, 252 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
index a429115524a6..b62bb47cb043 100644
--- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
@@ -2747,6 +2747,98 @@ videocc: clock-controller@aaf0000 {
 			#power-domain-cells = <1>;
 		};
 
+		cci0: cci@ac15000 {
+			compatible = "qcom,sm8550-cci", "qcom,msm8996-cci";
+			reg = <0 0x0ac15000 0 0x1000>;
+			interrupts = <GIC_SPI 426 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";
+			status = "disabled";
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			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@ac16000 {
+			compatible = "qcom,sm8550-cci", "qcom,msm8996-cci";
+			reg = <0 0x0ac16000 0 0x1000>;
+			interrupts = <GIC_SPI 427 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>;
+			pinctrl-1 = <&cci1_0_sleep>;
+			pinctrl-names = "default", "sleep";
+			status = "disabled";
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			cci1_i2c0: i2c-bus@0 {
+				reg = <0>;
+				clock-frequency = <1000000>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+			};
+		};
+
+		cci2: cci@ac17000 {
+			compatible = "qcom,sm8550-cci", "qcom,msm8996-cci";
+			reg = <0 0x0ac17000 0 0x1000>;
+			interrupts = <GIC_SPI 428 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";
+			status = "disabled";
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			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>;
+			};
+		};
+
 		camcc: clock-controller@ade0000 {
 			compatible = "qcom,sm8550-camcc";
 			reg = <0 0x0ade0000 0 0x20000>;
@@ -3393,6 +3485,166 @@ tlmm: pinctrl@f100000 {
 			gpio-ranges = <&tlmm 0 0 211>;
 			wakeup-parent = <&pdc>;
 
+			cci0_0_default: cci0-0-default-state {
+				sda-pins {
+					pins = "gpio110";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+
+				scl-pins {
+					pins = "gpio111";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+			};
+
+			cci0_0_sleep: cci0-0-sleep-state {
+				sda-pins {
+					pins = "gpio110";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+
+				scl-pins {
+					pins = "gpio111";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+			};
+
+			cci0_1_default: cci0-1-default-state {
+				sda-pins {
+					pins = "gpio112";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+
+				scl-pins {
+					pins = "gpio113";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+			};
+
+			cci0_1_sleep: cci0-1-sleep-state {
+				sda-pins {
+					pins = "gpio112";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+
+				scl-pins {
+					pins = "gpio113";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+			};
+
+			cci1_0_default: cci1-0-default-state {
+				sda-pins {
+					pins = "gpio114";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+
+				scl-pins {
+					pins = "gpio115";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+			};
+
+			cci1_0_sleep: cci1-0-sleep-state {
+				sda-pins {
+					pins = "gpio114";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+
+				scl-pins {
+					pins = "gpio115";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+			};
+
+			cci2_0_default: cci2-0-default-state {
+				sda-pins {
+					pins = "gpio74";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+
+				scl-pins {
+					pins = "gpio75";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+			};
+
+			cci2_0_sleep: cci2-0-sleep-state {
+				sda-pins {
+					pins = "gpio74";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+
+				scl-pins {
+					pins = "gpio75";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+			};
+
+			cci2_1_default: cci2-1-default-state {
+				sda-pins {
+					pins = "gpio0";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+
+				scl-pins {
+					pins = "gpio1";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+			};
+
+			cci2_1_sleep: cci2-1-sleep-state {
+				sda-pins {
+					pins = "gpio0";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+
+				scl-pins {
+					pins = "gpio1";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+			};
+
 			hub_i2c0_data_clk: hub-i2c0-data-clk-state {
 				/* SDA, SCL */
 				pins = "gpio16", "gpio17";
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v2 4/4] arm64: dts: qcom: sm8650: add description of CCI controllers
  2024-06-12 21:58 [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650 Vladimir Zapolskiy
                   ` (2 preceding siblings ...)
  2024-06-12 21:58 ` [PATCH v2 3/4] arm64: dts: qcom: sm8550: add description of CCI controllers Vladimir Zapolskiy
@ 2024-06-12 21:58 ` Vladimir Zapolskiy
  2024-07-16 18:28 ` [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650 Andi Shyti
  2024-08-15 20:40 ` (subset) " Bjorn Andersson
  5 siblings, 0 replies; 11+ messages in thread
From: Vladimir Zapolskiy @ 2024-06-12 21:58 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Neil Armstrong, Jagadeesh Kona,
	Rob Herring, Krzysztof Kozlowski
  Cc: Loic Poulain, Robert Foss, Andi Shyti, Conor Dooley,
	linux-arm-msm, devicetree, linux-i2c, Bryan O'Donoghue

Qualcomm SM8650 SoC has three CCI controllers with two I2C busses
connected to each of them.

The CCI controllers on SM8650 are compatible with the ones found on
many other older generations of Qualcomm SoCs.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8650.dtsi | 291 +++++++++++++++++++++++++++
 1 file changed, 291 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
index dcbb28850cbc..71fc45e9b9be 100644
--- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
@@ -3329,6 +3329,105 @@ videocc: clock-controller@aaf0000 {
 			#power-domain-cells = <1>;
 		};
 
+		cci0: cci@ac15000 {
+			compatible = "qcom,sm8650-cci", "qcom,msm8996-cci";
+			reg = <0 0x0ac15000 0 0x1000>;
+			interrupts = <GIC_SPI 426 IRQ_TYPE_EDGE_RISING>;
+			power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
+			clocks = <&camcc CAM_CC_CAMNOC_AXI_NRT_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";
+			status = "disabled";
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			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@ac16000 {
+			compatible = "qcom,sm8650-cci", "qcom,msm8996-cci";
+			reg = <0 0x0ac16000 0 0x1000>;
+			interrupts = <GIC_SPI 427 IRQ_TYPE_EDGE_RISING>;
+			power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
+			clocks = <&camcc CAM_CC_CAMNOC_AXI_NRT_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";
+			status = "disabled";
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			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@ac17000 {
+			compatible = "qcom,sm8650-cci", "qcom,msm8996-cci";
+			reg = <0 0x0ac17000 0 0x1000>;
+			interrupts = <GIC_SPI 428 IRQ_TYPE_EDGE_RISING>;
+			power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
+			clocks = <&camcc CAM_CC_CAMNOC_AXI_NRT_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";
+			status = "disabled";
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			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>;
+			};
+		};
+
 		camcc: clock-controller@ade0000 {
 			compatible = "qcom,sm8650-camcc";
 			reg = <0 0x0ade0000 0 0x20000>;
@@ -4029,6 +4128,198 @@ tlmm: pinctrl@f100000 {
 
 			wakeup-parent = <&pdc>;
 
+			cci0_0_default: cci0-0-default-state {
+				sda-pins {
+					pins = "gpio113";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+
+				scl-pins {
+					pins = "gpio114";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+			};
+
+			cci0_0_sleep: cci0-0-sleep-state {
+				sda-pins {
+					pins = "gpio113";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+
+				scl-pins {
+					pins = "gpio114";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+			};
+
+			cci0_1_default: cci0-1-default-state {
+				sda-pins {
+					pins = "gpio115";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+
+				scl-pins {
+					pins = "gpio116";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+			};
+
+			cci0_1_sleep: cci0-1-sleep-state {
+				sda-pins {
+					pins = "gpio115";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+
+				scl-pins {
+					pins = "gpio116";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+			};
+
+			cci1_0_default: cci1-0-default-state {
+				sda-pins {
+					pins = "gpio117";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+
+				scl-pins {
+					pins = "gpio118";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+			};
+
+			cci1_0_sleep: cci1-0-sleep-state {
+				sda-pins {
+					pins = "gpio117";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+
+				scl-pins {
+					pins = "gpio118";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+			};
+
+			cci1_1_default: cci1-1-default-state {
+				sda-pins {
+					pins = "gpio12";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+
+				scl-pins {
+					pins = "gpio13";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+			};
+
+			cci1_1_sleep: cci1-1-sleep-state {
+				sda-pins {
+					pins = "gpio12";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+
+				scl-pins {
+					pins = "gpio13";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+			};
+
+			cci2_0_default: cci2-0-default-state {
+				sda-pins {
+					pins = "gpio112";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+
+				scl-pins {
+					pins = "gpio153";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+			};
+
+			cci2_0_sleep: cci2-0-sleep-state {
+				sda-pins {
+					pins = "gpio112";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+
+				scl-pins {
+					pins = "gpio153";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+			};
+
+			cci2_1_default: cci2-1-default-state {
+				sda-pins {
+					pins = "gpio119";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+
+				scl-pins {
+					pins = "gpio120";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-up = <2200>;
+				};
+			};
+
+			cci2_1_sleep: cci2-1-sleep-state {
+				sda-pins {
+					pins = "gpio119";
+					function = "cci_i2c_sda";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+
+				scl-pins {
+					pins = "gpio120";
+					function = "cci_i2c_scl";
+					drive-strength = <2>;
+					bias-pull-down;
+				};
+			};
+
 			hub_i2c0_data_clk: hub-i2c0-data-clk-state {
 				/* SDA, SCL */
 				pins = "gpio64", "gpio65";
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 1/4] dt-bindings: i2c: qcom-cci: Document sm8550 compatible
  2024-06-12 21:58 ` [PATCH v2 1/4] dt-bindings: i2c: qcom-cci: Document sm8550 compatible Vladimir Zapolskiy
@ 2024-06-13  6:48   ` Krzysztof Kozlowski
  2024-06-26  3:36   ` Bjorn Andersson
  1 sibling, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-13  6:48 UTC (permalink / raw)
  To: Vladimir Zapolskiy, Bjorn Andersson, Konrad Dybcio,
	Neil Armstrong, Jagadeesh Kona, Rob Herring, Krzysztof Kozlowski
  Cc: Loic Poulain, Robert Foss, Andi Shyti, Conor Dooley,
	linux-arm-msm, devicetree, linux-i2c

On 12/06/2024 23:58, Vladimir Zapolskiy wrote:
> Add sm8550 compatible consistent with CAMSS CCI interfaces, the list of
> clocks is reduced by removing "slow_ahb_src" clock, which is derived
> from "cpas_ahb" clock.
> 
> Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 2/4] dt-bindings: i2c: qcom-cci: Document sm8650 compatible
  2024-06-12 21:58 ` [PATCH v2 2/4] dt-bindings: i2c: qcom-cci: Document sm8650 compatible Vladimir Zapolskiy
@ 2024-06-13  6:48   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-13  6:48 UTC (permalink / raw)
  To: Vladimir Zapolskiy, Bjorn Andersson, Konrad Dybcio,
	Neil Armstrong, Jagadeesh Kona, Rob Herring, Krzysztof Kozlowski
  Cc: Loic Poulain, Robert Foss, Andi Shyti, Conor Dooley,
	linux-arm-msm, devicetree, linux-i2c

On 12/06/2024 23:58, Vladimir Zapolskiy wrote:
> Add sm8650 compatible consistent with CAMSS CCI interfaces.
> 
> Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
> ---

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 1/4] dt-bindings: i2c: qcom-cci: Document sm8550 compatible
  2024-06-12 21:58 ` [PATCH v2 1/4] dt-bindings: i2c: qcom-cci: Document sm8550 compatible Vladimir Zapolskiy
  2024-06-13  6:48   ` Krzysztof Kozlowski
@ 2024-06-26  3:36   ` Bjorn Andersson
  2024-07-11  9:38     ` Wolfram Sang
  1 sibling, 1 reply; 11+ messages in thread
From: Bjorn Andersson @ 2024-06-26  3:36 UTC (permalink / raw)
  To: Vladimir Zapolskiy, Andi Shyti
  Cc: Konrad Dybcio, Neil Armstrong, Jagadeesh Kona, Rob Herring,
	Krzysztof Kozlowski, Loic Poulain, Robert Foss, Conor Dooley,
	linux-arm-msm, devicetree, linux-i2c

On Thu, Jun 13, 2024 at 12:58:32AM GMT, Vladimir Zapolskiy wrote:
> Add sm8550 compatible consistent with CAMSS CCI interfaces, the list of
> clocks is reduced by removing "slow_ahb_src" clock, which is derived
> from "cpas_ahb" clock.
> 
> Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>

Andi, could you please take the two binding patches from this series
(patch 1 and 2) through your tree, so that I can take the dts changes
through the Qualcomm DeviceTree tree?

Regards,
Bjorn

> ---
>  .../devicetree/bindings/i2c/qcom,i2c-cci.yaml  | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
> index daf4e71b8e7f..e5c4b20446b6 100644
> --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
> +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
> @@ -31,6 +31,7 @@ properties:
>                - qcom,sm6350-cci
>                - qcom,sm8250-cci
>                - qcom,sm8450-cci
> +              - qcom,sm8550-cci
>            - const: qcom,msm8996-cci # CCI v2
>  
>    "#address-cells":
> @@ -195,6 +196,23 @@ allOf:
>              - const: cpas_ahb
>              - const: cci
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,sm8550-cci
> +    then:
> +      properties:
> +        clocks:
> +          minItems: 3
> +          maxItems: 3
> +        clock-names:
> +          items:
> +            - const: camnoc_axi
> +            - const: cpas_ahb
> +            - const: cci
> +
>  additionalProperties: false
>  
>  examples:
> -- 
> 2.33.0
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 1/4] dt-bindings: i2c: qcom-cci: Document sm8550 compatible
  2024-06-26  3:36   ` Bjorn Andersson
@ 2024-07-11  9:38     ` Wolfram Sang
  0 siblings, 0 replies; 11+ messages in thread
From: Wolfram Sang @ 2024-07-11  9:38 UTC (permalink / raw)
  To: Bjorn Andersson, Andi Shyti
  Cc: Vladimir Zapolskiy, Konrad Dybcio, Neil Armstrong, Jagadeesh Kona,
	Rob Herring, Krzysztof Kozlowski, Loic Poulain, Robert Foss,
	Conor Dooley, linux-arm-msm, devicetree, linux-i2c

[-- Attachment #1: Type: text/plain, Size: 613 bytes --]

On Tue, Jun 25, 2024 at 10:36:43PM -0500, Bjorn Andersson wrote:
> On Thu, Jun 13, 2024 at 12:58:32AM GMT, Vladimir Zapolskiy wrote:
> > Add sm8550 compatible consistent with CAMSS CCI interfaces, the list of
> > clocks is reduced by removing "slow_ahb_src" clock, which is derived
> > from "cpas_ahb" clock.
> > 
> > Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
> 
> Andi, could you please take the two binding patches from this series
> (patch 1 and 2) through your tree, so that I can take the dts changes
> through the Qualcomm DeviceTree tree?

Andi, ping for patches 1+2


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650
  2024-06-12 21:58 [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650 Vladimir Zapolskiy
                   ` (3 preceding siblings ...)
  2024-06-12 21:58 ` [PATCH v2 4/4] arm64: dts: qcom: sm8650: " Vladimir Zapolskiy
@ 2024-07-16 18:28 ` Andi Shyti
  2024-08-15 20:40 ` (subset) " Bjorn Andersson
  5 siblings, 0 replies; 11+ messages in thread
From: Andi Shyti @ 2024-07-16 18:28 UTC (permalink / raw)
  To: Vladimir Zapolskiy
  Cc: Bjorn Andersson, Konrad Dybcio, Neil Armstrong, Jagadeesh Kona,
	Rob Herring, Krzysztof Kozlowski, Loic Poulain, Robert Foss,
	Conor Dooley, linux-arm-msm, devicetree, linux-i2c

Hi Vladimir,

> Vladimir Zapolskiy (4):
>   dt-bindings: i2c: qcom-cci: Document sm8550 compatible
>   dt-bindings: i2c: qcom-cci: Document sm8650 compatible

the two above pushed to i2c/i2c-host.

Thanks,
Andi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: (subset) [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650
  2024-06-12 21:58 [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650 Vladimir Zapolskiy
                   ` (4 preceding siblings ...)
  2024-07-16 18:28 ` [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650 Andi Shyti
@ 2024-08-15 20:40 ` Bjorn Andersson
  5 siblings, 0 replies; 11+ messages in thread
From: Bjorn Andersson @ 2024-08-15 20:40 UTC (permalink / raw)
  To: Neil Armstrong, Jagadeesh Kona, Rob Herring, Krzysztof Kozlowski,
	Konrad Dybcio, Vladimir Zapolskiy
  Cc: Loic Poulain, Robert Foss, Andi Shyti, Conor Dooley,
	linux-arm-msm, devicetree, linux-i2c


On Thu, 13 Jun 2024 00:58:31 +0300, Vladimir Zapolskiy wrote:
> The changeset adds description of camera control interface controllers found
> on Qualcomm SM8550 and SM8650 SoCs.
> 
> Previous version of the change is found as a single patch for SM8650 SoC:
> 
>     https://lore.kernel.org/all/20240410074951.447898-1-vladimir.zapolskiy@linaro.org/
> 
> [...]

Applied, thanks!

[3/4] arm64: dts: qcom: sm8550: add description of CCI controllers
      commit: 4f33e6432f0859a19bb119248d0a8d20c29b9213
[4/4] arm64: dts: qcom: sm8650: add description of CCI controllers
      commit: 9e2ebc5817c94badf0ea716cad85f16ae05ff120

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-08-15 20:41 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-12 21:58 [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650 Vladimir Zapolskiy
2024-06-12 21:58 ` [PATCH v2 1/4] dt-bindings: i2c: qcom-cci: Document sm8550 compatible Vladimir Zapolskiy
2024-06-13  6:48   ` Krzysztof Kozlowski
2024-06-26  3:36   ` Bjorn Andersson
2024-07-11  9:38     ` Wolfram Sang
2024-06-12 21:58 ` [PATCH v2 2/4] dt-bindings: i2c: qcom-cci: Document sm8650 compatible Vladimir Zapolskiy
2024-06-13  6:48   ` Krzysztof Kozlowski
2024-06-12 21:58 ` [PATCH v2 3/4] arm64: dts: qcom: sm8550: add description of CCI controllers Vladimir Zapolskiy
2024-06-12 21:58 ` [PATCH v2 4/4] arm64: dts: qcom: sm8650: " Vladimir Zapolskiy
2024-07-16 18:28 ` [PATCH v2 0/4] arm64: dts: qcom: add description of CCI controllers for sm8550 and sm8650 Andi Shyti
2024-08-15 20:40 ` (subset) " Bjorn Andersson

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).