[PATCH] dt-bindings: i2c: qcom-cci: Document sc8280xp compatible

Bryan O'Donoghue
2024-04-12T13:53:28Z

Add sc8280xp compatible consistent with recent CAMSS CCI interfaces.

sc8280xp has the following clock list and so requires its own compat
string and sc8280xp specific clock definition in the yaml.

- const: camnoc_axi
- const: slow_ahb_src
- const: cpas_ahb
- const: cci

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
Initially I added a compat string to yaml and driver for sc8280xp but, it
was incomplete and wrong so I asked for a revert.

Subsequent to posting the compat string I had posted dtsi changes to
sc8280xp to add in the CCI, forgetting to follow up on the compat revert.

I then completely forgot about the compat string and worse still
misremembered the whole reasoning behind it.

This one patch series cleans up the mess.

- The fallback compat qcom,msm8916-cci hooks the driver.
Since there are no driver changes specific to sc8280xp we don't
need to add yet another entry to the CCI driver.

- The compat string qcom,sc8280xp-cci is additionally declared in
the dts -> compat = "qcom,msm8916-cci", "qcom,sc8280xp-cci";
The sc8280xp-cci will match the yaml and enforce constraints.

- The yaml entry for qcom,sc8280xp-cci constrains the list of
clocks which is specific to sc8280xp-cci

Result:

- No new redundant compat string in the CCI driver

- DTS is unchanged

- YAML expanded to capture missing string

- BOD suitably contrite

Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/linux-next-24-04-11-sc8280xp-cci-compat-string-fix?ref_type=heads
---
.../devicetree/bindings/i2c/qcom,i2c-cci.yaml | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
index f0eabff863106..daf4e71b8e7f9 100644
--- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
+++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
@@ -26,6 +26,7 @@ properties:
- items:
- enum:
- qcom,sc7280-cci
+ - qcom,sc8280xp-cci
- qcom,sdm845-cci
- qcom,sm6350-cci
- qcom,sm8250-cci
@@ -176,6 +177,24 @@ allOf:
- const: cci
- const: cci_src

+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,sc8280xp-cci
+ then:
+ properties:
+ clocks:
+ minItems: 4
+ maxItems: 4
+ clock-names:
+ items:
+ - const: camnoc_axi
+ - const: slow_ahb_src
+ - const: cpas_ahb
+ - const: cci
+
additionalProperties: false

examples:

---
base-commit: 4118d9533ff3a5d16efb476a0d00afceecd92cf5
change-id: 20240412-linux-next-24-04-11-sc8280xp-cci-compat-string-fix-e22a0e9ec83f

Best regards,
--
Bryan O'Donoghue <bryan.odonoghue@linaro.org>