* [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* 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 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
* [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* 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
* [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 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