drivers/clk/spacemit/ccu-k3.c | 2 ++ 1 file changed, 2 insertions(+)
K3 boot firmware configures the C2 and C3 CPU clock domains at
1.8 GHz. PLL5 feeds C2 and PLL8 feeds C3, but their rate tables
currently contain only the 2 GHz overclocking operating point.
Add the nominal 1.8 GHz configuration as the first entry in both
tables. This lets determine_rate() and set_rate() select the firmware
operating point while retaining 2 GHz as a supported overclocking rate.
Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
---
The related U-Boot change is available at:
https://github.com/spacemit-com/uboot-2022.10/commit/fb95cf3d848b771c61b5a1b3e5cbbee223faf352
---
Changes in v2:
- Drop "clk: spacemit: re-enable PLLs after init"; the PLL init issue
will be handled in a separate series.
- Send the K3 PLL5 and PLL8 1.8 GHz rate-table update as a standalone
patch.
- Clarify that 1.8 GHz is nominal and 2 GHz is an overclocking rate.
- Link to v1: https://patch.msgid.link/20260804-k3-pll5-pll8-1800mhz-v1-0-a3a75866ce32@linux.spacemit.com
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
To: Brian Masney <bmasney@redhat.com>
To: Yixun Lan <dlan@kernel.org>
To: Paul Walmsley <pjw@kernel.org>
To: Palmer Dabbelt <palmer@dabbelt.com>
To: Albert Ou <aou@eecs.berkeley.edu>
To: Alexandre Ghiti <alex@ghiti.fr>
Cc: linux-clk@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: spacemit@lists.linux.dev
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/spacemit/ccu-k3.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/clk/spacemit/ccu-k3.c b/drivers/clk/spacemit/ccu-k3.c
index cb0c4277f72a..e8b7ce89c2cb 100644
--- a/drivers/clk/spacemit/ccu-k3.c
+++ b/drivers/clk/spacemit/ccu-k3.c
@@ -38,6 +38,7 @@ static const struct ccu_pll_rate_tbl pll4_rate_tbl[] = {
};
static const struct ccu_pll_rate_tbl pll5_rate_tbl[] = {
+ CCU_PLLA_RATE(1800000000UL, 0x0b4b0000, 0x00000000, 0xa0458585),
CCU_PLLA_RATE(2000000000UL, 0x0b292aaa, 0x0000ab00, 0xa0558686),
};
@@ -50,6 +51,7 @@ static const struct ccu_pll_rate_tbl pll7_rate_tbl[] = {
};
static const struct ccu_pll_rate_tbl pll8_rate_tbl[] = {
+ CCU_PLLA_RATE(1800000000UL, 0x0b4b0000, 0x00000000, 0xa0458585),
CCU_PLLA_RATE(2000000000UL, 0x0b292aaa, 0x0000ab00, 0xa0558686),
};
---
base-commit: 1590cf0329716306e948a8fc29f1d3ee87d3989f
change-id: 20260802-k3-pll5-pll8-1800mhz-c81875a0a944
Best regards,
--
Troy Mitchell <troy.mitchell@linux.spacemit.com>
Hi Troy, On 2026-08-10 16:46, Troy Mitchell wrote: > K3 boot firmware configures the C2 and C3 CPU clock domains at > 1.8 GHz. PLL5 feeds C2 and PLL8 feeds C3, but their rate tables > currently contain only the 2 GHz overclocking operating point. > > Add the nominal 1.8 GHz configuration as the first entry in both > tables. This lets determine_rate() and set_rate() select the firmware > operating point while retaining 2 GHz as a supported overclocking rate. > > Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> > --- > The related U-Boot change is available at: > https://github.com/spacemit-com/uboot-2022.10/commit/fb95cf3d848b771c61b5a1b3e5cbbee223faf352 > --- > Changes in v2: > - Drop "clk: spacemit: re-enable PLLs after init"; the PLL init issue > will be handled in a separate series. > - Send the K3 PLL5 and PLL8 1.8 GHz rate-table update as a standalone > patch. > - Clarify that 1.8 GHz is nominal and 2 GHz is an overclocking rate. > - Link to v1: https://patch.msgid.link/20260804-k3-pll5-pll8-1800mhz-v1-0-a3a75866ce32@linux.spacemit.com This make sense and looks good: Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Tested-by: Aurelien Jarno <aurelien@aurel32.net> I wonder if it should be backported to stable, as users will deploy newer firmware. Regards Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://aurel32.net
On Mon Aug 31, 2026 at 1:25 AM +08, Aurelien Jarno wrote: > Hi Troy, > > On 2026-08-10 16:46, Troy Mitchell wrote: >> K3 boot firmware configures the C2 and C3 CPU clock domains at >> 1.8 GHz. PLL5 feeds C2 and PLL8 feeds C3, but their rate tables >> currently contain only the 2 GHz overclocking operating point. >> >> Add the nominal 1.8 GHz configuration as the first entry in both >> tables. This lets determine_rate() and set_rate() select the firmware >> operating point while retaining 2 GHz as a supported overclocking rate. >> >> Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> >> --- >> The related U-Boot change is available at: >> https://github.com/spacemit-com/uboot-2022.10/commit/fb95cf3d848b771c61b5a1b3e5cbbee223faf352 >> --- >> Changes in v2: >> - Drop "clk: spacemit: re-enable PLLs after init"; the PLL init issue >> will be handled in a separate series. >> - Send the K3 PLL5 and PLL8 1.8 GHz rate-table update as a standalone >> patch. >> - Clarify that 1.8 GHz is nominal and 2 GHz is an overclocking rate. >> - Link to v1: https://patch.msgid.link/20260804-k3-pll5-pll8-1800mhz-v1-0-a3a75866ce32@linux.spacemit.com > > This make sense and looks good: > > Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> > Tested-by: Aurelien Jarno <aurelien@aurel32.net> > > I wonder if it should be backported to stable, as users will deploy > newer firmware. Yes. I'll Cc: stable@vger.kernel.org in the next version. Thanks for your tags. -- Troy Mitchell
© 2016 - 2026 Red Hat, Inc.