Commit Graph

1444101 Commits

Author SHA1 Message Date
Stephen Boyd
db810874e5
Merge branches 'clk-ti', 'clk-samsung', 'clk-rockchip' and 'clk-spacemit' into clk-next
* clk-ti:
  clk: keystone: sci-clk: fix application of sizeof to pointer
  clk: keystone: don't cache clock rate

* clk-samsung:
  clk: samsung: exynos990: Fix PERIC0/1 USI clock types
  clk: samsung: exynos850: mark APM I3C clocks as critical

* clk-rockchip:
  clk: rockchip: allow COMPILE_TEST builds
  clk: rockchip: rk3588: add GATE_GRF clocks for I2S MCLK output to IO
  soc: rockchip: rk3588: add SYS_GRF SOC_CON6 register offset
  clk: rockchip: add helper to register auxiliary GRFs
  clk: rockchip: allow grf_type_sys lookup in aux_grf_table
  dt-bindings: clock: rockchip,rk3588-cru: add I2S MCLK output to IO clock IDs

* clk-spacemit:
  clk: spacemit: k3: Add PCIe DBI clock
  dt-bindings: soc: spacemit: k3: Add PCIe DBI clock IDs
  clk: spacemit: k3: Fix PCIe clock register offset
  clk: spacemit: k3: Switch to pll2_d6 as parent for PCIe clock
2026-06-25 07:55:38 -07:00
Stephen Boyd
e08f2083dd
Merge branches 'clk-renesas', 'clk-socfpga', 'clk-amlogic' and 'clk-canaan' into clk-next
* clk-renesas: (36 commits)
  clk: renesas: r9a08g045: Drop unused pm_domain header file
  clk: renesas: r8a779g0: Add DSC clock
  clk: renesas: rzg2l: Rename iterator in for_each_mod_clock() to avoid shadowing
  clk: renesas: r9a08g045: Drop unused DEF_G3S_MUX macro
  clk: renesas: rzg2l: Rename RZG3L-prefixed PLL macros to CPG-prefixed ones
  clk: renesas: rzg3s/rzg3l: Simplify PLL configuration macro
  clk: renesas: rzg2l: Simplify SAM PLL configuration macro
  clk: renesas: r8a73a4: Add ZT/ZTR trace clocks
  dt-bindings: clock: renesas,cpg-clocks: Document ZT/ZTR trace clock on R-Mobile APE6
  clk: renesas: r9a08g046: Add RSPI clocks and resets
  clk: renesas: r9a08g046: Add SSIF-2 clocks and resets
  clk: renesas: r9a08g046: Add RSCI clocks and resets
  clk: renesas: cpg-mssr: Add number of clock cells check
  clk: renesas: rzg2l: Refactor rzg3l_cpg_pll_clk_endisable()
  clk: renesas: rzg2l: Consolidate DEF_MUX() and DEF_MUX_FLAGS()
  clk: renesas: r9a08g046: Add IA55_PCLK to critical module clocks
  clk: renesas: r9a09g047: Add support for LCDC{0,1} clocks and resets
  clk: renesas: r9a09g047: Add support for DSI clocks and resets
  clk: renesas: r9a09g047: Add support for SMUX2_DSI{0,1}_CLK
  clk: renesas: r9a09g047: Add CLK_PLLDSI{0,1}_CSDIV clocks
  ...

* clk-socfpga:
  clk: socfpga: agilex: implement l3_main_free_clk

* clk-amlogic:
  dt-bindings: clock: amlogic: t7: Add missing mpll3 parent clock
  dt-bindings: clock: amlogic: Fix redundant hyphen in "amlogic,t7-gp1--pll" string.

* clk-canaan:
  clk: canaan: Add clock driver for Canaan K230
  dt-bindings: clock: Add Canaan K230 clock controller
2026-06-25 07:55:26 -07:00
Stephen Boyd
124e5c5ec9
Merge branches 'clk-cleanup', 'clk-mediatek', 'clk-marvell' and 'clk-versal' into clk-next
* clk-cleanup:
  clk: hisilicon: Improve deallocation in error path
  clk-lpc18xx-ccu: kzalloc + kcalloc to kzalloc_flex
  clk: bulk: Use dev_err_probe() helper in of_clk_bulk_get()
  clk: bcm: iproc-asiu: simplify allocation
  clk: clk-max77686: kzalloc + kcalloc to kzalloc
  clk: visconti: pll: use kzalloc_flex
  clk: hisilicon: clkdivider-hi6220: use kzalloc_flex
  clk: mvebu: use kzalloc_flex

* clk-mediatek:
  clk: mediatek: mt7988: use MUX_CLR_SET for gate-less muxes
  clk: mediatek: mt8192: use MUX_CLR_SET
  clk: mediatek: add MUX_CLR_SET macro

* clk-marvell:
  clk: mmp: pxa1908-apbcp: Add reset cells
  clk: mmp: pxa1908-apbc: Add reset cells
  dt-bindings: clock: marvell,pxa1908: Add #reset-cells

* clk-versal:
  clk: clk-axi-clkgen: Add support versal timings
2026-06-25 07:55:16 -07:00
Stephen Boyd
834b14a5c4 RISC-V SpacemiT clock changes for 7.2
- Switch parent clock of PCIe
 - Fix PCIe clock register offset
 - Add PCIe DBI clock
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQKvBAABCgCZFiEEtbq4ycMbcRVnAiPcMarqR1lNu+0FAmonoBcbFIAAAAAABAAO
 bWFudTIsMi41KzEuMTIsMiwyXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25z
 Lm9wZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRCNUJBQjhDOUMzMUI3MTE1NjcwMjIz
 REMzMUFBRUE0NzU5NERCQkVEAAoJEDGq6kdZTbvtgEIP/iUl+zKSId0Xufi4lGCd
 7iM3bWXRsu1ZIpJEwdfw7oGWfcfAwR0E9kP8Xacf4SV1sDqUoGB1Z0BU6NbpgEAP
 H3i+tk0lp6KcJkBy3rfyZc+ulH2c8SNv6TYwR2Lg+khD4Uxb+VGSOX4fKlriMQ9G
 8fdTKiGvH53FqyL5NZq2llubjT4qnYCkjdGr+8U/MOfVsFRDKheDfn7K0n1zUYa9
 ql9WCTugyY8jjBIYca2sQZYyb1uVZ8V+D2T/v8kk+88wi9vAOmfc+7PewFXRBAal
 HAbzrWn8cu0MNQjf1hH6Twb0DEkzkPQznAFvqPfCPPwvzUU3NxIK3jmLSuxJ4qc1
 lfq533ooq9ovoAyDA420QB7pf8DovHErmRTfkMDjt7TvBhkqSwZ3JifNx1u70LMy
 brdU10vC3sVaxrN6cTnP4LlTxGV+DbhlZG+LgdxOe2reQKMezEAlaT42OL0Yv9PF
 NDm8cWKngjxnlgn8uO76F0Be/WjQoDA6SHCT6Du1I/ds629SI9QWxzlpboGZtSOp
 nVLnTDkN1cyIn84mC8F+j4i8UivnFvs2YsMjQ0FWWXFrWGDxNBZP9w+MfGXX1Yuj
 cdNUCTd7Yp3u65Ig+UP5FjSZF3E02oED/4b7vWOR41hED39cCEBPhkhIvEu2/+yz
 BbrIReDsG14rQrDnv4bDI5+q
 =4WKI
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmotxswUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSUAzA/9EVojwFxYCYGFetGW66kZHVAFPbAH
 Lqd4SCUtfIbGB6pDR+Ji0PbkRuarWN+zjV94DYKinplALPheDbEtPUWJGJr3QDKe
 pPB3t3TlGbMO6zu92C2Mpt1Ifl2DwH3He0t+vxJPcGg0vooEVWh3O2s745UkYGXK
 xwxPuUAy+IjUynIEqzqF2s1PLdsgYR9sFDSvV/kOUF294gqeEf4JQW5nQfEVzoF/
 vsrJfRXPE9fg0sZcJznwqrQxCD3PU5sbpjxkZeoT6tX+g70QDdZ2k8j0l7zrBLSf
 5srIe+TNgzC96Dog338i6zzK76apqoUirKjFMj9M6ZT1CREfqX8DE46B0V4YXZHO
 DPivTirXs7JNeN33U81PJlTFebk7kmLYhylTA/Md3QbPvHxXyIZctoQQ4dSVAeSR
 Ry41h9vRp0Wrl/6brjvroxzHhBADIBycy3f/GcG0hIgZnGkVOAfAkvCgsF2M1gzw
 KQ/jA32eU3v/Kpc2vB4gphGWWDEdZeHEMei5n5f3WW4AmJHn1hZGDXIRr/oA9Glb
 wp880KBO5CIzfgmjzQuxVE8J3HbvDWXC55FOAxt/p42Njz2nWEjVLVQpHd4w3pmo
 Cg2rE8YXEI+6har/BVJTR28xl+Jhvb3h/ObW4dgCaULVC1P0rPg99fx/eLBQI0hY
 u5Lgb74CJHzbc5Y=
 =GPeN
 -----END PGP SIGNATURE-----

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

Pull RISC-V SpacemiT clk driver updates from Yixun Lan:

 - Switch SpacemiT PCIe parent clock
 - Fix SpacemiT PCIe clock register offset
 - Add SpacemiT PCIe DBI clock

* tag 'spacemit-clk-for-7.2-1' of ssh://github.com/spacemit-com/linux:
  clk: spacemit: k3: Add PCIe DBI clock
  dt-bindings: soc: spacemit: k3: Add PCIe DBI clock IDs
  clk: spacemit: k3: Fix PCIe clock register offset
  clk: spacemit: k3: Switch to pll2_d6 as parent for PCIe clock
2026-06-13 14:07:48 -07:00
Stephen Boyd
0f92f188c8 gate-clocks for i2s outputs on rk3588 and allowing compile-tests
for the whole clock driver.
 The sparse warning when the Rockchip clock is compiled on M68K gets
 fixed by:
 https://lore.kernel.org/lkml/b55e9bd0532c0cad519809c86e0a8400060d75a1.1780559561.git.geert@linux-m68k.org/
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmol2NUQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgYOoB/0fnK+ldaZ0LcZj612FQEcBY1C0qULQecth
 dCvmX/gNpILRAmrUwZDiRIlrZT+Wuy7Oe8y6qfDfh5DVzIRO/E7DvLXbky8Wfq3J
 IwIY1RlFa0BVwT0nHkBWStASmzqxo+O+ixD9msnx4IHchJqzeZVdft0EXy2o9gZ+
 /J02OTFkwwoM/KXasMLySWZhKqorkXQeIwvaj/gyGPiRlxdRrFEzIVa/dBeBaVz2
 rebuNNqQ6ipTRCU5hiqCwrlT1zfDvnHuxXcynyoomPvZ1o6JaN6sFspLq2gI32AQ
 t4QSE5rxKdpn/IvvJ7QgBAR12FmYnF6MectYJ0qaAX6kBP/C4A8b
 =y3ev
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmotxjcUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSVxBw/+PpaPfEs7qtM/Kuk92lOJfa9W4f2T
 ImGLempVpjXPrKvB4TyHBXMGvDFiQJtp08SMpBmCq1yFV85l0Flq5awfFUpvW/jb
 Q/Dum3FJHW6DCiqtVZdzwjYaFhMsEoARCG2RRF/dAz8euQi3cQmwC3Rz/jDmoxT0
 yxKideV6M7Q8tZODmwCYhUrwOcZyEHCL2dAthRD8aAzxgtznQKeuWC4CwQhf7V+C
 nwFNiWN6YRzZJ0j43ICWF9OLm3tuFqbf/6KWiOcrPhGaFcVqQ+D2bdVkkClRBpnL
 T5RqOpUSGek/n88fgq66Qs+7QKP3QWimx4aoSbfer4M3yx3zrWfGf8vbTSNGLzGu
 Kx3Om6QmrA6kSArMzN9/OtcpG4YWxVpvUsS/CH+tbLnF5NAedQwWH3cVqugQ4afZ
 r6p7YaLvtOSjCfNtJrxFAPSSqYeTJmfrOOFlj1zcEdCWRWy/sV4PInbcNWoQ+H6v
 dLtU6rPCYTgIsaYRA5zudtNMbziTG/8ZRw1rNaAcB1mKRJlT2E/ib/3KiiW7kplL
 RA/0kmDGOdmJ87zKC73eErGfnBPTv15TLm+WwpOqu0oBDeq5QI0WeOZTaoXjOjTU
 oHYFGyL+PkZ/411sdWzl01q8TMxRI+/bRHkHOKRs63o/Af3Mn5uvxCKNDqezxZte
 Q24jHfq1HQKlpUc=
 =b2WY
 -----END PGP SIGNATURE-----

Merge tag 'v7.2-rockchip-clk1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into clk-rockchip

Pull Rockchip clk driver updates from Heiko Stuebner:

 - Add gate-clocks for i2s outputs on Rockchip rk3588
 - Allow compile-tests for the whole clock driver

* tag 'v7.2-rockchip-clk1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  clk: rockchip: allow COMPILE_TEST builds
  clk: rockchip: rk3588: add GATE_GRF clocks for I2S MCLK output to IO
  soc: rockchip: rk3588: add SYS_GRF SOC_CON6 register offset
  clk: rockchip: add helper to register auxiliary GRFs
  clk: rockchip: allow grf_type_sys lookup in aux_grf_table
  dt-bindings: clock: rockchip,rk3588-cru: add I2S MCLK output to IO clock IDs
2026-06-13 14:04:36 -07:00
Stephen Boyd
3bb620aefb Samsung SoC clock drivers changes for v7.2
1. Exynos850: Mark APM (Active Power Management) I3C clocks as critical,
    because they are necessary for communication with firmware but we do
    not have any consumer of them so far.
 
 2. Exynos990: Correct the parents of a few muxes and propagate rate
    requests up.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmohpOsQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD14/4D/0aGEZYxPERhKlDGBqey2UALk663f3aW20v
 WxnK3CnyaRAfrhXacB6VMSlQmZzTQz7expvb5ClLecanFbGYT2jTIpRRCcADddC0
 Uwk00EkPxOSEHcJ+hOGy+R5zD+ZqyFWIglIy6SVUmFxN4EQz2nW/SXVzG0+t/Cpx
 WEI8a1AwfTrC2s6ZxHeS6UGSyVfunS7sMfqbOIbVB8BMC9r3zr0j6UKNwLY9t/3d
 LCcj5kQdLD04P0t6jvsJ5qZvycBxTHDuFrDCXpX1sjhnq7xF9Rnk3X62HMF1+nuG
 bNL+A6LQS4RpcZaOrYTVIuYtPKqf4ZaCuwYwLex29gG42CbBdTf7Xu6gy/eYQtfE
 pxKmSkJWL0OU5+MA2pfe8tmmAi8uJ5Cpdy54EZJMaMIIl9gfU5qpGXn7jJ80e3oc
 NTGRmR6P/s22W7c69m8lZBJ5fh0gb9g87Mh/+4svnf7fjOfRP0eyKoEVH6c06hxK
 vQv+RuK0DmWWTNm1/+tZCKQggrKWlaq3AmeQq1bPUcs1PpQpOlwDQYPt8o/yvp4D
 eEBOp3/u8gSVfLI6ZPPfC3yKbTONDMC1C6dXeUgbl5DD2hao81bUqy2p+OVk7X8J
 65ZDOz+9lb5gD/k19NfJ5IVV9gd5lTJ3tVQpKFRYAhbO+YFy/sSAHUzrOOlPSJEA
 PSVN26WnnQ==
 =sCPP
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmotxaAUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSVYSQ//UHff/7ksSLsyjvnum3zFohy3D8jD
 FaQLNjmkcQMWX3W5y3rl1fRgBl4xuZn24XIXMay2V0+1nQfX9frNgCM1+Dr5wtj6
 6swv5uMA3sO0S1sx0kkef0l+NF5oJ0YbIJVnXMy8f/q6N4BoTebPggGAQllDb/+s
 nS0AEzYlp5H8Re7afiqM7r2VXuzoW114Uq4iKhE5+I4MvSimkFaRXxlN3P/vm7ST
 mG9j1Mkce2NnNkil3/8hJsfdlbTTr93geZPMn7/jRH6Iiqj/FJcYggAwcPTdGGoz
 oQphS2cB8oPqeypWVEP1DusT1JrFU+GEsJn/EtpZYBT6lywj8hh7CjBOZCNt7CVi
 kSZDT34Tbo+vPaF7xsqiX1LKVhMTEIt0uPKxkmZlho2jnAIf0fJT3eX3Qu4z0CQw
 VwkCoSm6QvNgJj5+5Kzo3NMPRcC/U5vZdHUYnCyr+keCyBwVAvCwuEu3WPnM0UXv
 QL78b3iGAqo97DLwjHWncxOgSxcsA8Eu+Z2x6y3KuPx/KwGWkhsWHiVTZ2DGnJly
 EDScTKAonC/McWs2z82mVVt3qBoNDQkqhKGtp8AAdp24tEAWUC4Pn/wr2OgD9jjz
 3ZkdtOVENghcF/pOUIIPwgGou8uTJc0rswLNUI9kFIxY4nKmD5y308tqTdecmHx0
 ysUj4SfpYtHnjsQ=
 =cJNR
 -----END PGP SIGNATURE-----

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

Pull Samsung SoC clk driver updates from Krzysztof Kozlowski:

 - Exynos850: Mark APM (Active Power Management) I3C clocks as
   critical, because they are necessary for communication with
   firmware but we do not have any consumer of them so far.
 - Exynos990: Correct the parents of a few muxes and propagate
   rate requests up.

* tag 'samsung-clk-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  clk: samsung: exynos990: Fix PERIC0/1 USI clock types
  clk: samsung: exynos850: mark APM I3C clocks as critical
2026-06-13 14:03:02 -07:00
Stephen Boyd
c400e4ceb9 TI K3 SCI clock updates for v7.2
- Fix incorrect application of sizeof to a pointer type in sci-clk driver
 - Disable clock rate caching in the keystone clock driver to ensure
   accurate rate reporting
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmog6dUACgkQ3bWEnRc2
 JJ1UGA//Zd+8q2zLClESCyjTZCkDlSt5Bs4tO+qfHxv7bwVDQkKBubadSF3T1TP/
 n0/O5XSvYBweziOzQfUnVYT39NRcngst0owYMGEqF5LSKkU0Dqgm8ALy7hj6Q1+4
 HLdCMO4h5is3xhulTMWkIwLKN1PBKc6zGvdDsddzBrHKS5Ayee7sbjXz3n7OztU4
 vQoXOJYSbKyVop6VvpTERHxIxqUrubQ8UasaE7jUSD3bd8IM8YwjM4G6pjJb7Orj
 VK5NdLigPqbS8z/ag2io4AjQHC7052SUUOp+iKvH4kyRzAtuoAD1Ml0Dssm6rEFs
 wMQ5+tU16v5iKzxEt7vkJJEC1wL1TYkxInoGMCVhw8EnhTT4xQu8Wl+pkw6lEoGd
 jChGC8Lv3ji34TtB1e4mX7HftsaTeg8aqn1sqSjKifYvtk0SrDBbhX/WgPHGCWhs
 9zM7GgGg5zzkiV7CjfZD6I8JChXu7mH3t6zz66NiciqPB54JpKbMvgkchhBOK+Jb
 YCdO7BdkKqCUUZNY3Aefdiy+wUwOm8IsCWiYPoiv2QBI5DABYROmZhMRF74wGDJX
 cXEKKGFoMo8BhCVpiagEDzM+ys5YXkNy3ff/1HlX42bbe6WJvLbovQgK3OYiVfcU
 i3aKavN4O3h6eceQ9QZGx9+4/ne1zvTrTlGojPeRtJ7mxBdm8Wg=
 =Fl+H
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmotxOsUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSU/vw//SYOydiUpCzkON+VPEdlwxKHtQ09+
 YvXMcbkjCpnVkpuhBZCHqp0yxFNElt8RvfEOelZissJv/WV+hg94cdvOJo6/mUO0
 kEmdQ1zNGmFuA4J1wkSg6xQX/vTn1myQnPfY43LhQvXSMatYDy9ibHWsr+RIqs4k
 uP7MHOd/X1LuEGDDzWzAhBaWoFulFCcbfianUveNWB+PJ64+Qkfypa2fw+qLH9I3
 iCePKflcy/ciegBNnOhx4Mps446aHcBAFcqZysMHyTtzDbt0s7QY0qPcmDbcv3Mb
 73VBhGhvoHuZms/pRBuh+CHJF8i84V7cdP6RHthHj1CtgAHMoRDXmOr7CR4CT6ih
 ETBe1F0zKk49D4Gw7tZeZmf/BQXAfpAVlMjgqnV0EwUqD73yImsvFDlhAVzAJaM5
 u5agbL0DoA9MTkj5gI824tVbaBJY+I1Soc3h8ZeUta2G3gn5EyGar3+209eEZCiS
 Ps5k1zWPxsZrMyxDM5J0sRrHvVwNx2rZti3IvuogrNwGWTO2V/iAdEZuUcWRPGVr
 RkFw+0IvLHdQPeyDbe+vZaPbqFBTuWUXw2jyVpC+CWov6VQ2BnHbzzEQoeO2/RFf
 x8d65AXvq+zkR8FJDE4iH+8u4hcnCCPWOFb/riJpNtD3xrutFrfN5nho7kVYT37T
 z5GN4VCg0MVeO/8=
 =7ZmO
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-sci-clk-for-v7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into clk-ti

Pull TI K3 SCI clock updates from Nishanth Menon:

 - Fix incorrect application of sizeof to a pointer type in TI
   sci-clk driver
 - Disable clock rate caching in the keystone clock driver to
   ensure accurate rate reporting

* tag 'ti-k3-sci-clk-for-v7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  clk: keystone: sci-clk: fix application of sizeof to pointer
  clk: keystone: don't cache clock rate
2026-06-13 13:59:57 -07:00
Stephen Boyd
df2e28941e Canaan k230 clock support
Driver and devicetree bindings for the Canaan k230 SoC.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCah6blAAKCRB4tDGHoIJi
 0koLAQCgrED6lMf1uR6As3lbMv0Hv/nmr2ZWRIf2nkSk0VimgQD+JzyjxS6siSwl
 bJfXAzqSb9YJwPjUgsAr/rjFdZSelwQ=
 =ASF8
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmotxGsUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSXk3xAAmFQN5rPTuoVWTkBmf14hEdzJVWeM
 yvKs53ufmHWbpLP9pH0dTkRh4o4oL2LfuSIE+ncfl/hAgeC3aKc2ZF3+WMtcQkmd
 c6HhYzPvZefzDkemycwTK5k+DyhZziKokf3mD33pdm08O8EBNwDLmhgpFBOnQAzI
 j+SVEnUpqAsvrr3N6XiOgmsEmj/P49wVTS+pkrM4B4npu450MX3l5vuE4ltO3g4I
 W7xi+/FrorcN+creDAYls0W8GN0XMtADxVstPvRu/6M+id1PnZxTNOyyUjKa8i8S
 HR+7470x75OKGIIBO/WuoZW7Xsgrr4r2ZGkvjlPG3O1yQ7l57hBCnFwJGRYiurBv
 xHh+60GagaH7G7x4ND5oDTYQJ5mwY7ff55JeNQPnjGbTePlETrSNEeWFqhioTxd1
 pFeAMdlATrZKxsocELwPYNIMDuFsbv0TamQFN9tsyqwShxFOfP9O61h+jxZy9eqd
 biYXM1pX/HTVT35ZfeyP0SqkbNcF3tzSuMvnRnLI3y/dzSW4MbJFsrJFIEinulfa
 SNGyOS3FOXYHCRxTRI74oq8fca8Lw9jAeHZEMzkexiLf2XBUPF8za4CA/8/yq+uw
 3k005UIdfGM5KXfhE9n9M3aWftxugshVwm040CwfAoA/0gxqZLfCCBknR5PoGusN
 0fYtYGZmk6zzTF8=
 =4nV2
 -----END PGP SIGNATURE-----

Merge tag 'clk-canaan-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into clk-canaan

Pull Canaan k230 clock support from Conor Dooley:

 - Driver and devicetree bindings for the Canaan k230 SoC clk
   controller

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'clk-canaan-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  clk: canaan: Add clock driver for Canaan K230
  dt-bindings: clock: Add Canaan K230 clock controller
2026-06-13 13:57:40 -07:00
Stephen Boyd
5c2fd8bb73 clk: renesas: Updates for v7.2 (take two)
- Add the Display Stream Compression (DSC) clock on R-Car V4H,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCah1JPwAKCRCKwlD9ZEnx
 cATIAQCd6L6ngirMqTcBN/Nm3JfQzPjhh/b3KOS2qgzfoGC8aAEA3HT3+r0+MCX5
 MD1DmEhO6HKSV9icdSl3O0Yc0hYWVQU=
 =ERtt
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmotw+8UHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSWCUQ/+IUrx+ff0j7i4tg1Pm2ltQMHH0Hkp
 Q7q2+GOmihnTmJ1OroxF8taOekceydgdeHNxgQmN17BbF3LUKinmDvq2WkVXmR3f
 O9FKYbXmZqBwAQnUo7F/puCLtR4CnSc1kaj0urUl1DVLyR9y0Kt/Vhnl05hZYZQN
 0+97Dd4uZl2n2LrZjU41WQv0fyBc7AWG6LNgiN5Qn/aeJARYOyHWX8qfjPnxk3fr
 i6+MwqZ3uhwxEs+M0UbfgoHlBX0JTPhsO27XnAUvMh51bgKowIaMkYDIGJ0iUt1h
 HAGKCIgueYC2f47isG00G42/0W+meCdqGkq1+UTjwPu6U7Xw8tyTJLnIpVmWcwFX
 VxH6cxMbFPfg93mqYHpmUKMHwNZhr4/4r7blQjsfEGOXLe9Cohh9fdVwk6D+HDGA
 5XI+MPSB5ZhruTsDQpfGykj8wkWxcC1aLdEv5kWdqtToVZni2/or47umdM1jv3a/
 onaSVP3sqwFDHpKmCJbKgCdNOYSWah2sI5JmqXMAPWP+GBmputgyIvtPd75JaEYV
 cNI3lr7mTbeIoFKCmURsWeLqyWrnGrz5KphLA/ryWk93ZqmQzQwdhIPSx38aaI0q
 WM3rPlKs8sfu7iut53UDAIthoNHgy9jkCslLKWL8WF/JjXEI7XTPGrRf0qud8/el
 puZ17BKVWCEXrpU=
 =vEv8
 -----END PGP SIGNATURE-----

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

Pull more Renesas clk driver updates from Geert Uytterhoeven:

 - Add the Display Stream Compression (DSC) clock on Renesas R-Car V4H

* tag 'renesas-clk-for-v7.2-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers:
  clk: renesas: r9a08g045: Drop unused pm_domain header file
  clk: renesas: r8a779g0: Add DSC clock
  clk: renesas: rzg2l: Rename iterator in for_each_mod_clock() to avoid shadowing
  clk: renesas: r9a08g045: Drop unused DEF_G3S_MUX macro
  clk: renesas: rzg2l: Rename RZG3L-prefixed PLL macros to CPG-prefixed ones
  clk: renesas: rzg3s/rzg3l: Simplify PLL configuration macro
  clk: renesas: rzg2l: Simplify SAM PLL configuration macro
2026-06-13 13:55:51 -07:00
Stephen Boyd
392627674a Amlogic clock changes for v7.2
* Minor DT bindings fixes for the T7 clock controllers
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE9OFZrhjz9W1fG7cb5vwPHDfy2oUFAmoZmL8ACgkQ5vwPHDfy
 2oUSlxAAqqKxpK/RY8zyiwGreXz/YLzdBVSYlci/AQqOIYlJKuUKcil5Hxej9on1
 hGS3KocNLqboA+THGadW6xcO2X69bYMJSbEd95DU0loVEYBLE0d5G6Wl4mKWqlmC
 Kf81oNMhcTtlYpTEi6ruCAIXPFYukl8YuV8LrZVwC0x81WySk4VBxheSjiy+rulD
 fWatm0Rb/oKCG27F8i1RwoTpoFC6l2quoVA8fJDHMe0lYoOarlWVrhnGhsfqOqQY
 ovqc3VZ/nTA+Ux7AytrwRLugIL5R+oAKZdDSrJ6Di/P7rQb54OPZuzO3/YhrmCs5
 aYHzaIGNgXraZebWGvQvA4SjQqjV9NJHlRDkdTIHeeupsOESVFXoEjlsEq9gYCks
 mcpV9J815NU2U00LLS277OB2GG8anc0BYJs6aB8KwFLQIJqSzs5qRra5Td3bH7IJ
 W7te3CtoJyLBYlCVPNo510kDPTI088rWF3LrStlZmQugVm5v2Qw3zqmzA4Nk/fQD
 WrvBn1aKepKM985BgdXh0j7Zg2CIyChv2wRdB8OfdVDv9XA/ekPbgPveTw0z7r1I
 Oya7fFNtUDE5mJP9ET7QJPIQrN0pBXxrsRNbqQl8tmGxzBNT13oyx/YsH+4kQ1a5
 lK/8wX3LS7i3DluABrKJIUtELewXTxBFIq0dkb5oYzY/o4cFveA=
 =wWRl
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmotw6QUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSUalQ//V/63q3d2Z7oKn3e09vPTV6/v94u8
 Bf8NOQrPnyPSX7gze26BkkKlxVWYq0aLFuG9E4/jq4eSO8U7kylBYdN08qM2AcnX
 YtoZW7M5iphQfxsO7qg/WnJtpiekvWskTCQy1tHC0684WjOU3VAEyHA/mv6sYiyD
 fUYLAoqT1eauGZ7u8LEXtIgPJyT11f0LAza2QKi/gw/D5TUQuQAOyX6qmWYHvAik
 P6cE6GQo30/apLHeBi3Kn2idKijpB4by6/BGl99VA+Bo2BwlWxvazHNrlp6QyOqm
 YSsoE/YJKgILZxvZ+2UiTGfYTZ3Mjq02jAH2amrNuc/bhMhoUaO/TBDoZyc80mfh
 FCxlvr0SYMpKxkpZEElEbmDsgbOm6zUbeC/fOme12wNNbmGgYz/LnU6gnk8iCaRc
 +DNrMAfQMPNHNSnbWAgFJnr/gX0Hfk4hocFAbbBfoEn5GAMIuYyyrjUFy6mzNXr1
 MAIU8NYCw4xBFW2wt9b2IGAWgQ5AODgo24kF3wz+aSzSPkb70YAtcYtNzyccN58m
 ds6PMlXMWOGAMs9u2mKve00XCvynA1aGdA21J9K0dVwM/aC3/VcvJWAGoF2Ez9Zq
 /U+X+40o5Mjhhaev9fEmn5vY/0vywCpVI1AaofnyZ7e+Z3LjwnhCmU07JlkIVOnM
 6VrgCe9SJjLE8f8=
 =Td7n
 -----END PGP SIGNATURE-----

Merge tag 'clk-meson-v7.2-1' of ssh://github.com/BayLibre/clk-meson into clk-amlogic

Pull Amlogic clk driver updates from Jerome Brunet:

 - Minor DT bindings fixes for the Amlogic T7 clock controllers

* tag 'clk-meson-v7.2-1' of ssh://github.com/BayLibre/clk-meson:
  dt-bindings: clock: amlogic: t7: Add missing mpll3 parent clock
  dt-bindings: clock: amlogic: Fix redundant hyphen in "amlogic,t7-gp1--pll" string.
2026-06-13 13:54:37 -07:00
Stephen Boyd
c0c0752948 SoCFPGA Clock update for v7.2
- implement the l3_main_free_clk
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmoVkDYACgkQGZQEC4Gj
 KPTtbA/9GHPs5mH8cx+qEfhYWOOw5D2AJA7R0iAd8YTbc25AGnIKh/08TYHsVhTB
 fiKnQumJCtMxPkyihG9k0Ta/YJLiAxImIHEQ9tNMTE1SRBztJi/f7/HCQML6e4rG
 5Ecx0Ijupr5ZfTROVLvT06w6hdXEgscj/s4bUzn+T94tHe0U4llUgCoRvNFAiy9A
 4dS95X3ePOMzhxopWHRuDxJBe4f54ZiyUr21XWwbF2+4L3I7VuCMCSn1D0DE0MHh
 pGwO3bbUaSGnLMwgnrmzhd4AcDP6zigveXh66SQ+RafitwyQ/TZvuBX1kPy0B6TE
 44LwvAjkQFKbpvAFtrp77oiYZ8oRUdy+FvrqyxVlHVA1ZG0HoSKS0PqkJYl8QacH
 F27zilExqZUMS7HpMwGFLtwi0V3t2YTFeZsu8uJ9/U1XBvnzb+IAGcqS9P87rPx8
 g5sP0h7kvaH4RVfop1X1OpJfZpcb64+AZ799U92uhsJDsqH2a8HsHAszQRabVuP4
 ZH73BGdL79uBx3GGshcqLi3g3fE6elBOjb5sT3vipwiFj41eL+kF0fgS2akg+WOT
 U66QFzfrl47Us/ZCyvcdehr8e+0J7P7PoJnA3T/E2FXNH6Xt64RiJ0QQcc7ZDFZ1
 LcWVHTLKWo+pKKk19EiSiCeuHP27qaKPsPEfLQYc7BSK2FD+FpI=
 =BFAm
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmotw0sUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSW3ExAA3PBXxo9lZRlGjlYZ59gV4pD098T6
 GLgLIZYwrWtIHAO/93IiAxelKarwRLUPgc1QjTjqi2n0wQoVLGsTUZDmfSy8Rs8n
 MW7Vf5qrxWhAwmK0PSJEb6RhPu5foim+EkNV+uO0htzXRgOz8J0jYI5yLZoufhdK
 cLm96CEGwLU30ZfJt9x0k947yhUe6+hDD++I3SVcwNDbecm7Aeqo+s4M+x3I7JuX
 Zm8JM160Cn410VoVLkCLkAXDb/XnlyyYDPSOOpJDNAxoA0Qr1WGB9gTs7+uND+6F
 OggouQYtFqg8pQ420QN8L6M7DmIkabv8ntfMwzn43BBuSIikATWrxWkTgAYR1i0r
 Im/eh2dvKqFM9iHQnqd1iNOnFw69HoMJvn2hZaXQKEuJoldBKRe18kAz0w4H7rfZ
 1RofJR2mFO8TrMf2Gd0Vi6MeF7ss0DRY2csPyww9QfXbNr34vRvkaZdf9Dw9eN9V
 rwJH1tDOSSCeA5m2p/FUr7yLBmBUg5OKHvPlzX/qSIs2nhyw18T/M+VJv4PY1AWm
 37ijn8IIdS6jtPIklnzjlzTrq7bdQ5nLAGRu0qSE3th5qB1iKgNYhjno4UU+HWVB
 eBBcEVX1xQjJrnt0dS3VefqlL0PT2/n+IHL37CENcKKePCia0L+32wJmA7HA5IHt
 lRDvZPxerN/lD0Y=
 =5dI+
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_clk_update_for_v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into clk-socfpga

Pull SoCFPGA clk driver update from Dinh Nguyen:

 - Implement the l3_main_free_clk on SoCFPGA agilex

* tag 'socfpga_clk_update_for_v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  clk: socfpga: agilex: implement l3_main_free_clk
2026-06-13 13:52:49 -07:00
Jing Yangyang
2b0123e4a9 clk: keystone: sci-clk: fix application of sizeof to pointer
Coccinelle (scripts/coccinelle/misc/noderef.cocci) reports:

  drivers/clk/keystone/sci-clk.c:391:8-14: ERROR: application of
  sizeof to pointer

In sci_clk_get(), 'clk' is declared as 'struct sci_clk **', so
sizeof(clk) is sizeof(struct sci_clk **) which is the size of a
pointer rather than the size of an array element. provider->clocks
is an array of 'struct sci_clk *', so the canonical size argument
to bsearch() is sizeof(*clk) (i.e. sizeof(struct sci_clk *)).

The two values are equal on every supported architecture, so this
is correctness/idiom, not a runtime fix, but the new form matches
the rest of the bsearch() callers in the tree and silences the
Coccinelle warning the script flagged.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Closes: https://lore.kernel.org/all/84a6ba16686347099a3dab2e5161a930e792eb6e.1629198281.git.jing.yangyang@zte.com.cn/
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@inria.fr>
Closes: https://lore.kernel.org/all/202512040525.zrHSDl5h-lkp@intel.com/
Link: https://lore.kernel.org/linux-clk/20211012021931.176727-1-davidcomponentone@gmail.com/
Reviewed-by: Stepan Ionichev <sozdayvek@gmail.com>
Reviewed-by: Andrew Davis <afd@ti.com>
Signed-off-by: Jing Yangyang <jing.yangyang@zte.com.cn>
Signed-off-by: David Yang <davidcomponentone@gmail.com>
[nm@ti.com: Improved commit message]
Reviewed-by: Brian Masney <bmasney@redhat.com>
Link: https://patch.msgid.link/20260512110028.2999471-1-nm@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2026-06-03 21:46:01 -05:00
Michael Walle
a80b32a140 clk: keystone: don't cache clock rate
The TISCI firmware will return 0 if the clock or consumer is not
enabled although there is a stored value in the firmware. IOW a call to
set rate will work but at get rate will always return 0 if the clock is
disabled.
The clk framework will try to cache the clock rate when it's requested
by a consumer. If the clock or consumer is not enabled at that point,
the cached value is 0, which is wrong. Thus, disable the cache
altogether.

Signed-off-by: Michael Walle <mwalle@kernel.org>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Reviewed-by: Randolph Sapp <rs@ti.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Antonios Christidis <a-christidis@ti.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
Link: https://patch.msgid.link/20260507-clk-sci-v2-1-38f59b48777a@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2026-06-03 21:45:49 -05:00
Yixun Lan
a37c75d7b5 clk: spacemit: k3: Add PCIe DBI clock
Add PCIe DBI (Data Bus Interface) clock which was missing, This will
support PCIe driver to explicitly request and enable all clocks that
needed.

Link: https://patch.msgid.link/20260511-06-pci-clk-fix-v2-4-c9a5e563bab3@kernel.org
Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-06-02 07:16:59 +00:00
Yixun Lan
7a2db70a31 dt-bindings: soc: spacemit: k3: Add PCIe DBI clock IDs
Add clock IDs of PCIe DBI (Data Bus Interface) clock.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20260511-06-pci-clk-fix-v2-3-c9a5e563bab3@kernel.org
Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-06-02 07:16:59 +00:00
Yixun Lan
2f20c859a8 clk: spacemit: k3: Fix PCIe clock register offset
The offset of PCIe Clock CTRL register for port B and C controller was
wrongly swapped, correct it here.

Fixes: 091d19cc24 ("clk: spacemit: k3: extract common header")
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20260511-06-pci-clk-fix-v2-2-c9a5e563bab3@kernel.org
Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-06-02 07:16:59 +00:00
Yixun Lan
d8a4cef90b clk: spacemit: k3: Switch to pll2_d6 as parent for PCIe clock
According to SpacemiT updated docs, the PCIe master and slave clock's
parent is the pll2_d6 clock, so fix it.

Fixes: e371a77255 ("clk: spacemit: k3: add the clock tree")
Link: https://patch.msgid.link/20260511-06-pci-clk-fix-v2-1-c9a5e563bab3@kernel.org
Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-06-02 07:16:59 +00:00
Denzeel Oliva
e11560b050 clk: samsung: exynos990: Fix PERIC0/1 USI clock types
Use nMUX() for USI and UART user muxes to allow reparenting between
OSC and CMU IP output when changing rates, and use DIV_F() with
CLK_SET_RATE_PARENT on their dividers and gates so rate requests
propagate upward.

Consolidate identical USI parent arrays into shared
mout_peric0_nonbususer_p and mout_peric1_nonbususer_p.

Signed-off-by: Denzeel Oliva <wachiturroxd150@gmail.com>
Link: https://patch.msgid.link/20260528-perics-usi-v1-1-13a6ee4d1a6f@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-05-30 18:50:36 +02:00
Stephen Boyd
c0fb3bd3e4 clk: renesas: Updates for v7.2
- Add Ethernet, GPIO, CPU core, watchdog, serial, I2C, sound, and SPI
     clocks and resets on RZ/G3L,
   - Add the timer (MTU3) clock on RZ/T2H and RZ/N2H,
   - Add Coresight trace clocks on R-Mobile A1 and APE6,
   - Add display clocks and resets on RZ/G3E,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCagwyOAAKCRCKwlD9ZEnx
 cPfmAQCnjC9Nz3DAqJG7NknT9kv6iMyLk2dfIswuRcl1ZZafawEAqkAyjPlNvYzM
 rzIPJEIdvlNswswrMisAIyVwno39Lgk=
 =Jp12
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmoY758UHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSUDLA/+I9HW2s2zmOZhmwD/3j56JH3ZTXJu
 Xx8Gog/+RRW3Y6+Dm3MPxcvDG6tnNfkn9oflfv/Mh/XvSvAb1+gLLrtGs8YT7iOj
 gKObqUT3zT/+cnmufEci6vamqaNKkyPVHIeVrWwr8iD571X8IWTvxyfQfhrdM+Ze
 Zq1N++11TF1Sj5l2hayo2O5f/JHYrjX4Vh+6C2qzCjapOaOCRqudESo3PKZ8FJ3v
 5F4UyUWUH66KzKzDfw0FL4J1Fa7nHiZ9Kg5MLoXVmCu8dNuahHk91hK5DxiHWJcr
 e5auiNMy1J8xSGKjOSCT4tJ/PFQIXI0cESp5rmA6yiMqbQtTOl3HOF+JTsbP+BQ1
 gajcV/sEKw1gaFLMUpouIo0lsSVMKQihuWjDuqULRTxaKKA/CUicNXzHEyPyWsSU
 0hcl6weo7wqvkDzyosws9O+Uf9FzhYzY/2I3B/3GnOWnbkDuS6sbh6iJfelBJtqU
 5Hy9PIv6EKyy+DseH2pHLU6QIShnDplfw8P+9HmY8xcx0KncWJgDXl+WUvTT8Ei3
 Xg2mtnJR7aiwC/weenV2x2XDvdCJA4DtDF8R9Mw/QQbuLRuemYROvj4h9OsBBeOd
 2VyfC+O7Z2UjqthxPkl5GbRBB4mrWE2/uB3IjR/tkxbe7uWJR4StXp77p6u3v339
 8vMUYQ8PjgoddyM=
 =ki8u
 -----END PGP SIGNATURE-----

Merge tag 'renesas-clk-for-v7.2-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 Ethernet, GPIO, CPU core, watchdog, serial, I2C, sound, and SPI
   clocks and resets on Renesas RZ/G3L
 - Add the timer (MTU3) clock on Renesas RZ/T2H and RZ/N2H
 - Add Coresight trace clocks on Renesas R-Mobile A1 and APE6
 - Add display clocks and resets on Renesas RZ/G3E

* tag 'renesas-clk-for-v7.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers: (29 commits)
  clk: renesas: r8a73a4: Add ZT/ZTR trace clocks
  dt-bindings: clock: renesas,cpg-clocks: Document ZT/ZTR trace clock on R-Mobile APE6
  clk: renesas: r9a08g046: Add RSPI clocks and resets
  clk: renesas: r9a08g046: Add SSIF-2 clocks and resets
  clk: renesas: r9a08g046: Add RSCI clocks and resets
  clk: renesas: cpg-mssr: Add number of clock cells check
  clk: renesas: rzg2l: Refactor rzg3l_cpg_pll_clk_endisable()
  clk: renesas: rzg2l: Consolidate DEF_MUX() and DEF_MUX_FLAGS()
  clk: renesas: r9a08g046: Add IA55_PCLK to critical module clocks
  clk: renesas: r9a09g047: Add support for LCDC{0,1} clocks and resets
  clk: renesas: r9a09g047: Add support for DSI clocks and resets
  clk: renesas: r9a09g047: Add support for SMUX2_DSI{0,1}_CLK
  clk: renesas: r9a09g047: Add CLK_PLLDSI{0,1}_CSDIV clocks
  clk: renesas: r9a09g047: Add CLK_PLLDSI{0,1}_DIV7 clocks
  clk: renesas: r9a09g047: Add CLK_PLLDSI{0,1} clocks
  clk: renesas: r9a09g047: Add CLK_PLLETH_LPCLK support
  clk: renesas: rzv2h: Add PLLDSI clk mux support
  clk: renesas: r8a7740: Add ZT/ZTR trace clocks
  dt-bindings: clock: renesas,cpg-clocks: Document ZT/ZTR trace clock on R-Mobile A1
  clk: renesas: r9a09g077: Add MTU3 module clock
  ...
2026-05-28 18:44:37 -07:00
Biju Das
f5e4519602 clk: renesas: r9a08g045: Drop unused pm_domain header file
The linux/pm_domain.h header is not used in this file.  Remove it to
keep the includes clean.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260524082657.19335-1-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-28 15:09:54 +02:00
Marek Vasut
f59e975f2f clk: renesas: r8a779g0: Add DSC clock
Add the DSC module clock for Renesas R-Car V4H (R8A779G0) SoC.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260515-rcar-du-dsc-v3-1-164157820498@ideasonboard.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-28 15:09:54 +02:00
Adrian Ng Ho Yin
1e7f562058 clk: socfpga: agilex: implement l3_main_free_clk
The AGILEX_L3_MAIN_FREE_CLK is defined in the dt-bindings header but
was never implemented in the clock driver. Per the Agilex TRM,
l3_main_free_clk has no divider or mux and is a fixed 1:1 derivative
of noc_free_clk that clocks most of the interconnect datapath.

Signed-off-by: Adrian Ng Ho Yin <adrian.ho.yin.ng@altera.com>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2026-05-25 21:46:56 -05:00
Lad Prabhakar
1f10c45096 clk: renesas: rzg2l: Rename iterator in for_each_mod_clock() to avoid shadowing
Rename the internal loop iterator variable in the for_each_mod_clock()
macro from 'i' to '__i'.

The current naming conflicts with local loop variables named 'i' inside
code blocks that utilize the macro, triggering compiler warnings due to
variable shadowing:

  drivers/clk/renesas/rzg2l-cpg.c:1494:36: warning: declaration of `i` shadows a previous local [-Wshadow]
   1494 |                  for (unsigned int i = 0; i < clk->num_shared_mstop_clks; i++)

Using a unique identifier for the macro-internal iterator resolves the
shadowing warnings globally across all macro expansions.

Fixes: 3fd4a8bb4b ("clk: renesas: rzg2l: Add macro to loop through module clocks")
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260520092947.70596-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-25 11:52:48 +02:00
Lad Prabhakar
8bcf12d53b clk: renesas: r9a08g045: Drop unused DEF_G3S_MUX macro
Drop the unused DEF_G3S_MUX helper macro from the r9a08g045 CPG
driver.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260520092516.69819-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-25 11:51:38 +02:00
Xukai Wang
a7b7c7c6c0 clk: canaan: Add clock driver for Canaan K230
This patch provides basic support for the K230 clock, which covers
all clocks in K230 SoC.

The clock tree of the K230 SoC consists of a 24MHZ external crystal
oscillator, PLLs and an external pulse input for timerX, and their
derived clocks.

Co-developed-by: Troy Mitchell <TroyMitchell988@gmail.com>
Signed-off-by: Troy Mitchell <TroyMitchell988@gmail.com>
Signed-off-by: Xukai Wang <kingxukai@zohomail.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2026-05-22 17:13:10 +01:00
Biju Das
c94433be05 clk: renesas: rzg2l: Rename RZG3L-prefixed PLL macros to CPG-prefixed ones
Rename RZG3L_PLL_STBY_OFFSET(), RZG3L_PLL_STBY_RESETB,
RZG3L_PLL_STBY_RESETB_WEN, RZG3L_PLL_MON_OFFSET(), RZG3L_PLL_MON_RESETB,
and RZG3L_PLL_MON_LOCK to their CPG_PLL_* equivalents to reflect that
these macros are not RZG3L-specific and are shared across SoCs.

Also fold CPG_PLL_MON_OFFSET() into rzg2l-cpg.c alongside the other
CPG_PLL_*_OFFSET() helpers introduced in previous patches.

No functional changes.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://patch.msgid.link/20260519141518.389670-4-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-22 10:24:32 +02:00
Biju Das
2e3974747e clk: renesas: rzg3s/rzg3l: Simplify PLL configuration macro
Replace the per-SoC G3S_PLL146_CONF() and G3L_PLL1467_CONF() macros with
a unified CPG_PLL_CONF(stby, setting) macro defined in rzg2l-cpg.h.

Drop the now-redundant GET_REG_SAMPLL_{CLK1, SETTING}() macros, replacing
the latter with CPG_PLL1_SETTING_OFFSET() using FIELD_GET() to extract the
offset value. Update RZG3L_PLL_{STBY,MON}_OFFSET() macros to derive
offsets directly from CPG_PLL_STBY_OFFSET().

No functional changes.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260519141518.389670-3-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-22 10:24:32 +02:00
Biju Das
6549ef9cc2 clk: renesas: rzg2l: Simplify SAM PLL configuration macro
Replace the PLL146_CONF() macro and its associated CPG_SAMPLL_CLK{1,2}(n)
helpers with a single CPG_SAM_PLL_CONF(stby) macro that takes the PLL
standby register offset directly.

This removes the implicit coupling between PLL index n and register layout
and eliminates the now-redundant GET_REG_SAMPLL_CLK2() macro. The RZ/V2M
PLL4 definition is also updated to use the new macro with its explicit
standby offset (0x100), removing the local PLL4_CONF define.

No functional changes.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://patch.msgid.link/20260519141518.389670-2-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-22 10:24:32 +02:00
Xukai Wang
44730eac17 dt-bindings: clock: Add Canaan K230 clock controller
This patch adds the Device Tree binding for the clock controller
on Canaan k230. The binding defines the clocks and the required
properties to configure them correctly.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Xukai Wang <kingxukai@zohomail.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2026-05-21 10:55:12 +01:00
Marek Vasut
4f42053949 clk: renesas: r8a73a4: Add ZT/ZTR trace clocks
Implement support for the ZT trace bus and ZTR trace clocks on R-Mobile
APE6.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260502185557.93061-3-marek.vasut+renesas@mailbox.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-15 11:30:51 +02:00
Geert Uytterhoeven
fbe9822423 Renesas R-Mobile APE6 Coresight Clock DT Binding Definitions
ZT trace bus and ZTR trace clock DT binding definitions for the Renesas
 R-Mobile APE6 (R8A73A4) SoC, shared by driver and DT source files.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCagbnIwAKCRCKwlD9ZEnx
 cGvdAQD/8tsnjjliydMS0pZgkTKr4ScdoLoFTmWg9HI/Txm9MgEAy8bxK5aPDS2u
 vkPu8MO7LeFmCNAEh7xS91mvIk/9vgU=
 =Jreu
 -----END PGP SIGNATURE-----

Merge tag 'renesas-r8a73a4-dt-binding-defs-tag1' into renesas-clk-for-v7.2

Renesas R-Mobile APE6 Coresight Clock DT Binding Definitions

ZT trace bus and ZTR trace clock DT binding definitions for the Renesas
R-Mobile APE6 (R8A73A4) SoC, shared by driver and DT source files.
2026-05-15 11:29:41 +02:00
Marek Vasut
2abdc3dcf9 dt-bindings: clock: renesas,cpg-clocks: Document ZT/ZTR trace clock on R-Mobile APE6
Document the ZT trace bus and ZTR trace clocks on R-Mobile APE6.  These
clocks supply the coresight tracing modules, PTM, TPIU, ETB and
replicator.  Without these clocks, coresight tracing can not be
operated.  While this does change the ABI, it does so by extending the
existing clock-output-names, therefore if old software is used with new
DT, the coresight tracing parts will likely fail to probe, otherwise if
new software is used with an old DT, there is no impact.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260502185557.93061-2-marek.vasut+renesas@mailbox.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-15 11:26:26 +02:00
Alexey Klimov
44984aaf1a clk: samsung: exynos850: mark APM I3C clocks as critical
The Exynos850 APM co-processor relies on the I3C bus to communicate with
the PMIC. Currently, there is no dedicated PMIC consumer driver managing
these clocks, so the clock subsystem automatically gates them during the
initialisation. Once gated, any subsequent ACPM communication with APM
results in timeouts.

As a temporary workaround (and let's hope it doesn't become permanent),
mark both `gout_i3c_pclk` and `gout_i3c_sclk` as CLK_IS_CRITICAL ones to
prevent the clock subsystem from disabling them. This makes the ACPM
communication functional. This workaround should be reverted once a
proper ACPM PMIC driver is implemented to manage these clocks.

Cc: Sam Protsenko <semen.protsenko@linaro.org>
Cc: Tudor Ambarus <tudor.ambarus@linaro.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Link: https://patch.msgid.link/20260430-exynos850-i3c-criticalclocks-v1-1-6e1fd8dfa21b@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-05-14 18:35:01 +02:00
Rosen Penev
7edfb7fb58 clk: rockchip: allow COMPILE_TEST builds
COMMON_CLK_ROCKCHIP already gates the Rockchip clock objects inside the
Rockchip clock Makefile.  Allow selecting it for COMPILE_TEST and use it
for the parent Makefile descent instead of ARCH_ROCKCHIP.

The per-SoC Rockchip clock symbols already have COMPILE_TEST dependencies,
so this exposes the existing build coverage to other architectures without
selecting the Rockchip platform.

Tested with:
make LLVM=1 ARCH=loongarch drivers/clk/rockchip/

Assisted-by: Codex:GPT-5.5
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
Link: https://patch.msgid.link/20260509003602.956186-1-rosenp@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-05-13 12:35:57 +02:00
Biju Das
5fcbbc1fcc clk: renesas: r9a08g046: Add RSPI clocks and resets
Add clock and reset definitions for the three RSPI (Serial Peripheral
Interface) channels on the RZ/G3L (R9A08G046) SoC.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260505071544.8965-4-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-11 10:09:27 +02:00
Biju Das
29c46057d5 clk: renesas: r9a08g046: Add SSIF-2 clocks and resets
Add SSIF-2 clock and reset entries on the RZ/G3L SoC.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260505071544.8965-3-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-11 10:09:27 +02:00
Biju Das
9bec6a9dc2 clk: renesas: r9a08g046: Add RSCI clocks and resets
Add clock and reset entries for the Serial Communications Interfaces
(RSCI) found on the RZ/G3L SoC.  This includes various dividers and mux
clocks needed for the four RSCI channels.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260505071544.8965-2-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-11 10:09:24 +02:00
Geert Uytterhoeven
7f0c422c7f clk: renesas: cpg-mssr: Add number of clock cells check
The number of clock cells is not validated in the clock provider's
clk_src_get() callback.  Add the missing check.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://patch.msgid.link/46e010659ffdffd5e3541369f3b65d43ebe236ec.1777562043.git.geert+renesas@glider.be
2026-05-07 10:22:20 +02:00
Geert Uytterhoeven
33cd08ac62 clk: renesas: rzg2l: Refactor rzg3l_cpg_pll_clk_endisable()
Reduce duplication by introducing mon_mask.
Eliminate an else branch by moving common parts into variable
pre-initializations.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://patch.msgid.link/9cda94b9b37c562a305f4dd6091fd71246764fd2.1777562043.git.geert+renesas@glider.be
2026-05-07 10:22:20 +02:00
Geert Uytterhoeven
44c1733331 clk: renesas: rzg2l: Consolidate DEF_MUX() and DEF_MUX_FLAGS()
Define DEF_MUX() using DEF_MUX_FLAGS(), to reduce duplication.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://patch.msgid.link/46e2713f39cc5efc4b05a65723e0781a9dd8291c.1777562043.git.geert+renesas@glider.be
2026-05-07 10:22:20 +02:00
Biju Das
01a20f1c46 clk: renesas: r9a08g046: Add IA55_PCLK to critical module clocks
Add R9A08G046_IA55_PCLK to the critical module clocks list to prevent
the clock from being gated during suspend, as it is required for the
interrupt controller (IA55) to function correctly.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260430100838.157306-1-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-07 10:22:20 +02:00
Geert Uytterhoeven
6edb69b808 clk: renesas: rzg3e: Add support for DSI clocks
RZ/G3E Clock Pulse Generator PLLDSI limits, shared by clock and MIPI DSI
 driver source files.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCafiLmgAKCRCKwlD9ZEnx
 cIWWAQD+e57m9HGyHasn9GsoTyTGQqwnnpBJYluzhWbpQAk4XQD9G1EG968r0KoH
 EkmFwA2XmllNYXASJB5HKlRLHh8RAQY=
 =0942
 -----END PGP SIGNATURE-----

Merge tag 'clk-renesas-rzg3e-plldsi-tag' into renesas-clk-for-v7.2

clk: renesas: rzg3e: Add support for DSI clocks

RZ/G3E Clock Pulse Generator PLLDSI limits, shared by clock and MIPI DSI
driver source files.
2026-05-04 14:09:33 +02:00
Tommaso Merciai
272a6e2ad1 clk: renesas: r9a09g047: Add support for LCDC{0,1} clocks and resets
Add LCDC{0,1} clocks and resets entries to the r9a09g047 CPG driver.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Link: https://patch.msgid.link/c1b5afcef8068d4d074aff97e30b4d64b7c38eaf.1775636898.git.tommaso.merciai.xr@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-04 14:03:08 +02:00
Tommaso Merciai
fe9a5541f0 clk: renesas: r9a09g047: Add support for DSI clocks and resets
Add definitions for DSI clocks and resets on the R9A09G047 cpg driver
to enable proper initialization and control of the DSI hardware.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Link: https://patch.msgid.link/21ac6da825e8fad0b0a9d37d6daa955b0d23ce07.1775636898.git.tommaso.merciai.xr@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-04 14:03:08 +02:00
Tommaso Merciai
8a6ccb5228 clk: renesas: r9a09g047: Add support for SMUX2_DSI{0,1}_CLK
Add support for the SMUX2_DSI0_CLK and SMUX2_DSI1_CLK clock muxes
present on the r9a09g047 SoC.

These muxes select between CDIV7_DSI{0,1}_CLK and CSDIV_2to16_PLLDSI{0,1}
using the CPG_SSEL3 register (SELCTL0 and SELCTL1 bits).

According to the hardware manual, when LVDS0 or LVDS1 outputs are used,
SELCTL0 or SELCTL1 must be set accordingly.

Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/9595f56ce8ab120477bfc11eaafb0f2b655d049a.1775636898.git.tommaso.merciai.xr@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-04 14:03:08 +02:00
Tommaso Merciai
7a9e1c485c clk: renesas: r9a09g047: Add CLK_PLLDSI{0,1}_CSDIV clocks
Add the CLK_PLLDSI0_CSDIV and CLK_PLLDSI1_CSDIV fixed-factor clocks to
the r9a09g047 SoC clock driver.

These clocks are required to enable DSI and RGB output support.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Link: https://patch.msgid.link/4d5b4ddad89770447b3818381d5353f5065b72b5.1775636898.git.tommaso.merciai.xr@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-04 14:03:08 +02:00
Tommaso Merciai
0e1597c688 clk: renesas: r9a09g047: Add CLK_PLLDSI{0,1}_DIV7 clocks
Add the CLK_PLLDSI0_DIV7 and CLK_PLLDSI1_DIV7 fixed-factor clocks to
the r9a09g047 SoC clock driver.

These clocks are required to enable LVDS0 and LVDS1 output support.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Link: https://patch.msgid.link/e50c1721e1dc160e8b4518e8c5172f10cba4b58b.1775636898.git.tommaso.merciai.xr@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-04 14:03:08 +02:00
Tommaso Merciai
6913a61596 clk: renesas: r9a09g047: Add CLK_PLLDSI{0,1} clocks
Add support for the PLLDSI{0,1} clocks in the r9a09g047 CPG driver.

Introduce CLK_PLLDSI{0,1} also, introduce the
rzg3e_cpg_pll_dsi{0,1}_limits structures to describe the frequency
constraints specific to the RZ/G3E SoC.

On Renesas RZ/G3E:

 - PLLDSI0 maximum output frequency: 1218 MHz
 - PLLDSI1 maximum output frequency: 609 MHz

These limits are enforced through the newly added
RZG3E_CPG_PLL_DSI{0,1}_LIMITS().

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Link: https://patch.msgid.link/d26ec5349b0eb7ddb7d244fc53d1111a8530328f.1775636898.git.tommaso.merciai.xr@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-04 14:03:08 +02:00
Tommaso Merciai
d394d8342d clk: renesas: r9a09g047: Add CLK_PLLETH_LPCLK support
Add CLK_PLLETH_LPCLK clock support.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Link: https://patch.msgid.link/dcb0cab96e2ff3e23eafac061b2952c74622d1f8.1775636898.git.tommaso.merciai.xr@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-04 14:03:08 +02:00
Tommaso Merciai
3afccee4a3 clk: renesas: rzv2h: Add PLLDSI clk mux support
Add PLLDSI clk mux support to select PLLDSI clock from different clock
sources.

Introduce the DEF_PLLDSI_SMUX() macro to define these muxes and register
them in the clock driver.

Extend the determine_rate callback to calculate and propagate PLL
parameters via rzv2h_get_pll_dtable_pars() when LVDS output is selected,
using a new helper function rzv2h_cpg_plldsi_smux_lvds_determine_rate().

The CLK_SMUX2_DSI{0,1}_CLK clock multiplexers select between two paths
with different duty cycles:

- CDIV7_DSIx_CLK (LVDS path, parent index 0): asymmetric H/L=4/3 duty (4/7)
- CSDIV_DSIx (DSI/RGB path, parent index 1): symmetric 50% duty (1/2)

Implement rzv2h_cpg_plldsi_smux_{get,set}_duty_cycle clock operations to
allow the DRM driver to query and configure the appropriate clock path
based on the required output duty cycle.

Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/24d3853ca2522df21e6a071a23e23ba4ca4b7276.1775636898.git.tommaso.merciai.xr@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-05-04 14:03:08 +02:00