From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Fabrizio Lamarque <fl.scratchpad@gmail.com>,
Conor Dooley <conor@kernel.org>
Cc: jic23@kernel.org, Lars-Peter Clausen <lars@metafoo.de>,
Michael Hennerich <Michael.Hennerich@analog.com>,
Alexandru Tachici <alexandru.tachici@analog.com>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v3 5/5] dt-bindings: iio: ad7192: Allow selection of clock modes
Date: Wed, 31 May 2023 09:14:18 +0200 [thread overview]
Message-ID: <5d65b644-9b79-d232-d0d0-d2772325eef5@linaro.org> (raw)
In-Reply-To: <CAPJMGm4=sRQGPmVi8NjAVvOVrr8s2By6PO8kKRKZt3W0FR9j-Q@mail.gmail.com>
On 31/05/2023 08:59, Fabrizio Lamarque wrote:
> On Tue, May 30, 2023 at 7:22 PM Conor Dooley <conor@kernel.org> wrote:
>>
>> On Tue, May 30, 2023 at 09:53:11AM +0200, fl.scratchpad@gmail.com wrote:
>>> From: Fabrizio Lamarque <fl.scratchpad@gmail.com>
>>>
>>> AD7192 supports external clock sources, generated by a digital clock
>>> source or a crystal oscillator, or internally generated clock option
>>> without external components.
>>>
>>> Describe choice between internal and external clock, crystal or external
>>> oscillator, and internal clock output enable.
>>>
>>> Signed-off-by: Fabrizio Lamarque <fl.scratchpad@gmail.com>
>>> ---
>>> .../bindings/iio/adc/adi,ad7192.yaml | 27 ++++++++++++++++---
>>> 1 file changed, 24 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml
>>> index 16def2985ab4..f7ecfd65ad80 100644
>>> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml
>>> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml
>>> @@ -32,7 +32,8 @@ properties:
>>>
>>> clocks:
>>> maxItems: 1
>>> - description: phandle to the master clock (mclk)
>>> + description: |
>>> + Master clock (mclk). If not set, internal clock is used.
>>>
>>> clock-names:
>>> items:
>>> @@ -50,6 +51,17 @@ properties:
>>> vref-supply:
>>> description: VRef voltage supply
>>>
>>> + adi,clock-xtal:
>>> + description: |
>>> + Select whether an external crystal oscillator or an external
>>> + clock is applied as master (mclk) clock.
>>> + type: boolean
>>
>> Am I being daft, or are these the same thing? If they are not, and use
>> different input pins, I think it should be explained as it not clear.
>> Could you explain why we actually care that the source is a xtal versus
>> it being mclk, and why just having master clock is not sufficient?
>
> I may revise the description as follows. Feel free to add your suggestions
> in case it is still not clear enough.
>
> "Select whether an external crystal oscillator between MCLK1 and MCLK2 or
> an external CMOS-compatible clock on MCLK2 is used as master clock".
>
> This is used to properly set CLK0 and CLK1 bits in the MODE register.
> I guess most applications would use an external crystal or internal clock.
> The external digital clock would allow synchronization of multiple ADCs,
Description confuses me. Why would it matter what type of clock you have
as input - external crystal oscillator or external CMOS-compatible
clock? Later you refer to "internal", so maybe you meant here also
internal for one of the options?
>
>>
>>> + adi,int-clock-output-enable:
>>> + description: |
>>> + When internal clock is selected, this bit enables clock out pin.
>>> + type: boolean
>>
>> And this one makes you a clock provider, so the devices advocate
>> position would be that you know that this bit should be set if
>> "clocks" is not present and a consumer requests a clock.
>> I don't seem to have got the driver patches (at least not in this
>> mailbox), so I have got no information on how you've actually implemented
>> this.
>
> I see... When this bit is set, the AD7192 node should also be a clock provider.
> The clock is output on MCLK2 pin, hence it can be used with internally
> generated clock only.
> I tend to dislike the idea of a "conditional clock provider". Also, I'd guess
Either this is a clock provider via common clock framework or is not.
Don't re-implement clock provider via other properties but just skip
such feature.
Best regards,
Krzysztof
next prev parent reply other threads:[~2023-05-31 7:14 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20230530075311.400686-1-fl.scratchpad@gmail.com>
2023-05-30 7:53 ` [PATCH v3 4/5] dt-bindings: iio: ad7192: Add mandatory reference voltage source fl.scratchpad
2023-05-30 17:22 ` Conor Dooley
2023-06-04 11:35 ` Jonathan Cameron
2023-05-30 7:53 ` [PATCH v3 5/5] dt-bindings: iio: ad7192: Allow selection of clock modes fl.scratchpad
2023-05-30 17:22 ` Conor Dooley
2023-05-31 6:59 ` Fabrizio Lamarque
2023-05-31 7:14 ` Krzysztof Kozlowski [this message]
2023-05-31 9:40 ` Fabrizio Lamarque
2023-05-31 12:56 ` Conor Dooley
[not found] ` <01dae949-4018-37f4-2dd9-cbecbd65b9a1@linaro.org>
2023-06-07 7:40 ` Fabrizio Lamarque
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=5d65b644-9b79-d232-d0d0-d2772325eef5@linaro.org \
--to=krzysztof.kozlowski@linaro.org \
--cc=Michael.Hennerich@analog.com \
--cc=alexandru.tachici@analog.com \
--cc=conor+dt@kernel.org \
--cc=conor@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=fl.scratchpad@gmail.com \
--cc=jic23@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh+dt@kernel.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).