[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231020-alvin-clk-si5351-no-pll-reset-v5-0-f0c1ba537f88@bang-olufsen.dk>
Date: Fri, 20 Oct 2023 13:34:13 +0200
From: Alvin Šipraga <alvin@...s.dk>
To: Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Alvin Šipraga <alsi@...g-olufsen.dk>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>,
Rabeeh Khoury <rabeeh@...id-run.com>,
Jacob Siverskog <jacob@...nage.engineering>,
Sergej Sawazki <sergej@...dac.com>, linux-clk@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH v5 0/3] clk: si5351: add option to adjust PLL without
glitches
This series intends to address a problem I had when using the Si5351A as
a runtime adjustable audio bit clock. The basic issue is that the driver
in its current form unconditionally resets the PLL whenever adjusting
its rate. But this reset causes an unwanted ~1.4 ms LOW signal glitch in
the clock output.
As a remedy, a new property is added to control the reset behaviour of
the PLLs more precisely. In the process I also converted the bindings to
YAML.
Changes:
v4 -> v5:
- address Rob's comments:
- min/maxItems on top-level clocks:
- remove unnecessary else:
- remove spurious |
v3 -> v4:
- remove spurious | per Rob's suggestion
- simplify conditional clocks/clock-names per Rob's suggestion
- remove mention of clkout[0-7] still being admissible in the commit
body of patch 1 - while the Linux driver still tolerates this, the
new dt-bindings do not
v2 -> v3:
- address further comments from Rob:
- drop unnecessary refs and minItems
- simplify if conditions for chip variants
- ignore his comment about dropping '|', as line would be >80 columns
- move additionalProperties: false close to type: object
- define clocks/clock-names at top-level
- drop patch to dove-cubox dts per Krzysztof's comment - will send
separately
- collect Sebastian's Acked-by
v1 -> v2:
- address Rob's comments on the two dt-bindings patches
- new patch to correct the clock node names in the only upstream device
tree using si5351
---
Alvin Šipraga (3):
dt-bindings: clock: si5351: convert to yaml
dt-bindings: clock: si5351: add PLL reset mode property
clk: si5351: allow PLLs to be adjusted without reset
.../devicetree/bindings/clock/silabs,si5351.txt | 126 ----------
.../devicetree/bindings/clock/silabs,si5351.yaml | 265 +++++++++++++++++++++
drivers/clk/clk-si5351.c | 47 +++-
include/linux/platform_data/si5351.h | 2 +
4 files changed, 311 insertions(+), 129 deletions(-)
---
base-commit: f6abdcb2444f6ebe06e19cd9eee767c7c46612ae
change-id: 20231014-alvin-clk-si5351-no-pll-reset-ecfac0a6550c
Powered by blists - more mailing lists