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 <[email protected]>
---
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 <[email protected]>
On 12/04/2024 15:53, Bryan O'Donoghue wrote:
> 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 <[email protected]>
> ---
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Best regards,
Krzysztof
Hi Bryan,
On 4/12/24 16:53, Bryan O'Donoghue wrote:
> 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 <[email protected]>
> ---
> 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
>
I believe it's excellent, thank you very much for the change and efforts!
Reviewed-by: Vladimir Zapolskiy <[email protected]>
--
Best wishes,
Vladimir
Hi
On Fri, 12 Apr 2024 14:53:25 +0100, Bryan O'Donoghue wrote:
> 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
>
> [...]
Applied to i2c/i2c-host on
git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux.git
Thank you,
Andi
Patches applied
===============
[1/1] dt-bindings: i2c: qcom-cci: Document sc8280xp compatible
commit: 32204e57f3fbe8863dc17ba59bdf3f5dd573896d