devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	Thara Gopinath <thara.gopinath@gmail.com>,
	Bhupesh Sharma <bhupesh.sharma@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Andy Gross <agross@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-crypto@vger.kernel.org,
	Neil Armstrong <neil.armstrong@linaro.org>
Subject: Re: [PATCH v8 5/9] dt-bindings: qcom-qce: document clocks and clock-names as optional
Date: Fri, 3 Feb 2023 09:17:49 +0100	[thread overview]
Message-ID: <ad8812e6-7dc2-5575-c44d-3f4f62aeb9e9@linaro.org> (raw)
In-Reply-To: <22f191c4-5346-8fe7-690d-9422775bb2d5@linaro.org>

On 02/02/2023 23:27, Vladimir Zapolskiy wrote:
> Hi Krzysztof,
> 
> On 2/2/23 15:53, Krzysztof Kozlowski wrote:
>> On 02/02/2023 14:50, Vladimir Zapolskiy wrote:
>>> From: Neil Armstrong <neil.armstrong@linaro.org>
>>>
>>> On certain Snapdragon processors, the crypto engine clocks are enabled by
>>> default by security firmware.
>>
>> Then probably we should not require them only on these variants.
> 
> the rationale is clear, but here comes a minor problem, older platforms
> require clocks, when newer ones do not. When a generic SoC-specific compatible
> is introduced, let say "qcom,ipq4019-qce", it itself requires the clocks,
> but then newer platforms can not be based on this particular compatible,
> otherwise they will require clocks and this comes as invalid.
> 
> How to resolve it properly, shall there be another generic SoC-specific
> compatible without clocks and NOT based on that "qcom,ipq4019-qce" compatible?
> 
> By the way, QCE on SM8150 also shall not need the clocks.

Assuming you have:
1. ipq4019 requiring clocks
2. msm8996 compatible with ipq4019, requiring clocks
3. ipq6018 compatible with ipq4019, not requiring clocks

allOf:
  - if:
      properties:
        compatible:
          enum:
             - ipq4019-qce
    then:
      required:
        - clocks

  - if:
      properties:
        compatible:
          contains:
            enum:
               - msm8996-qce
    then:
      required:
        - clocks

That's not pretty.

Another solution is to make non-clock-requiring variants as their own
family:

1. msm8996-qce, ipq4019-qce
2. sm8550-qce, sm8150-qce

and then in the driver you need two entries - ipq4019 and sm8150.

I like the latter, because for clock-requiring variants your driver
should actually get them and require. For non-clock-requiring variants,
you just skip the clocks (do not fail). Therefore you need different
driver data for these two families.

Best regards,
Krzysztof


  reply	other threads:[~2023-02-03  8:17 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-02 13:50 [PATCH v8 0/9] crypto: qcom-qce: Add YAML bindings & support for newer SoCs Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 1/9] dt-bindings: qcom-qce: Convert bindings to yaml Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 2/9] MAINTAINERS: Add qcom-qce dt-binding file to QUALCOMM CRYPTO DRIVERS section Vladimir Zapolskiy
2023-02-06 21:07   ` Bjorn Andersson
2023-02-02 13:50 ` [PATCH v8 3/9] dt-bindings: qcom-qce: Add 'interconnects' and 'interconnect-names' Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 4/9] dt-bindings: qcom-qce: Add 'iommus' to optional properties Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 5/9] dt-bindings: qcom-qce: document clocks and clock-names as optional Vladimir Zapolskiy
2023-02-02 13:53   ` Krzysztof Kozlowski
2023-02-02 14:04     ` Vladimir Zapolskiy
2023-02-02 14:21       ` Neil Armstrong
2023-02-02 14:23         ` Krzysztof Kozlowski
2023-02-02 16:16         ` Vladimir Zapolskiy
2023-02-02 16:32           ` Neil Armstrong
2023-02-06 23:45           ` Dmitry Baryshkov
2023-02-10 11:12             ` Vladimir Zapolskiy
2023-02-10 12:03               ` Krzysztof Kozlowski
2023-02-02 22:27     ` Vladimir Zapolskiy
2023-02-03  8:17       ` Krzysztof Kozlowski [this message]
2023-02-03  8:26         ` Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 6/9] dt-bindings: qcom-qce: Add new SoC compatible strings for qcom-qce Vladimir Zapolskiy
2023-02-02 13:57   ` Krzysztof Kozlowski
2023-02-02 14:09     ` Vladimir Zapolskiy
2023-02-02 14:18       ` Krzysztof Kozlowski
2023-02-02 13:50 ` [PATCH v8 7/9] crypto: qce: core: Add support to initialize interconnect path Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 8/9] crypto: qce: core: Make clocks optional Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 9/9] crypto: qce: core: Add new compatibles for qce crypto driver Vladimir Zapolskiy
2023-02-02 14:01   ` Krzysztof Kozlowski
2023-02-02 14:15     ` Vladimir Zapolskiy
2023-02-02 14:20       ` Krzysztof Kozlowski
2023-02-03  9:19         ` Neil Armstrong
2023-02-03  9:20           ` Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ad8812e6-7dc2-5575-c44d-3f4f62aeb9e9@linaro.org \
    --to=krzysztof.kozlowski@linaro.org \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=bhupesh.sharma@linaro.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=konrad.dybcio@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=robh+dt@kernel.org \
    --cc=thara.gopinath@gmail.com \
    --cc=vladimir.zapolskiy@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).