2022-09-28 16:17:14

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v6] dt-bindings: qcom: document preferred compatible naming

Compatibles can come in two formats. Either "vendor,ip-soc" or
"vendor,soc-ip". Qualcomm bindings were mixing both of usages, so add a
DT schema file documenting preferred policy and enforcing it for all new
compatibles, except few existing patterns.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
Reviewed-by: Bhupesh Sharma <[email protected]>

---

Changes since v5:
1. Correct Bjorn's email.
2. Add tags.

Changes since v4:
1. Add qcm.
2. Add more qcom,ipq806x exceptions.
3. Add Rob's tag.

Changes since v3:
1. Add qcom,kpss-wdt-xxx to pattern for exceptions.
2. Add ipq806x entries to list of exceptions.

Changes since v2:
1. Narrow the expected pattern to be followed by dash '-' after model
number (msm8996-) or by two letters and a dash (sc8280xp-).
2. Add qcom,apss-wdt-xxx to list of exceptions.
3. Use comment instead of description in the oneOf list.

Changes since v1:
1. Add schema instead of readme (Rob).

Cc: Srinivas Kandagatla <[email protected]>
Cc: Dmitry Baryshkov <[email protected]>
Cc: Vinod Koul <[email protected]>
Cc: Alex Elder <[email protected]>
Cc: Robert Foss <[email protected]>
Cc: Bhupesh Sharma <[email protected]>
---
.../devicetree/bindings/arm/qcom-soc.yaml | 65 +++++++++++++++++++
1 file changed, 65 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/qcom-soc.yaml

diff --git a/Documentation/devicetree/bindings/arm/qcom-soc.yaml b/Documentation/devicetree/bindings/arm/qcom-soc.yaml
new file mode 100644
index 000000000000..889fbfacf226
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/qcom-soc.yaml
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/qcom-soc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm SoC compatibles naming convention
+
+maintainers:
+ - Bjorn Andersson <[email protected]>
+
+description: |
+ Guidelines for new compatibles for SoC blocks/components.
+ When adding new compatibles in new bindings, use the format::
+ qcom,SoC-IP
+
+ For example::
+ qcom,sdm845-llcc-bwmon
+
+ When adding new compatibles to existing bindings, use the format in the
+ existing binding, even if it contradicts the above.
+
+select:
+ properties:
+ compatible:
+ pattern: "^qcom,.*(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
+ required:
+ - compatible
+
+properties:
+ compatible:
+ oneOf:
+ # Preferred naming style for compatibles of SoC components:
+ - pattern: "^qcom,(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+-.*$"
+ - pattern: "^qcom,(sa|sc)8[0-9]+[a-z][a-z]?-.*$"
+
+ # Legacy namings - variations of existing patterns/compatibles are OK,
+ # but do not add completely new entries to these:
+ - pattern: "^qcom,[ak]pss-wdt-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
+ - pattern: "^qcom,gcc-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
+ - pattern: "^qcom,mmcc-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
+ - pattern: "^qcom,pcie-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
+ - pattern: "^qcom,rpm-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
+ - pattern: "^qcom,scm-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
+ - enum:
+ - qcom,gpucc-sdm630
+ - qcom,gpucc-sdm660
+ - qcom,lcc-apq8064
+ - qcom,lcc-ipq8064
+ - qcom,lcc-mdm9615
+ - qcom,lcc-msm8960
+ - qcom,lpass-cpu-apq8016
+ - qcom,usb-ss-ipq4019-phy
+ - qcom,usb-hs-ipq4019-phy
+ - qcom,vqmmc-ipq4019-regulator
+
+ # Legacy compatibles with wild-cards - list cannot grow with new bindings:
+ - enum:
+ - qcom,ipq806x-gmac
+ - qcom,ipq806x-nand
+ - qcom,ipq806x-sata-phy
+ - qcom,ipq806x-usb-phy-ss
+ - qcom,ipq806x-usb-phy-hs
+
+additionalProperties: true
--
2.34.1


2022-10-17 23:41:27

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v6] dt-bindings: qcom: document preferred compatible naming

On 17/10/2022 18:40, Bjorn Andersson wrote:
> On Wed, Sep 28, 2022 at 05:25:01PM +0200, Krzysztof Kozlowski wrote:
>> Compatibles can come in two formats. Either "vendor,ip-soc" or
>> "vendor,soc-ip". Qualcomm bindings were mixing both of usages, so add a
>> DT schema file documenting preferred policy and enforcing it for all new
>> compatibles, except few existing patterns.
>>
>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>> Reviewed-by: Rob Herring <[email protected]>
>> Reviewed-by: Dmitry Baryshkov <[email protected]>
>> Reviewed-by: Bhupesh Sharma <[email protected]>
>
> Reviewed-by: Bjorn Andersson <[email protected]>
>

Thanks Bjorn.

I was hoping you will pick it up through Qualcomm SoC tree.

Best regards,
Krzysztof

2022-10-18 00:09:26

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH v6] dt-bindings: qcom: document preferred compatible naming

On Wed, Sep 28, 2022 at 05:25:01PM +0200, Krzysztof Kozlowski wrote:
> Compatibles can come in two formats. Either "vendor,ip-soc" or
> "vendor,soc-ip". Qualcomm bindings were mixing both of usages, so add a
> DT schema file documenting preferred policy and enforcing it for all new
> compatibles, except few existing patterns.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> Reviewed-by: Rob Herring <[email protected]>
> Reviewed-by: Dmitry Baryshkov <[email protected]>
> Reviewed-by: Bhupesh Sharma <[email protected]>

Reviewed-by: Bjorn Andersson <[email protected]>

Regards,
Bjorn

>
> ---
>
> Changes since v5:
> 1. Correct Bjorn's email.
> 2. Add tags.
>
> Changes since v4:
> 1. Add qcm.
> 2. Add more qcom,ipq806x exceptions.
> 3. Add Rob's tag.
>
> Changes since v3:
> 1. Add qcom,kpss-wdt-xxx to pattern for exceptions.
> 2. Add ipq806x entries to list of exceptions.
>
> Changes since v2:
> 1. Narrow the expected pattern to be followed by dash '-' after model
> number (msm8996-) or by two letters and a dash (sc8280xp-).
> 2. Add qcom,apss-wdt-xxx to list of exceptions.
> 3. Use comment instead of description in the oneOf list.
>
> Changes since v1:
> 1. Add schema instead of readme (Rob).
>
> Cc: Srinivas Kandagatla <[email protected]>
> Cc: Dmitry Baryshkov <[email protected]>
> Cc: Vinod Koul <[email protected]>
> Cc: Alex Elder <[email protected]>
> Cc: Robert Foss <[email protected]>
> Cc: Bhupesh Sharma <[email protected]>
> ---
> .../devicetree/bindings/arm/qcom-soc.yaml | 65 +++++++++++++++++++
> 1 file changed, 65 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/arm/qcom-soc.yaml
>
> diff --git a/Documentation/devicetree/bindings/arm/qcom-soc.yaml b/Documentation/devicetree/bindings/arm/qcom-soc.yaml
> new file mode 100644
> index 000000000000..889fbfacf226
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/qcom-soc.yaml
> @@ -0,0 +1,65 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/qcom-soc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm SoC compatibles naming convention
> +
> +maintainers:
> + - Bjorn Andersson <[email protected]>
> +
> +description: |
> + Guidelines for new compatibles for SoC blocks/components.
> + When adding new compatibles in new bindings, use the format::
> + qcom,SoC-IP
> +
> + For example::
> + qcom,sdm845-llcc-bwmon
> +
> + When adding new compatibles to existing bindings, use the format in the
> + existing binding, even if it contradicts the above.
> +
> +select:
> + properties:
> + compatible:
> + pattern: "^qcom,.*(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
> + required:
> + - compatible
> +
> +properties:
> + compatible:
> + oneOf:
> + # Preferred naming style for compatibles of SoC components:
> + - pattern: "^qcom,(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+-.*$"
> + - pattern: "^qcom,(sa|sc)8[0-9]+[a-z][a-z]?-.*$"
> +
> + # Legacy namings - variations of existing patterns/compatibles are OK,
> + # but do not add completely new entries to these:
> + - pattern: "^qcom,[ak]pss-wdt-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
> + - pattern: "^qcom,gcc-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
> + - pattern: "^qcom,mmcc-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
> + - pattern: "^qcom,pcie-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
> + - pattern: "^qcom,rpm-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
> + - pattern: "^qcom,scm-(apq|ipq|mdm|msm|qcm|qcs|sa|sc|sdm|sdx|sm)[0-9]+.*$"
> + - enum:
> + - qcom,gpucc-sdm630
> + - qcom,gpucc-sdm660
> + - qcom,lcc-apq8064
> + - qcom,lcc-ipq8064
> + - qcom,lcc-mdm9615
> + - qcom,lcc-msm8960
> + - qcom,lpass-cpu-apq8016
> + - qcom,usb-ss-ipq4019-phy
> + - qcom,usb-hs-ipq4019-phy
> + - qcom,vqmmc-ipq4019-regulator
> +
> + # Legacy compatibles with wild-cards - list cannot grow with new bindings:
> + - enum:
> + - qcom,ipq806x-gmac
> + - qcom,ipq806x-nand
> + - qcom,ipq806x-sata-phy
> + - qcom,ipq806x-usb-phy-ss
> + - qcom,ipq806x-usb-phy-hs
> +
> +additionalProperties: true
> --
> 2.34.1
>

2022-10-18 03:27:21

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH v6] dt-bindings: qcom: document preferred compatible naming

On Wed, 28 Sep 2022 17:25:01 +0200, Krzysztof Kozlowski wrote:
> Compatibles can come in two formats. Either "vendor,ip-soc" or
> "vendor,soc-ip". Qualcomm bindings were mixing both of usages, so add a
> DT schema file documenting preferred policy and enforcing it for all new
> compatibles, except few existing patterns.
>
>

Applied, thanks!

[1/1] dt-bindings: qcom: document preferred compatible naming
commit: 5aa332c5e7ca2469c9ff55cf294eddb33a2c8e4b

Best regards,
--
Bjorn Andersson <[email protected]>