From: Jie Luo <jie.luo@oss.qualcomm.com>
To: Bjorn Andersson <andersson@kernel.org>,
Stephen Boyd <sboyd@kernel.org>,
Brian Masney <bmasney+clk@redhat.com>,
Jerome Brunet <jbrunet+clk@baylibre.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>
Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
quic_kkumarcs@quicinc.com, quic_linchen@quicinc.com,
quic_leiwei@quicinc.com, quic_suruchia@quicinc.com,
Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
Abel Vesa <abel.vesa@oss.qualcomm.com>
Subject: Re: [PATCH v4 00/12] clk: qcom: ipq-cmn-pll: Add IPQ5210 CMN PLL support
Date: Tue, 22 Sep 2026 19:14:01 +0800 [thread overview]
Message-ID: <de51ea07-cfa6-4006-8727-6af67bd8da1a@oss.qualcomm.com> (raw)
In-Reply-To: <20260906-qcom_ipq5210_cmnpll-v4-0-aec5ed642f4f@oss.qualcomm.com>
Konrad, Abel,
Thanks for your review of this patch series.
Gentle reminder to re-review v4, which addresses the feedback from v3,
for any further comments.
Best regards,
Jie.
On 9/6/2026 10:18 PM, Luo Jie wrote:
> The CMN (Common) PLL block of IPQ5210 is almost same as that of IPQ9574
> which is currently supported by the driver. It accepts a 48 MHz reference
> clock from the on-board Wi-Fi block and is configured to run at 12 GHz.
> The difference is in the output clocks.
>
> This patch series adds support for IPQ5210 into the CMN PLL clock driver.
> On the IPQ5210, the CMN PLL block supplies a broad set of output clocks
> to the networking hardware and GCC:
>
> - NSS (network subsystem): configurable rate via 6-bit divider
> - PPE (packet process engine): configurable rate via 6-bit divider
> - PON (passive optical network): configurable rate via 8-bit divider,
> plus a fixed 31.25 MHz UNIPHY mode
> - EPHY-RAW: 125 MHz or 312.5 MHz for the SoC-integrated Ethernet PHY
> (EPHY), which supports up to 2.5G link speed:
> 125 MHz for 1G/100M/10M, 312.5 MHz for 2.5G
> - Gated fixed-rate outputs: PCS 31.25 MHz, ETH0/1/2 50 MHz,
> EPHY 50 MHz, ETH 25 MHz
> - Fixed-rate outputs: XO 24 MHz, sleep 32 kHz
>
> The patch series is organised as follows:
>
> 1/12 clk: convert fixed-rate registration to devm, remove remove callback
> 2/12 dt-bindings + clock ID header for IPQ5210
> 3/12 clk-regmap-divider support for CLK_DIVIDER_* flags
> 4/12 Register a shared cmn_pll_div2 fixed-factor clock
> 5/12 NSS configurable divider clock
> 6/12 PPE configurable divider clock
> 7/12 PON reference clock with enable/disable and divider
> 8/12 EPHY-RAW 125/312.5 MHz select clock
> 9/12 clk_fixed_gate gate clock type for gated fixed-rate outputs
> 10/12 IPQ5210 output clock array and device match table entry
> 11/12 DTS node in ipq5210.dtsi
> 12/12 Update IPQ5210 xo_board to use fixed-factor-clock
>
> Changes in v4:
> - Convert the PON reference clock's and clk_fixed_gate's hand-rolled
> enable/disable/is_enabled ops to the clk framework's
> clk_enable_regmap()/clk_disable_regmap()/clk_is_enabled_regmap()
> helpers.
> - Convert the EPHY-RAW clock's registration and ops from the
> CMN-PLL-specific struct clk_cmn_pll to struct clk_regmap and
> devm_clk_register_regmap(),
> - Drop the comment above the cmn_pll_div2 fixed-factor clock
> registration call; the call itself is self-explanatory.
> - Sort the ref_48mhz_clk node alphabetically by label.
> - Collect the Reviewed-by tags.
> - Link to v3: https://patch.msgid.link/20260814-qcom_ipq5210_cmnpll-v3-0-21c3db378611@oss.qualcomm.com
>
> Changes in v3:
> - Drop the new CLK_DIVIDER_EVEN_INTEGERS_NO_OFFSET flag per review
> feedback; add a dedicated patch registering a shared cmn_pll_div2
> fixed-factor clock (this /2 stage exists on every supported SoC's
> CMN PLL block, so the clock is registered unconditionally (Only
> IPQ5210's output clocks currently parent on it). Reparent every
> IPQ5210 output clock except the plain fixed-rate xo-24mhz/
> sleep-32khz taps (NSS, PPE, PON, EPHY-RAW, and the gated fixed-rate
> clocks) onto it, using the existing CLK_DIVIDER_ONE_BASED flag for
> NSS/PPE. Same output rates throughout; more accurately models the
> hardware's real shared /2 stage.
> - Remove PON's now-redundant internal /2 math to match, and rename its
> pon_refclk-suffixed identifiers to pon_clk for consistency with the
> other per-clock-type helpers.
> - Reword the clk-regmap-divider flags patch to cite CLK_DIVIDER_ONE_BASED
> as the motivating flag.
> - Collect the Reviewed-by tag.
> - Link to v2: https://patch.msgid.link/20260806-qcom_ipq5210_cmnpll-v2-0-cce718b8ec17@oss.qualcomm.com
>
> Changes in v2:
> - Introduce a new CLK_DIVIDER_EVEN_INTEGERS_NO_OFFSET flag in the
> generic clk divider framework and re-register the NSS/PPE clocks
> as plain clk_regmap_div instances instead of hand-rolled ops.
> - Replace the composite clk_fixed_rate + clk_gate implementation for
> gated fixed clocks with a dedicated clk_fixed_gate type that reads/
> modifies the shared gate register through regmap.
> - Replace the rate/enable_bit/strcmp(name, ...) runtime inference in
> ipq_cmn_pll_register_clks() with an explicit enum cmn_pll_clk_type
> field, making each output clock's registration path self-describing
> instead of implicit in its rate/name/enable_bit fields.
> - Update the EPHY-RAW clock's determine_rate() to pick the nearest of
> the two supported rates (125 MHz / 312.5 MHz) using the same abs_diff()
> - Link to v1: https://patch.msgid.link/20260724-qcom_ipq5210_cmnpll-v1-0-a8b8679d215f@oss.qualcomm.com
>
> ---
> Luo Jie (12):
> clk: qcom: ipq-cmn-pll: Use devm_clk_hw_register_fixed_rate_parent_data
> dt-bindings: clock: qcom: Add CMN PLL support for IPQ5210 SoC
> clk: qcom: clk-regmap-divider: Support CLK_DIVIDER_* flags
> clk: qcom: ipq-cmn-pll: Register CMN PLL /2 clock
> clk: qcom: ipq-cmn-pll: Add NSS clock support
> clk: qcom: ipq-cmn-pll: Add PPE clock support
> clk: qcom: ipq-cmn-pll: Add PON reference clock support
> clk: qcom: ipq-cmn-pll: Add EPHY-RAW clock support
> clk: qcom: ipq-cmn-pll: Add clock gate support for fixed clocks
> clk: qcom: ipq-cmn-pll: Add all output clocks for IPQ5210
> arm64: dts: qcom: ipq5210: Add CMN PLL device node
> arm64: dts: qcom: Update IPQ5210 xo_board to use fixed factor clock
>
> .../bindings/clock/qcom,ipq9574-cmn-pll.yaml | 1 +
> arch/arm64/boot/dts/qcom/ipq5210-rdp504.dts | 22 +-
> arch/arm64/boot/dts/qcom/ipq5210.dtsi | 27 +-
> drivers/clk/qcom/clk-regmap-divider.c | 16 +-
> drivers/clk/qcom/clk-regmap-divider.h | 1 +
> drivers/clk/qcom/ipq-cmn-pll.c | 535 +++++++++++++++++++--
> include/dt-bindings/clock/qcom,ipq5210-cmn-pll.h | 30 ++
> 7 files changed, 591 insertions(+), 41 deletions(-)
> ---
> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
> change-id: 20260724-qcom_ipq5210_cmnpll-0eb9a9615dff
>
> Best regards,
> --
> Luo Jie <jie.luo@oss.qualcomm.com>
>
next prev parent reply other threads:[~2026-09-22 11:14 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-06 14:18 [PATCH v4 00/12] clk: qcom: ipq-cmn-pll: Add IPQ5210 CMN PLL support Luo Jie
2026-09-06 14:18 ` [PATCH v4 01/12] clk: qcom: ipq-cmn-pll: Use devm_clk_hw_register_fixed_rate_parent_data Luo Jie
2026-09-06 14:18 ` [PATCH v4 02/12] dt-bindings: clock: qcom: Add CMN PLL support for IPQ5210 SoC Luo Jie
2026-09-06 14:18 ` [PATCH v4 03/12] clk: qcom: clk-regmap-divider: Support CLK_DIVIDER_* flags Luo Jie
2026-09-06 14:18 ` [PATCH v4 04/12] clk: qcom: ipq-cmn-pll: Register CMN PLL /2 clock Luo Jie
2026-09-06 14:18 ` [PATCH v4 05/12] clk: qcom: ipq-cmn-pll: Add NSS clock support Luo Jie
2026-09-06 14:18 ` [PATCH v4 06/12] clk: qcom: ipq-cmn-pll: Add PPE " Luo Jie
2026-09-06 14:18 ` [PATCH v4 07/12] clk: qcom: ipq-cmn-pll: Add PON reference " Luo Jie
2026-09-06 14:25 ` sashiko-bot
2026-09-08 3:28 ` Jie Luo
2026-09-06 14:18 ` [PATCH v4 08/12] clk: qcom: ipq-cmn-pll: Add EPHY-RAW " Luo Jie
2026-09-06 14:18 ` [PATCH v4 09/12] clk: qcom: ipq-cmn-pll: Add clock gate support for fixed clocks Luo Jie
2026-09-06 14:18 ` [PATCH v4 10/12] clk: qcom: ipq-cmn-pll: Add all output clocks for IPQ5210 Luo Jie
2026-09-06 14:18 ` [PATCH v4 11/12] arm64: dts: qcom: ipq5210: Add CMN PLL device node Luo Jie
2026-09-06 14:18 ` [PATCH v4 12/12] arm64: dts: qcom: Update IPQ5210 xo_board to use fixed factor clock Luo Jie
2026-09-22 11:14 ` Jie Luo [this message]
2026-09-25 16:43 ` (subset) [PATCH v4 00/12] clk: qcom: ipq-cmn-pll: Add IPQ5210 CMN PLL support Bjorn Andersson
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=de51ea07-cfa6-4006-8727-6af67bd8da1a@oss.qualcomm.com \
--to=jie.luo@oss.qualcomm.com \
--cc=abel.vesa@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=bmasney+clk@redhat.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jbrunet+clk@baylibre.com \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=quic_kkumarcs@quicinc.com \
--cc=quic_leiwei@quicinc.com \
--cc=quic_linchen@quicinc.com \
--cc=quic_suruchia@quicinc.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