Devicetree
 help / color / mirror / Atom feed
From: Richard Fitzgerald <rf@opensource.cirrus.com>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: mturquette@baylibre.com, sboyd@kernel.org, bmasney@redhat.com,
	robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, patches@opensource.cirrus.com
Subject: Re: [PATCH v6 1/3] dt-bindings: clock: cs2600: Add support for the CS2600
Date: Wed, 1 Jul 2026 09:59:06 +0100	[thread overview]
Message-ID: <83e6beb5-9686-4897-b6aa-66266df0edcf@opensource.cirrus.com> (raw)
In-Reply-To: <20260701-optimal-honest-earthworm-db18cf@quoll>

On 01/07/2026 7:48 am, Krzysztof Kozlowski wrote:
> On Tue, Jun 30, 2026 at 04:55:47PM +0100, Richard Fitzgerald wrote:
>> From: Paul Handrigan <paulha@opensource.cirrus.com>
>>
>> Add device tree schema for the Cirrus Logic CS2600 clock generator.
>>
>> The majority of the schema is typical clock, power and I2C
>> properties.
>>
>> Passes dt_binding_check:
>> make dt_binding_check DT_SCHEMA_FILES=clock/cirrus,cs2600.yaml
>>    SCHEMA  Documentation/devicetree/bindings/processed-schema.json
>>    CHKDT   ./Documentation/devicetree/bindings
>>    LINT    ./Documentation/devicetree/bindings
>>    STYLE   ./Documentation/devicetree/bindings
>>    DTEX    Documentation/devicetree/bindings/clock/cirrus,cs2600.example.dts
>>    DTC [C] Documentation/devicetree/bindings/clock/cirrus,cs2600.example.dtb
> 
> Why is this in the commit msg? What is its purpose? Do you see any of
> this in any commits?
>

Purpose is to inform people that I ran the check and it passes.
If you don't want that information I'm fine with that. I'll leave it out
in V7.

> 
>>
>> Signed-off-by: Paul Handrigan <paulha@opensource.cirrus.com>
>> Co-developed-by: Richard Fitzgerald <rf@opensource.cirrus.com>
>> Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
>> ---
>>
>> Changes in V6:
>> - Fixed clock naming in descriptions to match datasheet.
>> - Fixed clock-names property values to match datasheet names.
>>
>> - Added cirrus,internal-oscillator boolean to flag that the internal
>>    oscillator is the clock source. Previously the driver inferred this
>>    if clock-names did not contain "ref_clk_in", but this made it difficult
>>    to enforce dts correctness because there was no way to tell whether
>>    ref_clk_in was intentionally or accidentally missing.
>>
>> - Changed the cirrus,clock-mode enum property into two booleans, since
>>    effectively it was two separate features masquerading as an enum:
>>    - cirrus,smart-mode present to enable smart mode.
>>    - cirrus,smart-mode-clkin-only to enable a feature where the output will
>>      be suppressed until both input clocks are present.
>>
>> - Changes to cirrus,aux-output-source property:
>>      - Renamed to cirrus,aux1-output-source because it's for the AUX1 pin.
>>      - Added more options.
>>      - Renamed the "no_clkin" option to "clkin_missing".
>>      - Reformatted the description as a list instead of one long sentence.
>>
>> - Changed clock-names from an enum to an ordered list of const.
>>    This implicitly ensures ref_clk_in is always required.
>>
>> - Added properties to invert bclk and fsync outputs.
>> - Added property cirrus,fsync-duty-cycles.
>> - Added #clock-cells and vdd-supply to the list of required properies.
>> - Rewritten description description section.
>> - Reordered the property list to put common properties before custom
>>    cirrus properties.
>> - Added more examples.
>> - Added header file to define the clock indexes for DT consumers of the
>>    CS2600 clocks.
>>
>>   Note:
>>   V5 was Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>   but I haven't carried this forward because the changes in V6 are large.
> 
> Dropping my tag is right thing to do, but making significant changes to
> hardware at v6 is very odd. Bindings represent here the hardware, so how
> is that v5 had one view of hardware and the next revision rewrites it
> completely.
>
> Probably answer - v5 was heavily incomplete - but we do ask to make it
> complete in the first place (see writing bindings), so all my previous
> review was waste of time.

Unfortunately I can't do anything about previous versions. I apologize
on behalf of Cirrus that they could have been better. I've made what I
think are improvements in V6.

V5 was sent in Dec 2024. That's over a year to (a) find issues with V5
and (b) incorporate learnings from non-Linux products about how the
CS2600 will be used by manufacturers.

> 
> This will wait for review.
> 
>> +examples:
>> +  - |
>> +    /* Smart mode */
>> +    i2c {
>> +      #address-cells = <1>;
>> +      #size-cells = <0>;
>> +
>> +      clock-controller@2c {
>> +        compatible = "cirrus,cs2600";
>> +        reg = <0x2c>;
>> +        #clock-cells = <1>;
>> +        clocks = <&xtl_clk>, <&sync_clock>;
>> +        clock-names = "ref_clk_in", "clk_in";
>> +        vdd-supply = <&vreg>;
>> +        cirrus,smart-mode;
>> +      };
>> +    };
>> +
> 
> Two examples max.
> 

That's an unfortunate rule. But if that's the rule I'll trim it
to 2.

> Best regards,
> Krzysztof
> 


  reply	other threads:[~2026-07-01  8:59 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-30 15:55 [PATCH v6 0/3] Cirrus Logic CS2600 clock device Richard Fitzgerald
2026-06-30 15:55 ` [PATCH v6 1/3] dt-bindings: clock: cs2600: Add support for the CS2600 Richard Fitzgerald
2026-07-01  6:48   ` Krzysztof Kozlowski
2026-07-01  8:59     ` Richard Fitzgerald [this message]
2026-06-30 15:55 ` [PATCH v6 2/3] clk: cs2600: Add Fractional-N clock driver Richard Fitzgerald
2026-06-30 16:11   ` sashiko-bot
2026-07-01  9:38     ` Richard Fitzgerald
2026-06-30 16:59   ` Uwe Kleine-König
2026-06-30 15:55 ` [PATCH v6 3/3] clk: cs2600: Add KUnit test for CS2600 driver Richard Fitzgerald
2026-06-30 16:14   ` sashiko-bot

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=83e6beb5-9686-4897-b6aa-66266df0edcf@opensource.cirrus.com \
    --to=rf@opensource.cirrus.com \
    --cc=bmasney@redhat.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=patches@opensource.cirrus.com \
    --cc=robh@kernel.org \
    --cc=sboyd@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