From: sashiko-bot@kernel.org
To: "Cunhao Lu" <1579567540@qq.com>
Cc: linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
mfd@lists.linux.dev, linux-gpio@vger.kernel.org,
linux-serial@vger.kernel.org, linux-phy@lists.infradead.org,
linux-usb@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org,
vkoul@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com,
lee@kernel.org
Subject: Re: [PATCH 22/27] phy: rockchip-naneng-combphy: Add RK3572 support
Date: Thu, 22 Oct 2026 16:13:20 +0000 [thread overview]
Message-ID: <sashiko-outbox-181786@kernel.org> (raw)
In-Reply-To: <20261022-add-board-ok3572-c-v1-22-0b0fd85a31ee@qq.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] phy: rockchip-naneng-combphy: writel() clobbers SSC bit in rk3572_combphy_cfg()
--
commit 9ca36a68e2ebd41ee7e126faeae68aae4fa05eae
Author: Cunhao Lu <1579567540@qq.com>
phy: rockchip-naneng-combphy: Add RK3572 support
This commit adds configuration tables, register programming, and device tree
matching support for the RK3572 combo PHY operating in PCIe, USB3, and SATA
modes.
> diff --git a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
> index 7843356a4dd47..e13a78ab57779 100644
> --- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
> +++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
> @@ -1000,6 +1000,204 @@ static const struct rockchip_combphy_cfg rk3568_combphy_cfgs = {
> .combphy_cfg = rk3568_combphy_cfg,
> };
>
> +static int rk3572_combphy_cfg(struct rockchip_combphy_priv *priv)
> +{
[ ... ]
> + switch (rate) {
> + case 24000000:
> + rockchip_combphy_param_write(priv->phy_grf, &cfg->pipe_clk_24m, true);
> + if (priv->type == PHY_TYPE_USB3 || priv->type == PHY_TYPE_SATA) {
> + /* Set ssc_cnt[9:0]=0101111101 & 31.5KHz */
> + rockchip_combphy_updatel(priv, GENMASK(7, 6), BIT(6), 0xe << 2);
> +
> + rockchip_combphy_updatel(priv, GENMASK(7, 0), 0x5f, 0xf << 2);
> + } else if (priv->type == PHY_TYPE_PCIE) {
> + /* PLL KVCO tuning fine */
> + rockchip_combphy_updatel(priv, GENMASK(4, 2), 0x4 << 2, 0x20 << 2);
[ ... ]
> + if (priv->ext_refclk) {
> + rockchip_combphy_param_write(priv->phy_grf, &cfg->pipe_clk_ext, true);
> + if (priv->type == PHY_TYPE_PCIE && rate == 100000000) {
> + writel(0x10, priv->mmio + (0x20 << 2));
> +
> + writel(0x0c, priv->mmio + (0x1b << 2));
> +
> + /*
> + * Set up su_trim: T3_P1 650mv
> + * CKRCV termination resistor adjust 11: Hi-Z
> + */
> + writel(0x90, priv->mmio + (0xa << 2));
> + writel(0x43, priv->mmio + (0xb << 2));
> + writel(0xb8, priv->mmio + (0xc << 2));
> + writel(0x56, priv->mmio + (0xd << 2));
> + }
> + }
> +
> + if (priv->enable_ssc) {
> + rockchip_combphy_updatel(priv, GENMASK(4, 4), BIT(4), 0x7 << 2);
> + /* PLL control SSC module period should be set */
> + rockchip_combphy_updatel(priv, GENMASK(5, 5), BIT(5), 0x20 << 2);
> +
> + if (priv->type == PHY_TYPE_PCIE && rate == 24000000) {
> + /* xin24m T0_1 650mV */
> + writel(0x00, priv->mmio + (0x10 << 2));
> + writel(0x32, priv->mmio + (0x11 << 2));
> + writel(0x00, priv->mmio + (0x1b << 2));
> + writel(0x90, priv->mmio + (0x0a << 2));
> + writel(0x02, priv->mmio + (0x0b << 2));
> + writel(0x08, priv->mmio + (0x0c << 2));
> + writel(0x57, priv->mmio + (0x0d << 2));
> + writel(0x40, priv->mmio + (0x0e << 2));
> + writel(0x5f, priv->mmio + (0x0f << 2));
> + writel(0x10, priv->mmio + (0x20 << 2));
[Severity: Medium]
Does this writel(0x10, priv->mmio + (0x20 << 2)) in rk3572_combphy_cfg()
clobber the SSC period control bit that was just set above?
When priv->enable_ssc is true, rk3572_combphy_cfg() sets BIT(5) in register
offset 0x20 << 2 via rockchip_combphy_updatel(). Immediately afterwards, when
priv->type == PHY_TYPE_PCIE and rate == 24000000, this writel() overwrites the
entire register at 0x20 << 2 with 0x10, clearing BIT(5) back to 0.
Should both this write and the writel(0x10, priv->mmio + (0x20 << 2)) in the
priv->ext_refclk block above use rockchip_combphy_updatel() with GENMASK(4, 2)
instead, matching how the 24 MHz and 100 MHz PHY_TYPE_PCIE cases update the
PLL KVCO tuning field earlier in rk3572_combphy_cfg()?
[ ... ]
>
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261022-add-board-ok3572-c-v1-0-0b0fd85a31ee@qq.com?part=22
next prev parent reply other threads:[~2026-10-22 16:13 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-21 16:10 [PATCH 00/27] rockchip: Add RK3572 and Forlinx OK3572-C support Cunhao Lu via B4 Relay
2026-10-21 16:10 ` [PATCH 01/27] dt-bindings: clock: rockchip: Add RK3572 CRU Cunhao Lu via B4 Relay
2026-10-22 16:12 ` sashiko-bot
2026-10-21 16:10 ` [PATCH 02/27] dt-bindings: power: rockchip: Add RK3572 power domains Cunhao Lu via B4 Relay
2026-10-22 16:12 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 03/27] dt-bindings: soc: rockchip: Add RK3572 PMU and GRF Cunhao Lu via B4 Relay
2026-10-22 16:12 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 04/27] dt-bindings: mfd: syscon: Add RK3572 QoS register compatible Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 05/27] dt-bindings: pinctrl: rockchip: Add RK3572 Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 06/27] dt-bindings: gpio: rockchip: Add RK3572 GPIO banks Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 07/27] clk: rockchip: Add RK3572 clock and reset support Cunhao Lu via B4 Relay
2026-10-21 22:26 ` Heiko Stübner
2026-10-22 6:09 ` Cunhao Lu
2026-10-22 7:38 ` Heiko Stübner
2026-10-22 8:31 ` Cunhao Lu
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 08/27] pinctrl: rockchip: Add RK3572 support Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 09/27] gpio: rockchip: Add RK3572 GPIO support Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 10/27] pmdomain: rockchip: Add RK3572 boot peripheral domains Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 11/27] dt-bindings: i2c: rk3x: Add RK3572 Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-26 22:34 ` Andi Shyti
2026-10-21 16:11 ` [PATCH 12/27] dt-bindings: serial: snps-dw-apb-uart: " Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 13/27] dt-bindings: mmc: rockchip: Add RK3572 controllers Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 14/27] dt-bindings: net: rockchip-dwmac: Add RK3572 Cunhao Lu via B4 Relay
2026-10-21 17:14 ` Andrew Lunn
2026-10-22 6:03 ` Cunhao Lu
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 15/27] dt-bindings: thermal: rockchip: " Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 16/27] net: stmmac: dwmac-rk: Add RK3572 support Cunhao Lu via B4 Relay
2026-10-21 17:09 ` Andrew Lunn
2026-10-22 5:33 ` Cunhao Lu
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 17/27] thermal: rockchip: " Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 18/27] dt-bindings: phy: rockchip-inno-usb2: Add RK3572 Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 19/27] dt-bindings: phy: rockchip-naneng-combphy: " Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 20/27] dt-bindings: usb: rockchip: Add RK3572 DWC3 controller Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 21/27] phy: rockchip-inno-usb2: Add RK3572 support Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 22/27] phy: rockchip-naneng-combphy: " Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot [this message]
2026-10-21 16:11 ` [PATCH 23/27] usb: dwc3: Configure RK3572 PIPE port before discovery Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 24/27] mmc: dw_mmc-rockchip: Keep RK3572 NVM domain powered Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-27 0:53 ` Shawn Lin
2026-10-21 16:11 ` [PATCH 25/27] dt-bindings: arm: rockchip: Add Forlinx OK3572-C Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 26/27] arm64: dts: rockchip: Add RK3572 SoC Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 16:11 ` [PATCH 27/27] arm64: dts: rockchip: Add initial support for Forlinx OK3572-C Cunhao Lu via B4 Relay
2026-10-22 16:13 ` sashiko-bot
2026-10-21 23:00 ` [PATCH 00/27] rockchip: Add RK3572 and Forlinx OK3572-C support Shawn Lin
2026-10-22 6:37 ` Cunhao Lu
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=sashiko-outbox-181786@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=1579567540@qq.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=lee@kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mfd@lists.linux.dev \
--cc=neil.armstrong@linaro.org \
--cc=olteanv@gmail.com \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=vkoul@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