Commit Graph

1351176 Commits

Author SHA1 Message Date
Stephen Boyd
3e515fc860
Merge branches 'clk-socfpga', 'clk-sophgo', 'clk-thead' and 'clk-samsung' into clk-next
* clk-socfpga:
  clk: socfpga: stratix10: Optimize local variables
  clk: socfpga: clk-pll: Optimize local variables

* clk-sophgo:
  clk: sophgo: Add clock controller support for SG2044 SoC
  clk: sophgo: Add PLL clock controller support for SG2044 SoC
  dt-bindings: clock: sophgo: add clock controller for SG2044
  dt-bindings: soc: sophgo: Add SG2044 top syscon device
  clk: sophgo: Add support for newly added precise compatible
  dt-bindings: clock: sophgo: Use precise compatible for CV1800 series SoC

* clk-thead:
  clk: thead: Add clock support for VO subsystem in T-HEAD TH1520 SoC
  dt-bindings: clock: thead: Add TH1520 VO clock controller

* clk-samsung:
  clk: samsung: correct clock summary for hsi1 block
  clk: samsung: exynosautov920: Fix incorrect CLKS_NR_CPUCL0 definition
  clk: samsung: exynosautov920: add cpucl1/2 clock support
  dt-bindings: clock: exynosautov920: add cpucl1/2 clock definitions
  clk: samsung: exynosautov920: add cpucl0 clock support
  dt-bindings: clock: exynosautov920: add cpucl0 clock definitions
  clk: samsung: Use samsung CCF common function
2025-05-29 00:30:28 -07:00
Stephen Boyd
7459da16c9
Merge branches 'clk-bindings', 'clk-renesas', 'clk-spacemit' and 'clk-cleanup' into clk-next
* clk-bindings:
  dt-bindings: clock: Drop st,stm32h7-rcc.txt
  dt-bindings: clock: convert bcm2835-aux-clock to yaml
  dt-bindings: clock: Drop maxim,max77686.txt
  dt-bindings: clock: convert vf610-clock.txt to yaml format

* clk-renesas: (26 commits)
  clk: renesas: r9a09g047: Add XSPI clock/reset
  clk: renesas: r9a09g047: Add support for xspi mux and divider
  dt-bindings: clock: renesas,r9a09g047-cpg: Add XSPI and GBETH PTP core clocks
  clk: renesas: Use str_on_off() helper
  clk: renesas: r9a09g057: Add clock and reset entries for USB2
  dt-bindings: clock: renesas,r9a09g057-cpg: Add USB2 PHY and GBETH PTP core clocks
  clk: renesas: rzv2h: Use both CLK_ON and CLK_MON bits for clock state validation
  clk: renesas: rzv2h: Use str_on_off() helper in rzv2h_mod_clock_endisable()
  clk: renesas: rzv2h: Support static dividers without RMW
  clk: renesas: rzv2h: Add macro for defining static dividers
  clk: renesas: rzv2h: Add support for static mux clocks
  clk: renesas: r9a09g047: Add clock and reset entries for GE3D
  clk: renesas: rzv2h: Fix a typo
  clk: renesas: rzv2h: Add support for RZ/V2N SoC
  clk: renesas: rzv2h: Sort compatible list based on SoC part number
  dt-bindings: pinctrl: renesas: Document RZ/V2N SoC
  dt-bindings: clock: renesas: Document RZ/V2N SoC CPG
  dt-bindings: soc: renesas: Document SYS for RZ/V2N SoC
  dt-bindings: soc: renesas: Document Renesas RZ/V2N SoC variants and EVK
  clk: renesas: rzv2h: Simplify rzv2h_cpg_assert()/rzv2h_cpg_deassert()
  ...

* clk-spacemit:
  clk: spacemit: k1: Add TWSI8 bus and function clocks
  clk: spacemit: Add clock support for SpacemiT K1 SoC
  dt-bindings: clock: spacemit: Add spacemit,k1-pll
  dt-bindings: soc: spacemit: Add spacemit,k1-syscon

* clk-cleanup:
  clk: test: Forward-declare struct of_phandle_args in kunit/clk.h
  clk: davinci: Use of_get_available_child_by_name()
  clk: bcm: rpi: Add NULL check in raspberrypi_clk_register()
  clk: bcm: rpi: Drop module alias
  clk: bcm: kona: Remove unused scaled_div_build
2025-05-29 00:30:17 -07:00
Stephen Boyd
3a4c538e13 Samsung SoC clock drivers changes for 6.16
1. ExynosAutov920:
  - Add CPU cluster CL0, CL1 and CL2 clock controllers.
  - Fix HSI1 USBDRD clock parents.
 
 2. Minor cleanup for Exynos4 drivers.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmgjG00QHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1+eUD/9/DMJvaa3yt5feWIkwwZvUfas4bsDQQKbP
 FeLLMZ6rHtFKW98T7GMvv53s34VgzTb7FBlZtBad8WFXTGPQyBZeHZFjg705oH+B
 1QRFRDPLmIq/tG30rDyrLPHbpvKjvuy2hD9Dkl8Qm8O8FIXBdXN+zrpvCD6fmJnJ
 qYcx8JUpM64Lf+VL2HqQ7QkzBHPcbRQDdwzxmrmWeBwoyeOcOLL1Uh8p3aHQ+tlf
 IQgyiKQmaXek+QLDwHbFAw50mTOvAIkMlcYQHDfxhYia53UkQcwEe29SIZY7/5KA
 iJMFzPltnD6mNCXPcXdJ0LUL8Ew9UNl2RSV5aky/yMKoX1g9JayEC0JdJTGWS0WO
 aa5GiOmYgbM76zaLuyg7OTSLBBF5yVIciZ8ZgUtQ6QtPxKDBSIh1idQW1c3u6f9D
 j1mfdCCNE1RrPMEg6FcU0d0SMjqkNrbTOFE86UItkbxyyt6arBfQx9AZw6PBBBfv
 szECdZbj1rfrcKnTriX121n8Actk8FRiymR3QpIH0XWoqlq1eKdQ4DoiGSuD+3f7
 eu6Wl2hvaU/d5vQwN3/YSM1yT/9SCDOWt/HH/WdmFiSkzmtm+Qbr76lU6NxV4EDD
 ieQAdTTAvnwCr3zsinra+Rgc+HzN9kCO5iFwCDatxZqR5KJwjtUZl4oohFoQC4zc
 YOW4UEWBvA==
 =ga0N
 -----END PGP SIGNATURE-----

Merge tag 'samsung-clk-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into clk-samsung

Pull Samsung SoC clock driver updates from Krzysztof Kozlowski:

 - Add Samsung ExynosAutov920 CPU cluster CL0, CL1 and CL2 clock controllers
 - Fix Samsung ExynosAutov920 HSI1 USBDRD clock parents
 - Minor cleanup for Samsung Exynos4 clk drivers

* tag 'samsung-clk-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  clk: samsung: correct clock summary for hsi1 block
  clk: samsung: exynosautov920: Fix incorrect CLKS_NR_CPUCL0 definition
  clk: samsung: exynosautov920: add cpucl1/2 clock support
  dt-bindings: clock: exynosautov920: add cpucl1/2 clock definitions
  clk: samsung: exynosautov920: add cpucl0 clock support
  dt-bindings: clock: exynosautov920: add cpucl0 clock definitions
  clk: samsung: Use samsung CCF common function
2025-05-22 15:32:50 -07:00
Stephen Boyd
1ffbdb7aa8 clk: renesas: Updates for v6.16 (take two)
- Add Expanded Serial Peripheral Interface (xSPI) clocks and resets on
     RZ/G3E,
   - Miscellaneous improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaB4HaQAKCRCKwlD9ZEnx
 cKaOAQDtmOY5FSNTO9oWs/zc2HhJt1ymDrkCLtanyGEMcseONQD9GSkIZ4b6MNs7
 5OkWDT2QeY2tj49sTwVcv4gWXXRxswI=
 =hl2R
 -----END PGP SIGNATURE-----

Merge tag 'renesas-clk-for-v6.16-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into clk-renesas

Pull Renesas clk driver updates from Geert Uytterhoeven:

 - Add Expanded Serial Peripheral Interface (xSPI) clocks and resets on
   Renesas RZ/G3E

* tag 'renesas-clk-for-v6.16-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers:
  clk: renesas: r9a09g047: Add XSPI clock/reset
  clk: renesas: r9a09g047: Add support for xspi mux and divider
  dt-bindings: clock: renesas,r9a09g047-cpg: Add XSPI and GBETH PTP core clocks
  clk: renesas: Use str_on_off() helper
2025-05-22 15:26:04 -07:00
Stephen Boyd
29c98b1392 T-HEAD clock changes for v6.16
Add clock support for the Video Output (VO) subsystem in the T-HEAD
 TH1520 SoC. This includes the device tree bindings for the VO clock
 controller as well as extending the TH1520 clk driver to provide
 clock functionality for the VO subsystem.
 
 Signed-off-by: Drew Fustini <drew@pdp7.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSy8G7QpEpV9aCf6Lbb7CzD2SixDAUCaBurKQAKCRDb7CzD2Six
 DDBJAPsHRNnmipJGOsnWuB7jNrICJ7hyveftWVKVkFR6IlqeyAD/bPCMG3sqBEVd
 6w1Tft78lL+VDeSFN93tSSzttwzPDgs=
 =5dxD
 -----END PGP SIGNATURE-----

Merge tag 'thead-clk-for-v6.16' of https://github.com/pdp7/linux into clk-thead

Pull T-HEAD clk driver updates from Drew Fustini:

 - Clk driver for Video Output (VO) subsystem in the T-HEAD TH1520 SoC

* tag 'thead-clk-for-v6.16' of https://github.com/pdp7/linux:
  clk: thead: Add clock support for VO subsystem in T-HEAD TH1520 SoC
  dt-bindings: clock: thead: Add TH1520 VO clock controller
2025-05-22 15:21:43 -07:00
Stephen Boyd
a08f0ac32b RISC-V Sophgo clock driver changes for v6.16
Sophgo:
 Replace compatible for CV1800 series SoC.
 Add clock support for SG2044.
 
 Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
 Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
 -----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEEdoBX2jyDC9ZCTwZjDCzASqG0i0IFAmgataIACgkQDCzASqG0
 i0KBOgv/S6kPwMgUgoBUf3G/QxDTDmZ0uil8HKFVj9CLu/DkIA/B0k4C2o4MOsh6
 BlpsHIeQCfwcgELCMNQkn6MS+85TQNp/qvrxX3MqugJJRyhCuzz4ILz+nB2YxCtQ
 A+o9MmudiCHeQPealK+EMNBiuNPp8wuYdY8GNAhlQTn9GjeJOCHWh++d0eTYCYKq
 rxce3tb1qo9tCXnIA3NNsCsD8DDMaAD355g8a2wFc77xJbUPk+gdqV+BVRn5ORRG
 DBzFzUz4wuFUo2vykNNzI3j0W3IXeF1RuMAqp96kJ02EYxw1FQh696cLQoQY3qVP
 uTtaEAjsqx/7vSi2+NU/PmeOyg8lwrxtzmV/l3Rw99coxamF7W81vMyNwn09P0Dj
 vkJDIYUtX2Lnbn2RWWZhgwbf7+OFv8sMrFpOrlUEdwSz82qzONYf+zF5WviI6Y66
 XA5f81UGqggREN+5ymPUbj9JTfyqQ9bI+pmin7ZstzeNx05v5vmKMgyeWmJlRDDK
 Jtv0utzG
 =0K3z
 -----END PGP SIGNATURE-----

Merge tag 'riscv-sophgo-clk-for-v6.16' of https://github.com/sophgo/linux into clk-sophgo

Pull RISC-V Sophgo clk driver updates from Chen Wang:

 - Replace compatible for Sophgo CV1800 series SoC
 - Add clock support for Sophgo SG2044

* tag 'riscv-sophgo-clk-for-v6.16' of https://github.com/sophgo/linux:
  clk: sophgo: Add clock controller support for SG2044 SoC
  clk: sophgo: Add PLL clock controller support for SG2044 SoC
  dt-bindings: clock: sophgo: add clock controller for SG2044
  dt-bindings: soc: sophgo: Add SG2044 top syscon device
  clk: sophgo: Add support for newly added precise compatible
  dt-bindings: clock: sophgo: Use precise compatible for CV1800 series SoC
2025-05-22 14:55:12 -07:00
Pritam Manohar Sutar
81214185e7 clk: samsung: correct clock summary for hsi1 block
clk_summary shows wrong value for "mout_hsi1_usbdrd_user".
It shows 400Mhz instead of 40Mhz as below.

dout_shared2_div4           1 1 0 400000000 0 0 50000 Y ...
  mout_hsi1_usbdrd_user     0 0 0 400000000 0 0 50000 Y ...
    dout_clkcmu_hsi1_usbdrd 0 0 0 40000000  0 0 50000 Y ...

Correct the clk_tree by adding correct clock parent for
"mout_hsi1_usbdrd_user".

Post this change, clk_summary shows correct value.

dout_shared2_div4           1 1 0 400000000 0 0 50000 Y ...
  mout_clkcmu_hsi1_usbdrd   0 0 0 400000000 0 0 50000 Y ...
    dout_clkcmu_hsi1_usbdrd 0 0 0 40000000  0 0 50000 Y ...
      mout_hsi1_usbdrd_user 0 0 0 40000000  0 0 50000 Y ...

Fixes: 485e13fe2f ("clk: samsung: add top clock support for ExynosAuto v920 SoC")
Cc: <stable@kernel.org>
Signed-off-by: Pritam Manohar Sutar <pritam.sutar@samsung.com>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Link: https://lore.kernel.org/r/20250506080154.3995512-1-pritam.sutar@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-12 08:30:06 +02:00
Biju Das
28548f3f79 clk: renesas: r9a09g047: Add XSPI clock/reset
Add XSPI clock and reset entries.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250424081400.135028-4-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-05-08 20:17:55 +02:00
Biju Das
38a7eb9119 clk: renesas: r9a09g047: Add support for xspi mux and divider
The mux smux2_xspi_clk{0,1} used for selecting spi and spix2 clocks and
pllcm33_xspi divider to select different clock rates. Add support for
both.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250424081400.135028-3-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-05-08 20:17:55 +02:00
Geert Uytterhoeven
d4da08ea37 Renesas RZ/G3E XSPI and GBETH Core DT Binding Definitions
XSPI and Gigabit Ethernet PTP reference core clock DT binding
 definitions for the Renesas RZ/G3E (R9A09G047) SoC, shared by driver and
 DT source files.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaBz0aAAKCRCKwlD9ZEnx
 cFcSAPoC6UvKjSNjqSO7E7kvJalj0Me2ulS4W/ajYx425xz6vgEA0wna1n4fhs6j
 kucdgGvY3aOet2goBCdVSoRiP/rF/Qk=
 =d8LY
 -----END PGP SIGNATURE-----

Merge tag 'renesas-r9a09g047-dt-binding-defs-tag3' into renesas-clk-for-v6.16

Renesas RZ/G3E XSPI and GBETH Core DT Binding Definitions

XSPI and Gigabit Ethernet PTP reference core clock DT binding
definitions for the Renesas RZ/G3E (R9A09G047) SoC, shared by driver and
DT source files.
2025-05-08 20:17:14 +02:00
Biju Das
f21923f3f4 dt-bindings: clock: renesas,r9a09g047-cpg: Add XSPI and GBETH PTP core clocks
Add definitions for XSPI core clock and Gigabit Ethernet PTP reference
core clocks in the R9A09G047 CPG DT bindings header file.

The clk_spi is modelled as a fixed divider clock with parent clk_spix2 and
factor two as both parent and child share same gating bit.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250424081400.135028-2-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-05-08 20:11:00 +02:00
Michal Wilczynski
50d4b157fa clk: thead: Add clock support for VO subsystem in T-HEAD TH1520 SoC
The T-Head TH1520 SoC integrates a variety of clocks for its subsystems,
including the Application Processor (AP) and the Video Output (VO) [1].
Up until now, the T-Head clock driver only supported AP clocks.

Extend the driver to provide clock functionality for the VO subsystem.
At this stage, the focus is on implementing the VO clock gates, as these
are currently the most relevant and required components for enabling and
disabling the VO subsystem functionality.  Future enhancements may
introduce additional VO-related clocks as necessary.

Link: https://openbeagle.org/beaglev-ahead/beaglev-ahead/-/blob/main/docs/TH1520%20System%20User%20Manual.pdf [1]

Reviewed-by: Drew Fustini <drew@pdp7.com>
Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
Signed-off-by: Drew Fustini <drew@pdp7.com>
2025-05-07 10:09:28 -07:00
Michal Wilczynski
1b4bb451f3 dt-bindings: clock: thead: Add TH1520 VO clock controller
Add device tree bindings for the TH1520 Video Output (VO) subsystem
clock controller. The VO sub-system manages clock gates for multimedia
components including HDMI, MIPI, and GPU.

Document the VIDEO_PLL requirements for the VO clock controller, which
receives its input from the AP clock controller. The VIDEO_PLL is a
Silicon Creations Sigma-Delta (integer) PLL typically running at 792 MHz
with maximum FOUTVCO of 2376 MHz.

This binding complements the existing AP sub-system clock controller
which manages CPU, DPU, GMAC and TEE PLLs.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
Reviewed-by: Drew Fustini <drew@pdp7.com>
Signed-off-by: Drew Fustini <drew@pdp7.com>
2025-05-07 10:08:10 -07:00
Stephen Boyd
6bbc69e58a SoCFPGA Clock updates for v6.16, version 2
- Optimize local variables for clocks
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmgatYUACgkQGZQEC4Gj
 KPSGyQ/9GHBHttTsfU1CallBdgrW1DzAx00mYivTRjJgdLSu/9rzPxeGZGha2ksk
 UtFSBQazNx9LOUg4otDC/D6QWNc/nk0dgsWdOf6kMQH3hH1vgNe5UXofsArGTdpp
 jZt31T504Xsg2SMW3UaoxwIyhqBQyXXF/p1Lno7rxNv4TiCugfnJ0enBj4266Wji
 Qs2LIcoT+jQZ6iu3+QBUNahCj06J2Zp57j08pXXqcOpANqKS0AjLFTV7TbpSXU/X
 s94XII4FVkhkJBuNEZp0g0I0ZrIaqfOQkXjZeeFenpQarqeKNiqBB58eiO4dCCET
 3A/nzjV0nstWci7RgmiE7RVmkgwNZnUQrr2S9+aKxQrTAPV8D0c755OwiqcVrPpC
 1KZWld/piSxDotNwbiPHh5XQYhI2ETNal7sT3abt3FX2h0JgPTMEE+/ObZSZcd7E
 zoRCYgOto7GtHMFYMyD0g62exmZc35xLbwszFcMLInS5evLzym4d+91SXEobne8b
 Njx1CYkMIuTR4Rkx3GV7yjS/ZGYxXRnMMpW9HyAOYkw+GlofrznqcWo30No3ixNz
 9a7na/JYsZJSfbJsgRZBWyAdMh/RGiCJFCggIRmca+kvNzBTt3ZfDExTKGGwbmWE
 isCT/BjG1W6jSGpcf0p/cPfal/HPlqCHUNlaZlEM463nkom3L4s=
 =iw/j
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_clk_updates_for_6.16_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into clk-socfpga

Pull SoCFPGA clk driver updates from Dinh Nguyen:

 - Optimize local variables for clocks

* tag 'socfpga_clk_updates_for_6.16_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  clk: socfpga: stratix10: Optimize local variables
  clk: socfpga: clk-pll: Optimize local variables
2025-05-06 20:51:31 -07:00
Inochi Amaoto
41b08610dd clk: sophgo: Add clock controller support for SG2044 SoC
Add clock driver and clock definition for SG2044 SoC.

Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
Link: https://lore.kernel.org/r/20250418020325.421257-6-inochiama@gmail.com
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Chen Wang <wangchen20@iscas.ac.cn>
2025-05-07 08:00:09 +08:00
Inochi Amaoto
ff5240793b clk: sophgo: Add PLL clock controller support for SG2044 SoC
Add PLL clock driver and clock definition for SG2044 SoC.

Link: https://lore.kernel.org/r/20250418020325.421257-5-inochiama@gmail.com
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Chen Wang <wangchen20@iscas.ac.cn>
2025-05-07 07:44:30 +08:00
Inochi Amaoto
1a21590498 dt-bindings: clock: sophgo: add clock controller for SG2044
The clock controller on the SG2044 provides common clock function
for all IPs on the SoC. This device requires PLL clock to function
normally.

Add definition for the clock controller of the SG2044 SoC.

Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250418020325.421257-4-inochiama@gmail.com
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Chen Wang <wangchen20@iscas.ac.cn>
2025-05-07 07:44:30 +08:00
Inochi Amaoto
e4b700d389 dt-bindings: soc: sophgo: Add SG2044 top syscon device
The SG2044 top syscon device provide PLL clock control and some other
misc feature of the SoC.

Add the compatible string for SG2044 top syscon device.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250418020325.421257-2-inochiama@gmail.com
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Chen Wang <wangchen20@iscas.ac.cn>
2025-05-07 07:44:30 +08:00
Inochi Amaoto
dd8bbae9fe clk: sophgo: Add support for newly added precise compatible
Add of device id definition for newly added precise compatible.

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Link: https://lore.kernel.org/r/20250504104553.1447819-3-inochiama@gmail.com
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Chen Wang <wangchen20@iscas.ac.cn>
2025-05-07 07:42:35 +08:00
Inochi Amaoto
6d880961f5 dt-bindings: clock: sophgo: Use precise compatible for CV1800 series SoC
As previous binding uses a wildcard compatible for existed clock device
of CV1800 series SoC, it is not suitable for existed requirement. The
only exception is sophgo,sg2000-clk, it does match a real device, so
keep it as is.

Add new precise compatible for existed clock devices of CV1800 series
SoCs and make old wildcard compatible deprecated.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20250504104553.1447819-2-inochiama@gmail.com
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Chen Wang <wangchen20@iscas.ac.cn>
2025-05-07 07:42:35 +08:00
Richard Fitzgerald
7a0c1872ee clk: test: Forward-declare struct of_phandle_args in kunit/clk.h
Add a forward-declare of struct of_phandle_args to prevent the compiler
warning:

../include/kunit/clk.h:29:63: warning: ‘struct of_phandle_args’ declared
inside parameter list will not be visible outside of this definition or
declaration
   struct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data),

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20250327125214.82598-1-rf@opensource.cirrus.com
Fixes: a82fcb16d9 ("clk: test: Add test managed of_clk_add_hw_provider()")
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2025-05-06 14:50:01 -07:00
Biju Das
6064cfaa1a clk: davinci: Use of_get_available_child_by_name()
Simplify of_davinci_pll_init() by using of_get_available_child_by_name().

While at it, move of_node_put(child) inside the if block to avoid
additional check if of_child is NULL.

Reviewed-by: David Lechner <david@lechnology.com>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20250410062040.6346-1-biju.das.jz@bp.renesas.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2025-05-06 14:46:00 -07:00
Henry Martin
73c46d9a93 clk: bcm: rpi: Add NULL check in raspberrypi_clk_register()
devm_kasprintf() returns NULL when memory allocation fails. Currently,
raspberrypi_clk_register() does not check for this case, which results
in a NULL pointer dereference.

Add NULL check after devm_kasprintf() to prevent this issue.

Fixes: 93d2725aff ("clk: bcm: rpi: Discover the firmware clocks")
Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://lore.kernel.org/r/20250402020513.42628-1-bsdhenrymartin@gmail.com
Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2025-05-06 14:41:55 -07:00
Stefan Wahren
d6fbdae4f3 clk: bcm: rpi: Drop module alias
Since commit fbac2e7787 ("clk: bcm: rpi: Allow the driver to
be probed by DT") the module alias isn't necessary anymore. So
we can drop it.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Link: https://lore.kernel.org/r/20250415185614.16292-1-wahrenst@gmx.net
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2025-05-06 14:40:56 -07:00
Dr. David Alan Gilbert
1dc5da9f3c clk: bcm: kona: Remove unused scaled_div_build
scaled_div_build() was added in 2014 by
commit 1f27f15258 ("clk: bcm281xx: add initial clock framework support")
but hasn't been used.

Remove it.

Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
Link: https://lore.kernel.org/r/20250505013545.359745-1-linux@treblig.org
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2025-05-06 14:35:50 -07:00
Rob Herring (Arm)
72b421e645 dt-bindings: clock: Drop st,stm32h7-rcc.txt
The binding is already covered by st,stm32-rcc.yaml.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250505161933.1432791-1-robh@kernel.org
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2025-05-06 14:15:02 -07:00
Stefan Wahren
619ddc6935 dt-bindings: clock: convert bcm2835-aux-clock to yaml
Convert the DT binding document for BCM2835 auxiliary peripheral clock
from .txt to YAML.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Link: https://lore.kernel.org/r/20250503080949.3945-1-wahrenst@gmx.net
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[sboyd@kernel.org: Drop aux label]
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2025-05-06 14:13:01 -07:00
Rob Herring (Arm)
66bd98084f dt-bindings: clock: Drop maxim,max77686.txt
The clock binding for Maxim MAX77686/MAX77802/MAX77620 is already
covered by mfd/maxim,max77686.yaml.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250505161943.1433081-1-robh@kernel.org
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2025-05-06 14:10:36 -07:00
Stephen Boyd
f37f6ba230 RISC-V SpacemiT clock changes for 6.16
- Add clock driver for K1 SoC
 - Add TWSI8 clock, workaround the read quirk
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQKTBAABCgB9FiEEtbq4ycMbcRVnAiPcMarqR1lNu+0FAmgABHVfFIAAAAAALgAo
 aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEI1
 QkFCOEM5QzMxQjcxMTU2NzAyMjNEQzMxQUFFQTQ3NTk0REJCRUQACgkQMarqR1lN
 u+33iw//bzSbm2l5DbnaVksUmw2tp63wSK2yUk2kTo9zkmASE/DA8LcXxANZjsPQ
 +oI2NMAlqa4jIHQCiN+A42r0xzRETvBo0FJKTa4/dn0/qDWBXEeogn4HSmaaJg8S
 MQWYg5Dm6fRpPH2XyPyhjAdQlCXNp7w8V96RULtwmStBfmshWJ933fg3kEFIcGwe
 RF7wxBAnlT/uphzkuQmY5LMnkovW798ALvWfEGCUz2FaAeLBrBmdsI7J0/IRdxlk
 SgYR1iOjvHlIAGjMKW4ViCxPs3zX536rXwBQZDuKi39ifed4clgJ9TI8SP4LXATo
 Yp0vdoBH9mMzuLcHE2lGxkcaq98V453CIrZX/bK4+5WWZ/lHIcGxBPdF9dbCjtVz
 Zwa1jkpV01ePvPXB6ac8DGslhVFcH8hItMosLiH/SdbcfFIj9nbGWGV/cV3CHwyy
 c9pwpyVgrjmuk9jCzn2PFliZJCN5TyZ8SY8PZihioGDJevoReRCgr8wR6BdLZ627
 zR7/ww/pmW3ojIk9yGPAiUQzdjFtoZEkb577XzZ4sEUbw7eZwYZhe6uR66VZo9wP
 In5fHfxpcktQ04ZYa6UDtoQ+9+HgkKheMYTf+lmC7JcXr3WTgA46TdY7yMCGVEVW
 PTbfZOqewrKHlgW8KO/0cWBrr9cXrBSz7Jrr1gT2s6+1boJku6A=
 =+lDT
 -----END PGP SIGNATURE-----

Merge tag 'spacemit-clk-for-6.16-1' of https://github.com/spacemit-com/linux into clk-spacemit

Pull SpacemiT clk driver updates from Yixun Lan:

 - Add clock driver for SpacemiT K1 SoC
 - Add TWSI8 clock, workaround the read quirk

* tag 'spacemit-clk-for-6.16-1' of https://github.com/spacemit-com/linux:
  clk: spacemit: k1: Add TWSI8 bus and function clocks
  clk: spacemit: Add clock support for SpacemiT K1 SoC
  dt-bindings: clock: spacemit: Add spacemit,k1-pll
  dt-bindings: soc: spacemit: Add spacemit,k1-syscon
2025-05-06 10:56:52 -07:00
Stephen Boyd
bef9652131 clk: renesas: Updates for v6.16
- Add GPU and USB2 clocks and resets on RZ/V2H(P),
   - Add support for the RZ/V2N (R9A09G056) SoC,
   - Add GPU clocks and resets on RZ/G3E,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaAt5fQAKCRCKwlD9ZEnx
 cEaeAP9euhgy4PAmufr4+ImN0lLxAJS3zoO/tCtIKPq95q4BMwEA/ksiP76/+SGC
 vd/OWSUn3f90r+jV26Xsy3iPHkhC/g0=
 =T2RE
 -----END PGP SIGNATURE-----

Merge tag 'renesas-clk-for-v6.16-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into clk-renesas

Pull Renesas clk driver updates from Geert Uytterhoeven:

 - Add GPU and USB2 clocks and resets on Renesas RZ/V2H(P)
 - Add support for the Renesas RZ/V2N (R9A09G056) SoC
 - Add GPU clocks and resets on Renesas RZ/G3E

* tag 'renesas-clk-for-v6.16-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers: (22 commits)
  clk: renesas: r9a09g057: Add clock and reset entries for USB2
  dt-bindings: clock: renesas,r9a09g057-cpg: Add USB2 PHY and GBETH PTP core clocks
  clk: renesas: rzv2h: Use both CLK_ON and CLK_MON bits for clock state validation
  clk: renesas: rzv2h: Use str_on_off() helper in rzv2h_mod_clock_endisable()
  clk: renesas: rzv2h: Support static dividers without RMW
  clk: renesas: rzv2h: Add macro for defining static dividers
  clk: renesas: rzv2h: Add support for static mux clocks
  clk: renesas: r9a09g047: Add clock and reset entries for GE3D
  clk: renesas: rzv2h: Fix a typo
  clk: renesas: rzv2h: Add support for RZ/V2N SoC
  clk: renesas: rzv2h: Sort compatible list based on SoC part number
  dt-bindings: pinctrl: renesas: Document RZ/V2N SoC
  dt-bindings: clock: renesas: Document RZ/V2N SoC CPG
  dt-bindings: soc: renesas: Document SYS for RZ/V2N SoC
  dt-bindings: soc: renesas: Document Renesas RZ/V2N SoC variants and EVK
  clk: renesas: rzv2h: Simplify rzv2h_cpg_assert()/rzv2h_cpg_deassert()
  clk: renesas: rzv2h: Improve rzv2h_ddiv_set_rate()
  clk: renesas: r9a09g057: Add clock and reset entries for GE3D
  clk: renesas: rzv2h: Rename PLL field macros for consistency
  clk: renesas: rzv2h: Add support for enabling PLLs
  ...
2025-05-06 10:52:40 -07:00
Geert Uytterhoeven
aff664cc8c clk: renesas: Use str_on_off() helper
Use the str_on_off() helper instead of open-coding the same operation.
Note that this does change the case of the flags, which doesn't matter
much for debug messages.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/622f8554dcb815c8fc73511a1a118c1724570fa9.1745840497.git.geert+renesas@glider.be
2025-05-05 10:48:07 +02:00
Shin Son
f00aef8e2e clk: samsung: exynosautov920: Fix incorrect CLKS_NR_CPUCL0 definition
The CLKS_NR_CPUCL0 macro was incorrectly defined based on a wrong clock ID.
It mistakenly referenced CLK_DOUT_CLUSTER0_PERIPHCLK, which corresponds to
a cluster peripheral clock, not the last clock ID for CPUCL0 as intended.

This patch corrects the definition to use CLK_DOUT_CPUCL0_NOCP + 1,
properly matching the last clock ID for CPUCL0 as intended.

This error was due to confusion with the hardware diagram, and this patch
ensures that the number of clocks for CPUCL0 is correctly defined.

Signed-off-by: Shin Son <shin.son@samsung.com>
Link: https://lore.kernel.org/r/20250428113517.426987-4-shin.son@samsung.com
Fixes: 59636ec89c ("clk: samsung: exynosautov920: add cpucl0 clock support")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-04-30 09:26:36 +02:00
Shin Son
84d36f26d0 clk: samsung: exynosautov920: add cpucl1/2 clock support
Register compatible and cmu_info data to support clock CPUCL1/2
(CPU Cluster 1 and CPU Cluster 2),
these provide clock for CPUCL1/2_SWTICH/CLUSTER.

These clocks are required early during boot for the CPUs,
so they are declared using CLK_OF_DECLARE instead of being registered
through a platform driver.

Signed-off-by: Shin Son <shin.son@samsung.com>
Link: https://lore.kernel.org/r/20250428113517.426987-3-shin.son@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-04-30 09:25:22 +02:00
Krzysztof Kozlowski
22493f2231 Merge branch 'for-v6.16/dt-bindings-clk-samsung' into next/clk 2025-04-30 09:25:13 +02:00
Shin Son
3c50137aa4 dt-bindings: clock: exynosautov920: add cpucl1/2 clock definitions
Add cpucl1 and cpucl2 clock definitions.

CPUCL1/2 refer to CPU Cluster 1 and CPU Cluster 2,
which provide clock support for the CPUs on Exynosauto V920 SoC.

Signed-off-by: Shin Son <shin.son@samsung.com>
Link: https://lore.kernel.org/r/20250428113517.426987-2-shin.son@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-04-30 09:24:04 +02:00
Frank Li
7021a86694 dt-bindings: clock: convert vf610-clock.txt to yaml format
Convert vf610-clock.txt to yaml format.

Additional changes:
- swap audio_ext and enet_ext to match existed dts order
- remove clock consumer in example

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20250411212339.3273202-1-Frank.Li@nxp.com
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2025-04-29 14:05:14 -07:00
Shin Son
59636ec89c clk: samsung: exynosautov920: add cpucl0 clock support
Register compatible and cmu_info data to support clock CPUCL0(CPU
Cluster 0), this provides clock for CPUCL0_SWTICH/DBG/CLUSTER.  These
clocks are required early during boot for the CPUs, so they are declared
using CLK_OF_DECLARE instead of being registered through a platform
driver.

Signed-off-by: Shin Son <shin.son@samsung.com>
Link: https://lore.kernel.org/r/20250423044153.1288077-3-shin.son@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-04-27 21:22:33 +02:00
Krzysztof Kozlowski
ab525e7336 Merge branch 'for-v6.16/dt-bindings-clk-samsung' into next/clk 2025-04-27 21:21:53 +02:00
Shin Son
e2642509e3 dt-bindings: clock: exynosautov920: add cpucl0 clock definitions
Add cpucl0 clock definitions.

CPUCL0 refers to CPU Cluster 0, which provide clock support
for the CPUs on Exynosauto V920 SoC.

Signed-off-by: Shin Son <shin.son@samsung.com>
Link: https://lore.kernel.org/r/20250423044153.1288077-2-shin.son@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-04-27 21:21:40 +02:00
Thorsten Blum
0248bfb255 clk: socfpga: stratix10: Optimize local variables
Since readl() returns a u32, the local variable reg can also have the
data type u32. Furthermore, mdiv and refdiv are derived from reg and can
also be a u32.

Since do_div() casts the divisor to u32 anyway, changing the data type
of refdiv to u32 removes the following Coccinelle/coccicheck warning
reported by do_div.cocci:

  WARNING: do_div() does a 64-by-32 division, please consider using div64_ul instead

Compile-tested only.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2025-04-24 17:38:07 -05:00
Thorsten Blum
ab4999906a clk: socfpga: clk-pll: Optimize local variables
Since readl() returns a u32, the local variables reg and bypass can also
have the data type u32. Furthermore, divf and divq are derived from reg
and can also be a u32.

Since do_div() casts the divisor to u32 anyway, changing the data type
of divq to u32 removes the following Coccinelle/coccicheck warning
reported by do_div.cocci:

  WARNING: do_div() does a 64-by-32 division, please consider using div64_ul instead

Compile-tested only.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2025-04-24 17:38:06 -05:00
Lad Prabhakar
93f2878136 clk: renesas: r9a09g057: Add clock and reset entries for USB2
Add clock and reset entries for USB2.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250407165202.197570-9-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-04-22 11:38:28 +02:00
Geert Uytterhoeven
4902413495 Renesas RZ/V2H USB2 and GBETH Clock DT Binding Definitions
USB2 and Gigabit Ethernet clock DT binding definitions for the Renesas
 RZ/V2H (R9A09G057) SoC, shared by driver and DT source files.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaAdjCgAKCRCKwlD9ZEnx
 cK1QAQDuLzdrClZHsBEZ1SjldM2XDPA9PjpYSErEilAtZ9XOTQEAjqatxMy3ue3W
 Zmp5l7KlRrVxa9qAZ9BEdQOCiSDY0Qs=
 =Kiju
 -----END PGP SIGNATURE-----

Merge tag 'renesas-r9a09g057-dt-binding-defs-tag3' into renesas-clk-for-v6.16

Renesas RZ/V2H USB2 and GBETH Clock DT Binding Definitions

USB2 and Gigabit Ethernet clock DT binding definitions for the Renesas
RZ/V2H (R9A09G057) SoC, shared by driver and DT source files.
2025-04-22 11:37:21 +02:00
Lad Prabhakar
ad227dab30 dt-bindings: clock: renesas,r9a09g057-cpg: Add USB2 PHY and GBETH PTP core clocks
Add definitions for USB2 PHY core clocks and Gigabit Ethernet PTP
reference core clocks in the R9A09G057 CPG DT bindings header file.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250407165202.197570-8-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-04-22 11:29:44 +02:00
Lad Prabhakar
ef224dd26c clk: renesas: rzv2h: Use both CLK_ON and CLK_MON bits for clock state validation
Update the clock enable/disable logic to follow the latest hardware
manual's guidelines, ensuring that both CLK_ON and CLK_MON bits are used
to confirm the clock state.

According to the manual, enabling a clock requires setting the
CPG_CLK_ON bit and verifying the clock has started using the CPG_CLK_MON
bit.  Similarly, disabling a clock requires clearing the CPG_CLK_ON bit
and confirming the clock has stopped via the CPG_CLK_MON bit.

Modify `rzv2h_mod_clock_is_enabled()` to check CLK_MON first and then
validate CLK_ON for a more accurate clock status evaluation.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250407165202.197570-6-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-04-22 11:27:12 +02:00
Lad Prabhakar
e6c2b4ed49 clk: renesas: rzv2h: Use str_on_off() helper in rzv2h_mod_clock_endisable()
Replace hard-coded "ON"/"OFF" strings with the `str_on_off()` helper in
`rzv2h_mod_clock_endisable()`.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250407165202.197570-5-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-04-22 11:27:12 +02:00
Biju Das
52239ebe62 clk: renesas: rzv2h: Support static dividers without RMW
Add support for static dividers that do not require read-modify-write
(RMW) operations.  This enables the use of the generic clk_divider_ops
instead of the custom RMW-based implementation.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Co-developed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250407165202.197570-4-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-04-22 11:27:12 +02:00
Lad Prabhakar
6e1c795071 clk: renesas: rzv2h: Add macro for defining static dividers
Unlike dynamic dividers, static dividers do not have a monitor bit.
Introduce the `DEF_CSDIV()` macro for defining static dividers, ensuring
consistency with existing dynamic divider macros.

Additionally, introduce the `CSDIV_NO_MON` macro to indicate the absence
of a monitor bit, allowing the monitoring step to be skipped when `mon`
is set to `CSDIV_NO_MON`.

Note, `rzv2h_cpg_ddiv_clk_register()` will be re-used instead of generic
`clk_hw_register_divider_table()` for registering satic dividers as some
of the static dividers require RMW operations.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250407165202.197570-3-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-04-22 11:27:12 +02:00
Lad Prabhakar
c1d6f686e5 clk: renesas: rzv2h: Add support for static mux clocks
Add support for `CLK_TYPE_SMUX` to register static muxed clocks on the
Renesas RZ/V2H(P) SoC.  Extend `cpg_core_clk` to include parent names,
mux flags, and a new `smuxed` struct.  Update clock registration to
handle static mux clocks.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250407165202.197570-2-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-04-22 11:27:12 +02:00
Tommaso Merciai
9375d704d2 clk: renesas: r9a09g047: Add clock and reset entries for GE3D
Add CLK_PLLVDO_GPU along with the necessary clock and reset entries for
GE3D.

Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250402131142.1270701-2-tommaso.merciai.xr@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-04-22 11:26:40 +02:00