linux/drivers/clk
Linus Torvalds 2d945dde7f This is the usual collection of primarily clk driver updates. The big part of
the diff is all the new Qualcomm clk drivers added for a few SoCs they're
 working on. The other two vendors with significant work this cycle are Renesas
 and Amlogic. Renesas adds a bunch of clks to existing drivers and supports some
 new SoCs while Amlogic is starting a significant refactoring to simplify their
 code.
 
 The core framework gained a pair of helpers to get the 'struct device' or
 'struct device_node' associated with a 'struct clk_hw'. Some associated KUnit
 tests were added for these simple helpers as well. Beyond that core change
 there are lots of little fixes throughout the clk drivers for the stuff we see
 every day, wrong clk driver data that affects tree topology or supported
 frequencies, etc. They're not found until the clks are actually used by some
 consumer device driver.
 
 New Drivers:
  - Global, display, gpu, video, camera, tcsr, and rpmh clock controller for the
    Qualcomm Milos SoC
  - Camera, display, GPU, and video clock controllers for Qualcomm QCS615
  - Video clock controller driver for Qualcomm SM6350
  - Camera clock controller driver for Qualcomm SC8180X
  - I3C clocks and resets on Renesas RZ/G3E
  - Expanded Serial Peripheral Interface (xSPI) clocks and resets on
    Renesas RZ/V2H(P) and RZ/V2N
  - SPI (RSPI) clocks and resets on Renesas RZ/V2H(P)
  - SDHI and I2C clocks on Renesas RZ/T2H and RZ/N2H
  - Ethernet clocks and resets on Renesas RZ/G3E
  - Initial support for the Renesas RZ/T2H (R9A09G077) and RZ/N2H
    (R9A09G087) SoCs
  - Ethernet clocks and resets on Renesas RZ/V2H and RZ/V2N
  - Timer, I2C, watchdog, GPU, and USB2.0 clocks and resets on Renesas
    RZ/V2N
 
 Updates:
  - Support atomic PWMs in the PWM clk driver
  - clk_hw_get_dev() and clk_hw_get_of_node() helpers
  - Replace round_rate() with determine_rate() in various clk drivers
  - Convert clk DT bindings to DT schema format for DT validation
  - Various clk driver cleanups and refactorings from static analysis tools and
    possibly real humans
  - A lot of little fixes here and there to things like clk tree topology,
    missing frequencies, flagging clks as critical, etc. The full details are in
    the commits and sub-tree merge logs
 -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmiLljkUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSVR1BAAm5hnFdYvNX/AYK+bNNbb/YkbveGr
 wxrZFjd/1QEZii7UBBOENLjvbrxT4N93TGuwuHOy+iz53X4mWg1BST0RENtmks9v
 rys7suEkDVA7KoDEbcvbUhLbLObEQvr3sxurl2mvq563y02hkJ+rt3kDqdCn/MFK
 fUfqZ79oPLaMULy3XwFyrEQEcxqQTX7i+j1atCB4TPmBSu3R5WMsCS+IVKPCuxCF
 qcan5hCXakv4gBE/jF9x/u28j0m9v16uB2O/7sH3uDzHo/FxShBmC53Bj2Mtaf2w
 lSKhEngCAMItU2LtruO2szpsmoy9EZTIqzELr5GJGXFDQDHiTzcigRtD5MCWjdG1
 aapgWs47Yslh0M+d8Im81hu1YaLGDuoY7QiOVMN/htn0nPEozU1farKJbD3/gj9U
 C6648EXYa/dqDBRRHeqLi4n1RK0Fzb15VvsanKn1nLy+cOvzNI4bpJjEJlUQjZMN
 8MzvzBgLNsydDQC5I8JAPPK2Fcdpk3KpchphZrXLZY8iRco5kvx1mRjh90Lvr8N8
 rmpUC6p1BdEIGhL+NAh7qCz9DOKfsaFr13tHpqD/PItzfHIyd7mss+7GSD6WCa/b
 MduE9172Uq0mY8ZnWe0vV7/+s9GE7oTsxdMC6oF5yTXRIpog7evkUqNyXhpNTxgS
 C2DLCDhaqpHI28c=
 =S+dB
 -----END PGP SIGNATURE-----

Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux

Pull clk updates from Stephen Boyd:
 "This is the usual collection of primarily clk driver updates.

  The big part of the diff is all the new Qualcomm clk drivers added for
  a few SoCs they're working on. The other two vendors with significant
  work this cycle are Renesas and Amlogic. Renesas adds a bunch of clks
  to existing drivers and supports some new SoCs while Amlogic is
  starting a significant refactoring to simplify their code.

  The core framework gained a pair of helpers to get the 'struct device'
  or 'struct device_node' associated with a 'struct clk_hw'. Some
  associated KUnit tests were added for these simple helpers as well.

  Beyond that core change there are lots of little fixes throughout the
  clk drivers for the stuff we see every day, wrong clk driver data that
  affects tree topology or supported frequencies, etc. They're not found
  until the clks are actually used by some consumer device driver.

  New Drivers:
   - Global, display, gpu, video, camera, tcsr, and rpmh clock
     controller for the Qualcomm Milos SoC
   - Camera, display, GPU, and video clock controllers for Qualcomm
     QCS615
   - Video clock controller driver for Qualcomm SM6350
   - Camera clock controller driver for Qualcomm SC8180X
   - I3C clocks and resets on Renesas RZ/G3E
   - Expanded Serial Peripheral Interface (xSPI) clocks and resets on
     Renesas RZ/V2H(P) and RZ/V2N
   - SPI (RSPI) clocks and resets on Renesas RZ/V2H(P)
   - SDHI and I2C clocks on Renesas RZ/T2H and RZ/N2H
   - Ethernet clocks and resets on Renesas RZ/G3E
   - Initial support for the Renesas RZ/T2H (R9A09G077) and RZ/N2H
     (R9A09G087) SoCs
   - Ethernet clocks and resets on Renesas RZ/V2H and RZ/V2N
   - Timer, I2C, watchdog, GPU, and USB2.0 clocks and resets on Renesas
     RZ/V2N

  Updates:
   - Support atomic PWMs in the PWM clk driver
   - clk_hw_get_dev() and clk_hw_get_of_node() helpers
   - Replace round_rate() with determine_rate() in various clk drivers
   - Convert clk DT bindings to DT schema format for DT validation
   - Various clk driver cleanups and refactorings from static analysis
     tools and possibly real humans
   - A lot of little fixes here and there to things like clk tree
     topology, missing frequencies, flagging clks as critical, etc"

* tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (216 commits)
  clk: clocking-wizard: Fix the round rate handling for versal
  clk: Fix typos
  clk: spacemit: ccu_pll: fix error return value in recalc_rate callback
  clk: tegra: periph: Make tegra_clk_periph_ops static
  clk: tegra: periph: Fix error handling and resolve unsigned compare warning
  clk: imx: scu: convert from round_rate() to determine_rate()
  clk: imx: pllv4: convert from round_rate() to determine_rate()
  clk: imx: pllv3: convert from round_rate() to determine_rate()
  clk: imx: pllv2: convert from round_rate() to determine_rate()
  clk: imx: pll14xx: convert from round_rate() to determine_rate()
  clk: imx: pfd: convert from round_rate() to determine_rate()
  clk: imx: frac-pll: convert from round_rate() to determine_rate()
  clk: imx: fracn-gppll: convert from round_rate() to determine_rate()
  clk: imx: fixup-div: convert from round_rate() to determine_rate()
  clk: imx: cpu: convert from round_rate() to determine_rate()
  clk: imx: busy: convert from round_rate() to determine_rate()
  clk: imx: composite-93: remove round_rate() in favor of determine_rate()
  clk: imx: composite-8m: remove round_rate() in favor of determine_rate()
  clk: qcom: Remove redundant pm_runtime_mark_last_busy() calls
  clk: imx: Remove redundant pm_runtime_mark_last_busy() calls
  ...
2025-07-31 13:36:27 -07:00
..
actions clk: actions: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:03 -07:00
analogbits
at91 clk: at91: sam9x7: update pll clk ranges 2025-07-18 09:31:33 +03:00
axis clk: cleanup comments 2022-03-11 18:22:15 -08:00
axs10x clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
baikal-t1
bcm clk: Fix typos 2025-07-26 23:49:18 -07:00
berlin clk: Fix typos 2025-07-26 23:49:18 -07:00
davinci clk: Fix typos 2025-07-26 23:49:18 -07:00
hisilicon
imgtec clk: imgtec: use %pe for better readability of errors while printing 2025-03-04 12:15:25 -08:00
imx Merge branch 'clk-pm' into clk-next 2025-07-29 15:19:32 -07:00
ingenic clk: Fix typos 2025-07-26 23:49:18 -07:00
keystone clk: keystone: syscon-clk: Do not use syscon helper to build regmap 2025-03-04 11:49:53 -08:00
mediatek clk: mediatek: Add SMI LARBs reset for MT8188 2025-02-27 14:17:01 -08:00
meson Merge branches 'clk-renesas', 'clk-samsung', 'clk-spacemit', 'clk-allwinner' and 'clk-amlogic' into clk-next 2025-07-29 15:18:33 -07:00
microchip clk: Fix typos 2025-07-26 23:49:18 -07:00
mmp clk: Fix typos 2025-07-26 23:49:18 -07:00
mstar clk: mstar: msc313 cpupll clk driver 2022-10-27 11:44:27 -07:00
mvebu clk: Fix typos 2025-07-26 23:49:18 -07:00
mxs
nuvoton clk: nuvoton: Do not enable by default during compile testing 2025-06-20 00:21:15 -07:00
nxp clk: Fix typos 2025-07-26 23:49:18 -07:00
pistachio
pxa ARM: SoC changes for 6.5 2023-06-29 15:28:33 -07:00
qcom This is the usual collection of primarily clk driver updates. The big part of 2025-07-31 13:36:27 -07:00
ralink clk: ralink: mtmips: remove duplicated 'xtal' clock for Ralink SoC RT3883 2025-01-13 13:35:38 -08:00
renesas clk: renesas: r9a08g045: Add MSTOP for coupled clocks as well 2025-07-08 11:36:16 +02:00
rockchip Merge branches 'clk-rockchip', 'clk-thead', 'clk-microchip', 'clk-imx' and 'clk-qcom' into clk-next 2025-07-29 15:19:17 -07:00
samsung Merge branches 'clk-renesas', 'clk-samsung', 'clk-spacemit', 'clk-allwinner' and 'clk-amlogic' into clk-next 2025-07-29 15:18:33 -07:00
sifive This a large collection of clk driver updates and a handful of new SoC 2024-07-19 12:16:28 -07:00
socfpga clk: socfpga: stratix10: Optimize local variables 2025-04-24 17:38:07 -05:00
sophgo clk: Fix typos 2025-07-26 23:49:18 -07:00
spacemit clk: spacemit: ccu_pll: fix error return value in recalc_rate callback 2025-07-24 19:36:15 -07:00
spear
sprd clk: Fix typos 2025-07-26 23:49:18 -07:00
st clk: st: flexgen: Switch to determine_rate 2023-06-08 18:39:35 -07:00
starfive clk: Fix typos 2025-07-26 23:49:18 -07:00
stm32 clk: Fix typos 2025-07-26 23:49:18 -07:00
sunxi clk: sunxi: Do not enable by default during compile testing 2025-04-27 13:49:18 +08:00
sunxi-ng Merge branch 'clk-fixes' into clk-next 2025-07-31 09:10:06 -07:00
tegra clk: Fix typos 2025-07-26 23:49:18 -07:00
thead clk: thead: th1520-ap: Describe mux clocks with clk_mux 2025-07-22 15:40:54 -07:00
ti clk: Fix typos 2025-07-26 23:49:18 -07:00
uniphier clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
ux500 clk: ux500: sysctrl: Add a determine_rate hook 2023-06-08 18:39:30 -07:00
versatile
visconti clk: Fix typos 2025-07-26 23:49:18 -07:00
x86 clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
xilinx Merge branches 'clk-bindings', 'clk-cleanup', 'clk-pwm', 'clk-hw-device', 'clk-xilinx' and 'clk-adi' into clk-next 2025-07-29 15:18:13 -07:00
zynq
zynqmp drivers: clk: zynqmp: update divider round rate logic 2023-12-16 17:20:14 -08:00
.kunitconfig
clk-apple-nco.c
clk-asm9260.c
clk-aspeed.c Merge branches 'clk-imx', 'clk-samsung', 'clk-annotate', 'clk-marvell' and 'clk-lmk' into clk-next 2023-08-30 14:39:19 -07:00
clk-aspeed.h clk: aspeed: Move structures to header 2019-09-06 15:17:02 -07:00
clk-ast2600.c
clk-axi-clkgen.c Merge branches 'clk-bindings', 'clk-cleanup', 'clk-pwm', 'clk-hw-device', 'clk-xilinx' and 'clk-adi' into clk-next 2025-07-29 15:18:13 -07:00
clk-axm5516.c
clk-bd718x7.c
clk-bm1880.c
clk-bulk.c
clk-cdce706.c
clk-cdce925.c
clk-clps711x.c
clk-composite.c
clk-conf.c clk: clk-conf: support assigned-clock-rates-u64 2024-08-16 15:21:19 -07:00
clk-cs2000-cp.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-devres.c
clk-divider.c clk: divider: Introduce CLK_DIVIDER_EVEN_INTEGERS flag 2024-10-17 11:16:01 -07:00
clk-en7523.c
clk-ep93xx.c
clk-eyeq.c
clk-fixed-factor.c
clk-fixed-mmio.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-fixed-rate.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-fixed-rate_test.c clk: Add KUnit tests for clk fixed rate basic type 2024-07-29 15:33:13 -07:00
clk-fixed-rate_test.h clk: Add KUnit tests for clk fixed rate basic type 2024-07-29 15:33:13 -07:00
clk-fractional-divider.c clk: fractional-divider: Use bit operations consistently 2024-03-08 17:07:11 -08:00
clk-fractional-divider.h clk: fractional-divider: Hide clk_fractional_divider_ops from wide audience 2021-08-12 12:42:00 -07:00
clk-fractional-divider_test.c
clk-fsl-flexspi.c
clk-fsl-sai.c clk: fsl-sai: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:15 -07:00
clk-gate.c clk: Fix typos 2025-07-26 23:49:18 -07:00
clk-gate_test.c
clk-gemini.c
clk-gpio.c
clk-hi655x.c
clk-highbank.c
clk-hsdk-pll.c
clk-k210.c
clk-lan966x.c
clk-lmk04832.c
clk-lochnagar.c
clk-loongson1.c
clk-loongson2.c Merge branch 'clk-fixes' into clk-next 2025-01-21 11:22:46 -08:00
clk-max9485.c
clk-max77686.c
clk-milbeaut.c
clk-moxart.c
clk-multiplier.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk-mux.c
clk-nomadik.c
clk-npcm7xx.c
clk-npcm8xx.c clk: npcm8xx: add clock controller 2024-10-17 15:17:51 -07:00
clk-nspire.c
clk-palmas.c
clk-plldig.c
clk-pwm.c
clk-qoriq.c
clk-renesas-pcie.c
clk-rk808.c clk: RK808: Reduce 'struct rk808' usage 2023-05-15 16:13:56 +01:00
clk-rp1.c clk: rp1: Add support for clocks provided by RP1 2025-06-16 11:50:33 -07:00
clk-s2mps11.c
clk-scmi.c Merge branch 'clk-fixes' into clk-next 2025-07-31 09:10:06 -07:00
clk-scpi.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-si514.c
clk-si521xx.c Merge branch 'clk-cleanup' into clk-next 2023-10-30 14:12:53 -07:00
clk-si544.c
clk-si570.c
clk-si5341.c
clk-si5351.c
clk-si5351.h
clk-sp7021.c
clk-sparx5.c
clk-stm32f4.c
clk-stm32h7.c
clk-tps68470.c
clk-twl.c
clk-twl6040.c
clk-versaclock3.c
clk-versaclock5.c
clk-versaclock7.c
clk-vt8500.c
clk-wm831x.c
clk-xgene.c clk: Use str_enable_disable-like helpers 2025-01-15 12:27:04 -08:00
clk.c clk: add a clk_hw helpers to get the clock device or device_node 2025-06-19 18:25:48 -07:00
clk.h
clk_kunit_helpers.c
clk_parent_data_test.h
clk_test.c Merge branches 'clk-bindings', 'clk-cleanup', 'clk-pwm', 'clk-hw-device', 'clk-xilinx' and 'clk-adi' into clk-next 2025-07-29 15:18:13 -07:00
clkdev.c
Kconfig
kunit_clk_assigned_rates.h
kunit_clk_assigned_rates_multiple.dtso
kunit_clk_assigned_rates_multiple_consumer.dtso
kunit_clk_assigned_rates_null.dtso
kunit_clk_assigned_rates_null_consumer.dtso
kunit_clk_assigned_rates_one.dtso
kunit_clk_assigned_rates_one_consumer.dtso
kunit_clk_assigned_rates_u64_multiple.dtso
kunit_clk_assigned_rates_u64_multiple_consumer.dtso
kunit_clk_assigned_rates_u64_one.dtso
kunit_clk_assigned_rates_u64_one_consumer.dtso
kunit_clk_assigned_rates_without.dtso
kunit_clk_assigned_rates_without_consumer.dtso
kunit_clk_assigned_rates_zero.dtso
kunit_clk_assigned_rates_zero_consumer.dtso
kunit_clk_fixed_rate_test.dtso
kunit_clk_hw_get_dev_of_node.dtso
kunit_clk_parent_data_test.dtso
Makefile