Re: [PATCH v2 1/4] dt-bindings: iio: adc: ad7192: Add properties

From: Krzysztof Kozlowski
Date: Fri Feb 02 2024 - 09:29:20 EST


On 02/02/2024 15:14, Alisa-Dariana Roman wrote:
> On 14.11.2023 22:29, Krzysztof Kozlowski wrote:
>> On 14/11/2023 21:05, Alisa-Dariana Roman wrote:
>>> Document properties used for clock configuration.
>>
>> Some background here is missing - otherwise it looks like you are adding
>> new properties...
>>
>>>
>>> Signed-off-by: Alisa-Dariana Roman <alisa.roman@xxxxxxxxxx>
>>> ---
>>> .../devicetree/bindings/iio/adc/adi,ad7192.yaml | 10 ++++++++++
>>> 1 file changed, 10 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml
>>> index 16def2985ab4..9b59d6eea368 100644
>>> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml
>>> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml
>>> @@ -80,6 +80,16 @@ properties:
>>> and when chop is disabled.
>>> type: boolean
>>>
>>> + adi,clock-xtal:
>>> + description: |
>>> + External crystal connected from MCLK1 to MCLK2.
>>
>> And this should be input clock.
>>
>>> + type: boolean
>>> +
>>> + adi,int-clock-output-enable:
>>> + description: |
>>> + Internal 4.92 MHz clock available on MCLK2 pin.
>>> + type: boolean
>>
>> This should be clock-cells and clock provider.
>>
>> Unless you are just documenting already used interface which you do not
>> want to break...
>>
>>> +
>>> bipolar:
>>> description: see Documentation/devicetree/bindings/iio/adc/adc.yaml
>>> type: boolean
>>
>> Best regards,
>> Krzysztof
>>
>
> Thank you very much for the feedback!
>
> If I understand correctly, there is already an input clock in the bindings:

You tell me...

>
> What I wanted to accomplish with this patch is to document these boolean
> properties (from the ad7192 driver code):

Please explain with clear words: do you mean that existing upstream
Linux driver has it? I don't care about some out of tree drivers...


> ```
> /* use internal clock */
> if (!st->mclk) {
> if (device_property_read_bool(dev, "adi,int-clock-output-enable"))
> clock_sel = AD7192_CLK_INT_CO;
> } else {
> if (device_property_read_bool(dev, "adi,clock-xtal"))
> clock_sel = AD7192_CLK_EXT_MCLK1_2;
> else
> clock_sel = AD7192_CLK_EXT_MCLK2;
> }
> ```
>
> Please let me know how to proceed further!

Please open the datasheet of your product and add properties matching
the hardware, not driver.

I don't know what to say more except the same - you want to enable clock
provided from this device on some pin to some other devices? If yes,
then this is clock-provider, so you clock-provider bindings I mentioned
in my first reply.

Best regards,
Krzysztof