[PATCH 1/3] dt-bindings: i2c: qcom,i2c-qup: Document power-domains

From: Stephan Gerhold
Date: Tue Nov 28 2023 - 04:48:50 EST


Similar to qcom,geni-i2c, for i2c-qup we need to vote for performance
states on the VDDCX power domain to ensure that required clock rates
can be generated correctly.

I2C is typically used with a fixed clock rate, so a single required-opp
is sufficient without a full OPP table (unlike spi-qup for example).

Signed-off-by: Stephan Gerhold <stephan.gerhold@xxxxxxxxxxxxxxx>
---
Documentation/devicetree/bindings/i2c/qcom,i2c-qup.yaml | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-qup.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-qup.yaml
index f43947514d48..fc3077a7af0d 100644
--- a/Documentation/devicetree/bindings/i2c/qcom,i2c-qup.yaml
+++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-qup.yaml
@@ -52,9 +52,15 @@ properties:
- const: default
- const: sleep

+ power-domains:
+ maxItems: 1
+
reg:
maxItems: 1

+ required-opps:
+ maxItems: 1
+
required:
- compatible
- clock-names
@@ -68,6 +74,7 @@ examples:
- |
#include <dt-bindings/clock/qcom,gcc-msm8998.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/power/qcom-rpmpd.h>

i2c@c175000 {
compatible = "qcom,i2c-qup-v2.2.1";
@@ -82,6 +89,8 @@ examples:
pinctrl-names = "default", "sleep";
pinctrl-0 = <&blsp1_i2c1_default>;
pinctrl-1 = <&blsp1_i2c1_sleep>;
+ power-domains = <&rpmpd MSM8909_VDDCX>;
+ required-opps = <&rpmpd_opp_svs_krait>;
clock-frequency = <400000>;

#address-cells = <1>;

--
2.39.2