Commit Graph

12064 Commits

Author SHA1 Message Date
Johan Hovold
de019f203b
clk: rk808: fix OF node reference imbalance
The driver reuses the OF node of the parent multi-function device but
fails to take another reference to balance the one dropped by the
platform bus code when unbinding the MFD and deregistering the child
devices.

Fix this by using the intended helper for reusing OF nodes.

Fixes: 2dc51ca822 ("clk: RK808: Reduce 'struct rk808' usage")
Cc: stable@vger.kernel.org	# 6.5
Cc: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2026-04-28 20:55:53 -07:00
Théo Lebrun
a25ab518f3
clk: eyeq: add EyeQ5 children auxiliary device for generic PHYs
Grow our clk-eyeq family; it knows how to spawn reset provider and pin
controller children. Expand with a generic PHY driver on EyeQ5.

Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2026-04-28 19:03:48 -07:00
Jerome Brunet
79a1886be1
clk: eyeq: use the auxiliary device creation helper
The auxiliary device creation of this driver is simple enough to
use the available auxiliary device creation helper.

Use it and remove some boilerplate code.

Tested-by: Théo Lebrun <theo.lebrun@bootlin.com>  # On Mobileye EyeQ5
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2026-04-28 19:03:47 -07:00
Troy Mitchell
3e75021f61
clk: spacemit: k3: mark top_dclk as CLK_IS_CRITICAL
top_dclk is the DDR bus clock. If it is gated by clk_disable_unused,
all memory-mapped bus transactions cease to function, causing DMA
engines to hang and general system instability.

Mark it CLK_IS_CRITICAL so the CCF never gates it during the
unused clock sweep.

Fixes: e371a77255 ("clk: spacemit: k3: add the clock tree")
Reviewed-by: Brian Masney <bmasney@redhat.com>
Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2026-04-28 19:03:08 -07:00
Linus Torvalds
14479877c1 One more fix for the merge window to avoid a boot hang on
Raspberry Pi 3B by marking the VEC clk critical so it doesn't get
 turned off and hang the bus.
 -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmnuTSsUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSUtpw//UbUCefvtSuj7UJLqgZXZgZvos9hU
 kQO0kt+wsZCx0w3vKjJojW7E8IiITJDWzVDq6Ib6dVvpoLy0sOvSCbmKrcYLOjaf
 kBXAvPHrpBNDDgRD+z3Ci9Sz8Dk9N+x7vQYvXGpUDbGY+dYAx8NGjdbSMqmQofC1
 CWYgneh16hUYN8dgZOXC3fZmj4wHt4DGAS3f+uVWML1cLIDv5JR31SAu5i3htgxr
 8JUDsBiM2quAjgV81Qp9B102hQGdKBW8AquUnknwtegja6+Go59x2/5jlvE0wjQJ
 6Hf7eyUL6PgiAUEGiebLPMKgY6FWT9FtYCuuSqC84EiB5iiLr1MZBX5JsdJ15QRq
 fogaABOJxvzy7XnVk0ELqNzn5/uJ/UDPFJkm2RUOUENswi4QuW3O9vJANKTFdUq4
 CSz4JO5nqAe+gIbrURl+H8G50nWDHdId69uimbrhZst1E3sue9xDI9G7VwBTTf/8
 o+8ylQkfWhGlSMq8yOMTTqUqk5O+uzfEYUYQ7EdzDknuoEsFh1Fy7UpzBLIqVdjd
 WylzH9zOdVEI/OUuGmKOJHXy1amGBEV5EISvMRplLyB3R/mFWvIe5kZ4NhtrL9b0
 zMjVShkrOP4X4ydOkz6l6oNwgBG+pnosewbwsSYKzSiF5czaXfv96UrQ1J/JNj27
 X1Qr/BuY1E2dz0k=
 =JtUn
 -----END PGP SIGNATURE-----

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

Pull clk fix from Stephen Boyd:
 "One more fix for the merge window to avoid a boot hang on
  Raspberry Pi 3B by marking the VEC clk critical so that it
  doesn't get turned off and hang the bus"

* tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
  clk: bcm: rpi: Mark VEC clock as CLK_IGNORE_UNUSED
2026-04-26 14:03:20 -07:00
Maíra Canal
522567362b
clk: bcm: rpi: Mark VEC clock as CLK_IGNORE_UNUSED
On Raspberry Pi 3B, the VEC clock is used by the VideoCore firmware
display driver, which remains active until the vc4 driver loads and
sends NOTIFY_DISPLAY_DONE. If this clock is disabled during boot, a bus
lockup happens and the firmware becomes unresponsive, causing a complete
system lockup.

Mark the VEC clock with CLK_IGNORE_UNUSED so it survives the unused
clock disablement and remains available until the vc4 driver takes over
display management.

Fixes: 672299736a ("clk: bcm: rpi: Manage clock rate in prepare/unprepare callbacks")
Reported-by: Mark Brown <broonie@kernel.org>
Closes: https://lore.kernel.org/r/5f0bec08-f458-4fba-8bf3-06817a100c4c@sirena.org.uk
Signed-off-by: Maíra Canal <mcanal@igalia.com>
Link: https://patch.msgid.link/20260401111416.562279-2-mcanal@igalia.com
Tested-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Acked-by: Brian Masney <bmasney@redhat.com> # Active contributor to clk
Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2026-04-25 10:51:23 -07:00
Linus Torvalds
4ee64205ff We've finally gotten rid of the struct clk_ops::round_rate() code after months
of effort from Brian Masney. Now the only option is to use determine_rate(),
 which is good because that takes a struct argument instead of just a couple
 unsigned longs, allowing us to easily modify the way we determine and set rates
 in the clk tree.
 
 Beyond that core framework change we've got the typical pile of new SoC clk
 driver additions, fixes for clk data and/or adding missing clks because the
 consumer driver using those clks wasn't ready, etc. The usual suspects are all
 here: Qualcomm, Samsung, Mediatek, and Rockchip along with some newcomers
 making RISC-V SoCs like ESWIN's eic700 and Tenstorrent's Atlantis. The clk
 driver side of this looks pretty normal.
 
 Core:
  - Remove the round_rate() clk op (yay!)
 
 New Drivers:
  - ESWIN eic700 SoC clk support
  - Econet EN751221 SoC clock/reset support
  - Global TCSR, RPMh, and display clock controller support for
    the Qualcomm Eliza platform
  - TCSR, the multiple global, and the RPMh clock controller
    support for the Qualcomm Nord platform
  - GPU clock controller support for Qualcomm SM8750
  - Video and GPU clock controller support for Qualcomm Glymur
  - Global clock controller support for Qualcomm IPQ5210
  - Axis ARTPEC-9: Add new PLL clocks and new drivers for eight clock
    controllers on the SoC
  - ExynosAutov920: Add G3D (GPU) clock controller
  - Clock driver for the Rockchip RV1103B SoC
  - Initial support for the Renesas RZ/G3L (R9A08G046) SoC
  - Clock and reset controllers (e.g. PRCM) in the Tenstorrent Atlantis SoC
 -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmnmb1QUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSUcUg/+PCWUrRlcgboA/xCl+qdfa7Pxd3X6
 W6Z0IFwPrF6kZQnhlIIn3JlRcHixWilwNPgd02h5QK/2gA+Fa+T3h2+SE4oNW/qY
 dZm2W8qDxRIB2+/okuUaDOp0crybtRKHkph9jW1YJo+EDLRhwAVE1SKbr/uyZiAk
 1mr0lk8ZXbvhE/VoQysMjoZ8ITBEQiOwJEBNma6Oufl6dPEdSnaTKWkJZsUc3xjM
 kFx666wNDVqwVobX2q3J6mb3/CyPEIpyFeOgAFVkRcVdPf53Xz7BijYkS2wtPclM
 E58PKIjqk1TMt9nIdo5QuHZ5Og7nPFTQ9W1R0Qo/JGfjWnqqWTwCkEOXWWgTVD6x
 F/gctH+X9JkQEsXid6P4HAdFqOm2UhoUJJ+yTcwXphaQXCctG/kYRW0dbxu8N/z6
 hGpOKKeTmkioHIZoUW4Ap4L9futQWVmd45J9w6MGxF4QZL9apL2ILJ7jxhefxFH6
 YDb8srZ50Mqco18TERxvxMhK5kKiyzz7uL927O9pofmRPwzSKlwIKgILhVKNJff2
 TbCvOKi5oFpRizH/HmjVJ4SbKjWXrwbI6vTxy59FgKnAsmcwg1NQVBDu6Wo4ohtL
 HVe94hPE55q8585D5f6xhfM0MTmE73prZxmb57FtXMJbHFDwYt50v4W95ToAOz4O
 wN9cQVEL1vm6hx4=
 =RdCb
 -----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:
 "We've finally gotten rid of the struct clk_ops::round_rate() code
  after months of effort from Brian Masney. Now the only option is to
  use determine_rate(), which is good because that takes a struct
  argument instead of just a couple unsigned longs, allowing us to
  easily modify the way we determine and set rates in the clk tree.

  Beyond that core framework change we've got the typical pile of new
  SoC clk driver additions, fixes for clk data and/or adding missing
  clks because the consumer driver using those clks wasn't ready, etc.
  The usual suspects are all here: Qualcomm, Samsung, Mediatek, and
  Rockchip along with some newcomers making RISC-V SoCs like ESWIN's
  eic700 and Tenstorrent's Atlantis. The clk driver side of this looks
  pretty normal.

  Core:
   - Remove the round_rate() clk op (yay!)

  New Drivers:
   - ESWIN eic700 SoC clk support
   - Econet EN751221 SoC clock/reset support
   - Global TCSR, RPMh, and display clock controller support for the
     Qualcomm Eliza platform
   - TCSR, the multiple global, and the RPMh clock controller support
     for the Qualcomm Nord platform
   - GPU clock controller support for Qualcomm SM8750
   - Video and GPU clock controller support for Qualcomm Glymur
   - Global clock controller support for Qualcomm IPQ5210
   - Axis ARTPEC-9: Add new PLL clocks and new drivers for eight clock
     controllers on the SoC
   - ExynosAutov920: Add G3D (GPU) clock controller
   - Clock driver for the Rockchip RV1103B SoC
   - Initial support for the Renesas RZ/G3L (R9A08G046) SoC
   - Clock and reset controllers (e.g. PRCM) in the Tenstorrent Atlantis SoC"

* tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (132 commits)
  clk: visconti: pll: initialize clk_init_data to zero
  clk: fsl-sai: Add MCLK generation support
  clk: fsl-sai: Extract clock setup into fsl_sai_clk_register()
  dt-bindings: clock: fsl-sai: Document clock-cells = <1> support
  clk: fsl-sai: Add i.MX8M support with 8 byte register offset
  clk: fsl-sai: Sort the headers
  dt-bindings: clock: fsl-sai: Document i.MX8M support
  clk: qcom: gcc: Add multiple global clock controller driver for Nord SoC
  clk: qcom: rpmh: Add support for Nord rpmh clocks
  clk: qcom: Add TCSR clock driver for Nord SoC
  dt-bindings: clock: qcom: Add Nord Global Clock Controller
  dt-bindings: clock: qcom-rpmhcc: Add support for Nord SoCs
  dt-bindings: clock: qcom: Document the Nord SoC TCSR Clock Controller
  clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
  clk: qcom: Constify list of critical CBCR registers
  clk: qcom: Constify qcom_cc_driver_data
  clk: qcom: videocc-glymur: Constify qcom_cc_desc
  clk: qcom: Add a driver for SM8750 GPU clocks
  dt-bindings: clock: qcom: Add SM8750 GPU clocks
  clk: qcom: ipq-cmn-pll: Add IPQ8074 SoC support
  ...
2026-04-21 08:33:26 -07:00
Linus Torvalds
d730905bc3 Support for Mobileye EyeQ6Lplus
Cleanups and fixes
 -----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCAA4FiEEbt46xwy6kEcDOXoUeZbBVTGwZHAFAmniNBwaHHRzYm9nZW5k
 QGFscGhhLmZyYW5rZW4uZGUACgkQeZbBVTGwZHB2QA//U53JZYmmOxKxwbYwLvK9
 Z8MuVgkvA/v7WktwL2PoMO0AlhQsteM5VtupddHhuhUiIr7gPy6Z7pEE9sDqM3gj
 p1d6vrg5XiWlh1fURdSqvzufKsm/etpElbvc2JjkcqD0sMGJUwlkP3ncZk/DCus6
 zhcvya7jVxyvzbCBgJSM8QHvOoj/g3EV4hsx8Ymru8XSdLVEegodZtvUHVx4Q29U
 fmHCf1u/v+rJVbe2T3nuqsqzQhmaWkC+WyeVJIDUNecjclPoGNOeg8duICNfOu9q
 dtkzOua7v6rRsUA9GDbMcR44PWzL4LqGTOffzwF7uvYakOAp6nQWsymAUIfkQbE6
 +I8heGaYPEQLjSHgCPI2WdJ4urbPdgsd5W2pC8s6WaHPdRlSMapH16I0DxmmNZlV
 CzW7o2ore5b8H4Mu5mboMjFzMY+A/0zC5S7twOpX+mvgPz+MTf1g0vD3hCSL+N7c
 LSW7rSZyd2smcgaHJBDpHceRHNZbVqloeO007DiJtrx+IWTBhvhFt2q/aqGG51xM
 2P/lRZrA8vAMaTR1hZKLmxUPZpSekezoWC8GbWNeIg5NUUTOJoTAtQvT5vU40GZA
 22o3s1a6rgz5KngV9rMWYERSV2yflvloYVo0ASVqgy1ijzzlsin/fbO976GdGD2I
 7vrch6tajmTSBYeG0SuKiFY=
 =jKsJ
 -----END PGP SIGNATURE-----

Merge tag 'mips_7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux

Pull MIPS updates from Thomas Bogendoerfer:

 - Support for Mobileye EyeQ6Lplus

 - Cleanups and fixes

* tag 'mips_7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (30 commits)
  MIPS/mtd: Handle READY GPIO in generic NAND platform data
  MIPS/input: Move RB532 button to GPIO descriptors
  MIPS: validate DT bootargs before appending them
  MIPS: Alchemy: Remove unused forward declaration
  MAINTAINERS: Mobileye: Add EyeQ6Lplus files
  MIPS: config: add eyeq6lplus_defconfig
  MIPS: Add Mobileye EyeQ6Lplus evaluation board dts
  MIPS: Add Mobileye EyeQ6Lplus SoC dtsi
  clk: eyeq: Add Mobileye EyeQ6Lplus OLB
  clk: eyeq: Adjust PLL accuracy computation
  clk: eyeq: Skip post-divisor when computing PLL frequency
  pinctrl: eyeq5: Add Mobileye EyeQ6Lplus OLB
  pinctrl: eyeq5: Use match data
  reset: eyeq: Add Mobileye EyeQ6Lplus OLB
  MIPS: Add Mobileye EyeQ6Lplus support
  dt-bindings: soc: mobileye: Add EyeQ6Lplus OLB
  dt-bindings: mips: Add Mobileye EyeQ6Lplus SoC
  MIPS: dts: loongson64g-package: Switch to Loongson UART driver
  mips: pci-mt7620: rework initialization procedure
  mips: pci-mt7620: add more register init values
  ...
2026-04-17 08:53:23 -07:00
Linus Torvalds
31b43c079f soc: drivers for 7.1
The driver updates again are all over the place with many minor fixes
 going into platform specific code. The most notable changes are:
 
  - Support for Microchip pic64gx system controllers
  - Work on cleaning up devicetree bindings for SoC drivers, and
    converting them into the new format
  - Lots of smaller changes for Qualcomm SoC drivers, including support
    for a number of newly supported chips
  - reset controller API cleanups and a new driver for Cix Sky1
  - Reworks of the Tegra PMC and CBB drivers, along with a change
    to how individual Tegra SoCs get selected in Kconfig and
    BPMP firmware driver updates including a refresh of the ABI
    header to match the version used by firmware
  - STM32 updates to the firewall bus driver and support for
    the debug bus through OP-TEE
  - SCMI firmware driver improvements for reliability, in particular
    for dealing with broken firmware interrupts
  - Memory driver updates for Tegra, and a patch to remove the
    unused Baikal T1 driver
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmnhCSYACgkQmmx57+YA
 GNl2ow/+Pti7qbBE34WNyIuWOgZEzjo1OeLe/Y4LqkQmHcM9FJV3/rCadA/FkmD9
 nH85WiRuUjIjzUiAl24SP2nkEcIU/yv8ECvROX46uAjhTByVHkaCedwl3ECW9RPA
 IAYiTJPrQBNCmWZuGO4bZ3go6hHn4q4RSd2V8vrCw/J3b+wBSAPTPzsaWnWg4MiL
 QYz7sBTwcNJaJuwJ7ZnHN/VgEOs9OgY6ejGJImiaVzBbsH7rNp7Cbs6t88X5rCXS
 mbgMvVlYKbsOWj3kNyv98YFAGgzo59uEL+m+846U32w9o0nIgkmIS60RQ5k73JV4
 QlhV1uT7PPtu7y7VbxfJ8KISxaRoex/+AZShmAWCul4YK75hEWT3mWGhM8cqeMUQ
 U0ogpbekRjKdn2Bgfl6kHf38smusjJ1fOBr8QIZcdDJpEtxYtRmNpLUNNSc5vO+T
 HvA79C8I8ydWGyqr1wRP1gDRBNc1BDYKxJO4ohvjnAPIeC01zArXCOyf0F3VtPzH
 XSycnyW7eRUVi+4C3/cF8qzhW2y7Wx03ui5mCDIEcOzyVoGNqTrPNsbCvkNkyrdc
 jqvWagZ4Ci8jaRxLAawnqHI/stvsHx9V+NPp6p07BsOxJMsuOqO4sInRhh5P6YvM
 5wZCFUK37xPEqYvr+BFS9B/4jgw3Mg2Kj+gjxShwsLS5JtVDfZw=
 =UB4F
 -----END PGP SIGNATURE-----

Merge tag 'soc-drivers-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC driver updates from Arnd Bergmann:
 "The driver updates again are all over the place with many minor fixes
  going into platform specific code. The most notable changes are:

   - Support for Microchip pic64gx system controllers
   - Work on cleaning up devicetree bindings for SoC drivers, and
     converting them into the new format
   - Lots of smaller changes for Qualcomm SoC drivers, including support
     for a number of newly supported chips
   - reset controller API cleanups and a new driver for Cix Sky1
   - Reworks of the Tegra PMC and CBB drivers, along with a change to
     how individual Tegra SoCs get selected in Kconfig and BPMP firmware
     driver updates including a refresh of the ABI header to match the
     version used by firmware
   - STM32 updates to the firewall bus driver and support for the debug
     bus through OP-TEE
   - SCMI firmware driver improvements for reliability, in particular
     for dealing with broken firmware interrupts
   - Memory driver updates for Tegra, and a patch to remove the unused
     Baikal T1 driver"

* tag 'soc-drivers-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (193 commits)
  firmware: arm_ffa: Use the correct buffer size during RXTX_MAP
  firmware: qcom: scm: Allow QSEECOM on Lenovo IdeaCentre Mini X
  clk: spear: fix resource leak in clk_register_vco_pll()
  reset: rzv2h-usb2phy: Add support for VBUS mux controller registration
  reset: rzv2h-usb2phy: Convert to regmap API
  dt-bindings: reset: renesas,rzv2h-usb2phy: Document RZ/G3E USB2PHY reset
  dt-bindings: reset: renesas,rzv2h-usb2phy: Add '#mux-state-cells' property
  soc: microchip: add mpfs gpio interrupt mux driver
  dt-bindings: soc: microchip: document PolarFire SoC's gpio interrupt mux
  gpio: mpfs: Add interrupt support
  soc: qcom: ubwc: add helpers to get programmable values
  soc: qcom: ubwc: add helper to get min_acc length
  firmware: qcom: scm: Register gunyah watchdog device
  soc: qcom: socinfo: Add SoC ID for SA8650P
  dt-bindings: arm: qcom,ids: Add SoC ID for SA8650P
  firmware: qcom: scm: Allow QSEECOM on Mahua CRD
  soc: qcom: wcnss: simplify allocation of req
  soc: qcom: pd-mapper: Add support for Eliza
  soc: qcom: aoss: compare against normalized cooling state
  soc: qcom: llcc: fix v1 SB syndrome register offset
  ...
2026-04-16 20:34:34 -07:00
Stephen Boyd
6b701fde9b
Merge branches 'clk-samsung', 'clk-qcom', 'clk-round', 'clk-sai' and 'clk-cleanup' into clk-next
* clk-samsung:
  clk: samsung: exynos850: Add APM-to-AP mailbox clock
  dt-bindings: clock: exynos850: Add APM_AP MAILBOX clock
  clk: samsung: Use %pe format to simplify
  clk: samsung: pll: Fix possible truncation in a9fraco recalc rate
  clk: samsung: exynosautov920: add block G3D clock support
  dt-bindings: clock: exynosautov920: add G3D clock definitions
  clk: samsung: gs101: harmonise symbol names (clock arrays)
  clk: samsung: artpec-9: Add initial clock support for ARTPEC-9 SoC
  clk: samsung: Add clock PLL support for ARTPEC-9 SoC
  dt-bindings: clock: Add ARTPEC-9 clock controller

* clk-qcom: (67 commits)
  clk: qcom: gcc: Add multiple global clock controller driver for Nord SoC
  clk: qcom: rpmh: Add support for Nord rpmh clocks
  clk: qcom: Add TCSR clock driver for Nord SoC
  dt-bindings: clock: qcom: Add Nord Global Clock Controller
  dt-bindings: clock: qcom-rpmhcc: Add support for Nord SoCs
  dt-bindings: clock: qcom: Document the Nord SoC TCSR Clock Controller
  clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
  clk: qcom: Constify list of critical CBCR registers
  clk: qcom: Constify qcom_cc_driver_data
  clk: qcom: videocc-glymur: Constify qcom_cc_desc
  clk: qcom: Add a driver for SM8750 GPU clocks
  dt-bindings: clock: qcom: Add SM8750 GPU clocks
  clk: qcom: ipq-cmn-pll: Add IPQ8074 SoC support
  dt-bindings: clock: qcom: Add CMN PLL support for IPQ8074
  clk: qcom: ipq-cmn-pll: Add IPQ6018 SoC support
  dt-bindings: clock: qcom: Add CMN PLL support for IPQ6018
  clk: qcom: gdsc: Fix error path on registration of multiple pm subdomains
  dt-bindings: clock: qcom: Add missing power-domains property
  clk: qcom: gcc-eliza: Enable FORCE_MEM_CORE_ON for UFS AXI PHY clock
  clk: qcom: dispcc-sc7180: Add missing MDSS resets
  ...

* clk-round:
  clk: divider: remove divider_round_rate() and divider_round_rate_parent()
  clk: divider: remove divider_ro_round_rate_parent()
  clk: remove round_rate() clk ops
  clk: composite: convert from round_rate() to determine_rate()
  clk: test: remove references to clk_ops.round_rate

* clk-sai:
  clk: fsl-sai: Add MCLK generation support
  clk: fsl-sai: Extract clock setup into fsl_sai_clk_register()
  dt-bindings: clock: fsl-sai: Document clock-cells = <1> support
  clk: fsl-sai: Add i.MX8M support with 8 byte register offset
  clk: fsl-sai: Sort the headers
  dt-bindings: clock: fsl-sai: Document i.MX8M support

* clk-cleanup:
  clk: visconti: pll: initialize clk_init_data to zero
  clk: xgene: Fix mapping leak in xgene_pllclk_init()
  clk: Simplify clk_is_match()
  clk: baikal-t1: Remove not-going-to-be-supported code for Baikal SoC
  clk: mvebu: armada-37xx-periph: fix __iomem casts in structure init
  clk: qoriq: avoid format string warning
2026-04-16 10:12:43 -07:00
Stephen Boyd
522a83abc3
Merge branches 'clk-tenstorrent', 'clk-rockchip', 'clk-imx' and 'clk-allwinner' into clk-next
* clk-tenstorrent:
  clk: tenstorrent: Add Atlantis clock controller driver
  reset: tenstorrent: Add reset controller for Atlantis
  dt-bindings: clk: tenstorrent: Add tenstorrent,atlantis-prcm-rcpu

* clk-rockchip:
  clk: rockchip: rk3568: Add PCIe pipe clock gates
  clk: rockchip: Add clock controller for the RV1103B
  dt-bindings: clock: rockchip: Add RV1103B CRU support

* clk-imx:
  clk: imx8mq: Correct the CSI PHY sels
  clk: vf610: Add support for the Ethernet switch clocks
  dt-bindings: clock: vf610: Add definitions for MTIP L2 switch
  dt-bindings: clock: vf610: Drop VF610_CLK_END define
  clk: vf610: Move VF610_CLK_END define to clk-vf610 driver
  clk: imx: imx8-acm: fix flags for acm clocks
  clk: imx: imx6q: Fix device node reference leak in of_assigned_ldb_sels()
  clk: imx: imx6q: Fix device node reference leak in pll6_bypassed()
  clk: imx: fracn-gppll: Add 477.4MHz support
  clk: imx: fracn-gppll: Add 333.333333 MHz support
  clk: imx: pll14xx: Use unsigned format specifier
  dt-bindings: clock: imx6q[ul]-clock: add optional clock enet[1]_ref_pad

* clk-allwinner:
  clk: sunxi-ng: sun55i-a523-r: Add missing r-spi module clock
2026-04-16 10:12:33 -07:00
Stephen Boyd
699646e684
Merge branches 'clk-fixes', 'clk-renesas', 'clk-rpi', 'clk-eswin' and 'clk-mediatek' into clk-next
- ESWIN eic700 SoC clk support
 - Econet EN751221 SoC clock/reset support

* clk-fixes:
  clk: spacemit: ccu_mix: fix inverted condition in ccu_mix_trigger_fc()
  clk: microchip: mpfs-ccc: fix out of bounds access during output registration
  clk: qcom: dispcc-sm8450: use RCG2 ops for DPTX1 AUX clock source

* clk-renesas:
  clk: renesas: Add support for RZ/G3L SoC
  dt-bindings: clock: renesas,rzg2l-cpg: Document RZ/G3L SoC
  clk: renesas: rzg2l: Re-enable critical module clocks during resume
  clk: renesas: rzg2l: Add rzg2l_mod_clock_init_mstop_helper()
  clk: renesas: rzg2l: Add helper for mod clock enable/disable
  clk: renesas: r9a0{7g04[34],8g045}: Add critical reset entries
  clk: renesas: rzg2l: Add support for critical resets
  clk: renesas: r9a09g056: Remove entries for WDT{0,2,3}
  clk: renesas: r9a06g032: Enable watchdog reset sources
  clk: renesas: cpg-mssr: Use struct_size() helper
  clk: renesas: r9a09g047: Add PCIe clocks and reset
  clk: renesas: r9a09g057: Add PCIe clocks and reset
  clk: renesas: r9a09g056: Add PCIe clocks and reset
  clk: renesas: r9a09g047: Add entries for the RSPIs
  clk: renesas: r9a09g056: Add clock and reset entries for RTC
  clk: renesas: r9a09g057: Remove entries for WDT{0,2,3}
  clk: renesas: r9a09g056: Fix ordering of module clocks array
  clk: renesas: r9a09g057: Fix ordering of module clocks array

* clk-rpi:
  clk: bcm: rpi: Manage clock rate in prepare/unprepare callbacks

* clk-eswin:
  MAINTAINERS: Add entry for ESWIN EIC7700 clock driver
  clk: eswin: Add eic7700 clock driver
  clk: divider: Add devm_clk_hw_register_divider_parent_data
  dt-bindings: clock: eswin: Documentation for eic7700 SoC

* clk-mediatek:
  clk: airoha: Add econet EN751221 clock/reset support to en7523-scu
  dt-bindings: clock, reset: Add econet EN751221
2026-04-16 10:07:47 -07:00
Benoît Monin
4eb9ed3933 clk: eyeq: Add Mobileye EyeQ6Lplus OLB
Declare the PLLs and fixed factors found in the EyeQ6Lplus OLB as part
of the match data for the "mobileye,eyeq6lplus-olb" compatible.

The PLL and fixed factor of the CPU are registered in early init as they
are required during the boot by the GIC timer.

Also select clk-eyeq for all EYEQ SoCs instead of listing each one
individually, as it is needed by all Mobileye EyeQ SoC.

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2026-04-13 15:31:41 +02:00
Benoît Monin
fe9545bbc3 clk: eyeq: Adjust PLL accuracy computation
The spread spectrum of the PLL found in eyeQ OLB is in 1/1024 parts of the
frequency, not in 1/1000, so adjust the computation of the accuracy. Also
correct the downspreading to match.

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2026-04-13 15:31:41 +02:00
Benoît Monin
8ab1e58ca9 clk: eyeq: Skip post-divisor when computing PLL frequency
The output of the PLL is routed before the post-divisor so it should be
ignored when computing the frequency of the PLL, functional change is
implemented to reflect how the clock signal is wired internally.

For the PLL of the EyeQ5, EyeQ6L, and EyeQ6H, this change has no impact
as the post-divisor is either reported as disabled or set to 1. The PLL
frequency is the same before and after the post-divisor.

For the PLL in EyeQ6Lplus, however, the post-divisor is not 1, so it must
be ignored to compute the correct frequency.

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2026-04-13 15:31:41 +02:00
Brian Masney
1603cbb641
clk: visconti: pll: initialize clk_init_data to zero
Sashiko reported the following:

> The struct clk_init_data init is declared on the stack without being
> fully zero-initialized. While fields like name, flags, parent_names,
> num_parents, and ops are explicitly assigned, the parent_data and
> parent_hws fields are left containing stack garbage.

clk_core_populate_parent_map() currently prefers the parent names over
the parent data and hws, so this isn't a problem at the moment. If that
ordering ever changed in the future, then this could lead to some
unexpected crashes. Let's just go ahead and make sure that the struct
clk_init_data is initialized to zero as a good practice.

Fixes: b4cbe606dc ("clk: visconti: Add support common clock driver and reset driver")
Link: https://sashiko.dev/#/patchset/20260326042317.122536-1-rosenp%40gmail.com
Signed-off-by: Brian Masney <bmasney@redhat.com>
Reviewed-by: Benoît Monin <benoit.monin@bootlin.com>
Reviewed-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.x90@mail.toshiba>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2026-04-11 17:55:27 -07:00
Marek Vasut
6358c88317
clk: fsl-sai: Add MCLK generation support
The driver currently supports generating BCLK. There are systems which
require generation of MCLK instead. Register new MCLK clock and handle
clock-cells = <1> to differentiate between BCLK and MCLK. In case of a
legacy system with clock-cells = <0>, the driver behaves as before, i.e.
always returns BCLK.

Note that it is not possible re-use the current SAI audio driver to
generate MCLK and correctly enable and disable the MCLK.

If SAI (audio driver) is used to control the MCLK enablement, then MCLK
clock is not always enabled, and it is not necessarily enabled when the
codec may need the clock to be enabled. There is also no way for the
codec node to specify phandle to clock provider in DT, because the SAI
(audio driver) is not clock provider.

If SAI (clock driver) is used to control the MCLK enablement, then MCLK
clock is enabled when the codec needs the clock enabled, because the
codec is the clock consumer and the SAI (clock driver) is the clock
provider, and the codec driver can request the clock to be enabled when
needed. There is also the usual phandle to clock provider in DT, because
the SAI (clock driver) is clock provider.

Acked-by: Michael Walle <mwalle@kernel.org>
Signed-off-by: Marek Vasut <marex@nabladev.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2026-04-11 17:32:40 -07:00
Marek Vasut
32b0c7aac1
clk: fsl-sai: Extract clock setup into fsl_sai_clk_register()
Create helper function fsl_sai_clk_register() to set up and register
SAI clock. Rename BCLK specific struct fsl_sai_clk members with bclk_
prefix. Use of_node_full_name(dev->of_node) and clock name to register
uniquely named clock. This is done in preparation for the follow up
patch, which adds MCLK support.

Signed-off-by: Marek Vasut <marex@nabladev.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2026-04-11 17:32:39 -07:00
Marek Vasut
c206085b26
clk: fsl-sai: Add i.MX8M support with 8 byte register offset
The i.MX8M/Mini/Nano/Plus variant of the SAI IP has control registers
shifted by +8 bytes and requires additional bus clock. Add support for
the i.MX8M variant of the IP with this register shift and additional
clock.

Reviewed-by: Brian Masney <bmasney@redhat.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Marek Vasut <marex@nabladev.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2026-04-11 17:32:36 -07:00
Marek Vasut
d0a4d58214
clk: fsl-sai: Sort the headers
Sort the headers. No functional change.

Reviewed-by: Brian Masney <bmasney@redhat.com>
Signed-off-by: Marek Vasut <marex@nabladev.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2026-04-11 17:32:35 -07:00
Stephen Boyd
7b6894e99f clk: remove deprecated round_rate functions from the clk core
Now that all of the dependencies across the tree have been merged into
 Linus's tree, here's a small series with the following changes:
 
 - Converts clk-composite from round_rate() to determine_rate().
 - Removes the round_rate() clk op.
 - Removes the deprecated functions divider_round_rate(),
   divider_round_rate_parent(), and divider_ro_round_rate_parent() since
   these are just wrappers for the corresponding determine_rate variant.
 
 Signed-off-by: Brian Masney <bmasney@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iIwEABYKADQWIQSkbTJwWGWqPd7cKQS30t0nXX7AhwUCaZuF2RYcbWFzbmV5YkBv
 bnN0YXRpb24ub3JnAAoJELfS3SddfsCHB80A/0zWU0Sn8uQ8Wx3PDdXp1OsMoHeX
 T+A5SEbvOUkmhNEJAP9FN94mKKzRt8pZnF5bOyqEUXVpVXLd3iXw75IRbRuZCw==
 =0e61
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmna21wUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSXAeBAAnp25miWz8/wyLe3vRdXerKrbP6/S
 2hMuADaJmZ9RM/eFcLMShuHtPXdGJQ3ny0NNf5caK2R48ACEOepMEGI0H90ayL0X
 dkn2pHzjmmPfkQrAMCl0Ul9miqZlYOuFU6Wa2JyNSjnNeHASaLA7be7uEV9HuuXc
 1pQKx0ZUfny90rxTRbJbIV0nS+xrvvY+PRNavDTYREejMDbTk7fdWCBpuVIffjs+
 5FPuwcTQ2X4l5DBWBBTkAXTyRFl7+QbIIYWCsDqCFyqw4DxMo6JmnvmmQcpgaaIt
 wzNdETQpvYt2n7msAXo/Gg9bcd2o4AiK4XB+1/q/Iv+A+GKpeD8raHoN19TOEztf
 aVcavTUliH+ro0RByRCs+9jAbEMwz2rzrk1VV7PQUZjFgJxp2EWNf2vxovbUEjup
 bgUE5KHKVSCu6awjVTqBJMFL4hmC26m3zqq6oOwCr3//YzIiO0qKahRHNj4dfrGl
 I3AG7f6PdtezlPkyfqawA6KQWyaUZdEDIpod3osPOKehnEmNiaDvNtXCc1z0y8ec
 5uuMJ8cKprsz2Qc4t9kyCIi7wbPAXfUFiz5BogwTPWx8zLtSlvur7G7YaftrhnIy
 JGuKEDrDxEzVbkTxnDOAHFc9zATZ14bw3ZBOW60iHh6U1bSDGWzY451gCP9qTRY0
 SgAgKnAZ1Rc/tkE=
 =6csm
 -----END PGP SIGNATURE-----

Merge tag 'clk-remove-deprecated-apis-v7.1' of ssh://github.com/masneyb/linux into clk-round

Pull round_rate refactoring from Brian Masney:

Now that all of the dependencies across the tree have been merged into
Linus's tree, here's a small series with the following changes:

 - Converts clk-composite from round_rate() to determine_rate()
 - Removes the round_rate() clk op
 - Removes the deprecated functions divider_round_rate(),
   divider_round_rate_parent(), and divider_ro_round_rate_parent() since
   these are just wrappers for the corresponding determine_rate variant

* tag 'clk-remove-deprecated-apis-v7.1' of ssh://github.com/masneyb/linux:
  clk: divider: remove divider_round_rate() and divider_round_rate_parent()
  clk: divider: remove divider_ro_round_rate_parent()
  clk: remove round_rate() clk ops
  clk: composite: convert from round_rate() to determine_rate()
  clk: test: remove references to clk_ops.round_rate
2026-04-11 16:36:44 -07:00
Stephen Boyd
1db4d0edc9 Qualcomm clock updates for v7.1
Add global TCSR, RPMh, and display clock controller support for the
 Eliza platform.
 
 Add TCSR, the multiple global, and the RPMh clock controller support
 for the Nord platform.
 
 Add GPU clock controller support for SM8750.
 
 Introduce video and GPU clock controller support for Glymur.
 
 Add global clock controller for IPQ5210.
 
 Introduce various smaller display-related fixes across Kaanapali, Milos,
 SC8280XP, SM4450, SM8250, and SA8775P.
 
 Add missing GDSCs and fix retention flags for PCIe and USB power domains
 on SC8180X. Also enable runtime PM support to ensure performance votes
 are propagated to CX.
 
 Mark the USB QTB clock as always-on on Hamoa, in order to ensure the
 SMMU can work even when USB controller device is sleeping.
 
 Add IPQ6018 and IPQ8074 support to the IPQ CMN PLL driver.
 
 Add MDSS resets for SC7180, SM6115, and SM6125, to allow display
 subsystem driver to reset the hardware from the state left by the
 bootloader.
 
 Introduce various cleanups across drivers.
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCgAsFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmnZe9YOHGJqb3JuQGty
 eW8uc2UACgkQCx85Pw2ZrcUjWw/+MmT8kXJIpJXyqEdmfzotpK1sS/6iMKUbx9K+
 ZBqpYkdxzIVx5jyLsdEKk5VJEE4vFa6UqMM0z1l9Yi8/N1LH1DZPm62YGi+VUa0p
 sPPMnVATF/MEz/Srb99I9CHxH/4ZT0D4HrDlq7RVb9TzcNNFro2RJ7O/g8dO9Oso
 hO7GAXDeHzTFHD+jf1QpqzQkh2QI9T4we610FIe8wI5G8oIrkOMJrPL7Gq5h4afJ
 dphY8dznOP0GTBTlWd+EkNxdyhpBj/gTz9S1ACVkWS8XUJZ/tb+SJFN8SVWkYZ6h
 nL3ba3NSX874YfVbuPTCbJO2Zkf+Yh5KrnvOXtTobnrq1TsKrX1mRu1Z6V2Hqswd
 eAItZVimUSzpQ9rc/L2YraIlKdvY6FjCWaxij0oWcWNNee7oU0zhiBShejsE5D+0
 86XYNz6GL8p2SsS1Ac18BOe6tgTt9lVkP8K9lY070Y/AUE4KTHSZbIFwMitqtjsY
 K+50R5F6BJr/pCGvb5e/mLXyyKfkCviAjCDoR/Ewwiy4yIjJbHusXpyhw4wDULRx
 VKdZVW3qtBKT6UtpraVyWv9kh8yNJXxWz92ZmD6Gdr90gg68I/ebc1IUHzg50WDR
 pxfZiIsZxzsUdCuN3RhU4nLCl4ALCE/tqtlFhlxXvDrzKmxzhdUWvBy1KFuDdQ1T
 tNFq1eU=
 =iZQx
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmna2c8UHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSV3FxAAu55HnavxZJ9qAhGxWrCLzUsx6Z1p
 XVA12ju9qqUf4ZSU30J4h/IhcAcdQ6NZPBzjFHcPdP8xddZKPaN0SBlD1HQ0pqHE
 vrLPsDATfLdgEar0KLPzHoieOCQ0WnEGZrCW3DpmGQWqBPZp8eAFmfvDDRZnl1Tq
 O+exafMskxxo1EGI9ae4jmQ5a0/F+2Pje6xbDof/MOAFSuIJIHYgoTGxMwx7Chvd
 GuqiEGVyXujesJ6oaR/GKC+bEJfiRZ/xJoVFQHfWYNcvkwchKGuMLVSPXcBdDFcU
 gw0EhNSeOkXMlqywP+nzj4ARa+9XC5/nHap0LqKNQb3EjQKlbTYcEl3Vd5Sdrukj
 t0iiaAqNAvODbXbswYgpr3HwLrDAzDBBgQfStFvXIQY5iOJbJ7URCm6jUyLP77zO
 JzQDZz5piCA8dHqtLkKvKjs4+S86u9jtOEIwbjaxZTGHQIIE/RXmq/JmpIHiCX6m
 D5zwXs/wRIEdfVknj/Yvmx2Cq5E3rYlEwcqetNEdgiYZLsh/F8gQ9bWj/N0M3VHW
 T9S1k3/cF7Qm3ioIODzSNcVgbyNcFOahy6KctyOTsp6ZzLalsrTqTF3J7wZNati6
 muwVsKi20EHnweQxzAFvXSFcNgH9OXqNXa9eESZjGu4LvCNj0Ieo4sd7EdX3VdKW
 ym7e2vM2R8pRhqI=
 =knF/
 -----END PGP SIGNATURE-----

Merge tag 'qcom-clk-for-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into clk-qcom

Pull Qualcomm clock driver updates from Bjorn Andersson:

 - Global TCSR, RPMh, and display clock controller support for
   the Qualcomm Eliza platform
 - TCSR, the multiple global, and the RPMh clock controller
   support for the Qualcomm Nord platform
 - GPU clock controller support for Qualcomm SM8750
 - Video and GPU clock controller support for Qualcomm Glymur
 - Global clock controller support for Qualcomm IPQ5210
 - Introduce various smaller display-related fixes across
   Qualcomm Kaanapali, Milos, SC8280XP, SM4450, SM8250, and
   SA8775P.
 - Add missing GDSCs and fix retention flags for PCIe and USB
   power domains on SC8180X.
 - Enable runtime PM support to ensure performance votes are
   propagated to CX on Qualcomm platforms.
 - Mark the USB QTB clock as always-on on Qualcomm Hamoa, in
   order to ensure the SMMU can work even when USB controller
   device is sleeping.
 - Qualcomm IPQ6018 and IPQ8074 support in the IPQ CMN PLL
   driver
 - MDSS resets for Qualcomm SC7180, SM6115, and SM6125, to allow
   display subsystem driver to reset the hardware from the state
   left by the bootloader.

* tag 'qcom-clk-for-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (67 commits)
  clk: qcom: gcc: Add multiple global clock controller driver for Nord SoC
  clk: qcom: rpmh: Add support for Nord rpmh clocks
  clk: qcom: Add TCSR clock driver for Nord SoC
  dt-bindings: clock: qcom: Add Nord Global Clock Controller
  dt-bindings: clock: qcom-rpmhcc: Add support for Nord SoCs
  dt-bindings: clock: qcom: Document the Nord SoC TCSR Clock Controller
  clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
  clk: qcom: Constify list of critical CBCR registers
  clk: qcom: Constify qcom_cc_driver_data
  clk: qcom: videocc-glymur: Constify qcom_cc_desc
  clk: qcom: Add a driver for SM8750 GPU clocks
  dt-bindings: clock: qcom: Add SM8750 GPU clocks
  clk: qcom: ipq-cmn-pll: Add IPQ8074 SoC support
  dt-bindings: clock: qcom: Add CMN PLL support for IPQ8074
  clk: qcom: ipq-cmn-pll: Add IPQ6018 SoC support
  dt-bindings: clock: qcom: Add CMN PLL support for IPQ6018
  clk: qcom: gdsc: Fix error path on registration of multiple pm subdomains
  dt-bindings: clock: qcom: Add missing power-domains property
  clk: qcom: gcc-eliza: Enable FORCE_MEM_CORE_ON for UFS AXI PHY clock
  clk: qcom: dispcc-sc7180: Add missing MDSS resets
  ...
2026-04-11 16:27:36 -07:00
Stephen Boyd
42ca4f0c94 Samsung SoC clock drivers changes for v7.1
1. Axis ARTPEC-9: Add new PLL clocks and new drivers for eight clock
    controllers on the SoC.
 2. ExynosAutov920: Add G3D (GPU) clock controller.
 3. Exynos850: Define missing clock for the APM mailbox.
 4. Few compiler warning fixes cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmnXmlkQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD16kLD/0VrQI4jciFXiA6F5dEFnMmakcAp3EWqDKi
 hfr8lAF1syQgcKa4knC2tY2OeNPk9Vj3Jo/PDbdrQRTgYJ41eWJfS+gO0MHYNhr2
 mMzaVY4Klji1msPik3Hvl5MhwA24SOeRHVn4sEbHyh2Hxbn/1XxgPSt/CO8ARXMS
 LLJd3JIcunQolgchfW/+0wiAoYDReeYaxr35I/53Fmt67R4JPrI5lqahvRGy+lG2
 ZbpkArnCUuUUl7469t/rUu4G/o5OePRaKGRbjs8Pu62WPPpaGYDV74DPmszcsYUR
 +FCMfiFJ2QSpjcQQXDJNL5PNCqR4uLTk3yXHHZ9WPlpzsRBYWD0k/kq6J/poyfGW
 WtgyPt1MI21ErvJ//KYu7IzJXNpc6r/RHAO3ZKowDxrfmUwxaT95dzzSBCSVZa+E
 QbydkfkhngQkV2kEzNmxQQBG8W5jmiY8FwZRZwZs/S2gOeDOoDltLownD+xg7gjc
 CxuYpLX9CMDn+uFy6nhDycQQxUOA63S+b+3TVrdz3AqERVJYhPsknNzqG5RRXurf
 hbmOxWyBfAh7PuErlMh4ZS0g51wmeAB5t1TAoaHY5Qf9jyzBYU6Mme9p/rh7ZgHM
 UQGSj7Zk3FFyjzB8ThTxMkWGY6goZ4/iXjPl5ZlVg5wxW7saThP2rIlKqcOy8SmN
 eBs5FBmcyg==
 =ZPEJ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmna2HcUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSWrRRAAz1eviBQltljMnwVyihxTnlazDfsa
 E28766vFlWvPkLcRq1XKOWdbQWc02bjPXhHZcV8jITT6UMXUmAGO1ivklAdl2thb
 Csufj+ZCqvZws4K2Rec/O3d5Ht2wD95y2rt1lXfDiDF+9CCrP6RMM7XgKJ31HzV+
 k8oyFlYQZj5LuPfS42fhHifMHEsaY5l1vxL/jRWtxwfbjxizdopMPKEJhUlowRxC
 16hthle37W1Qp2pPD/P+FFWjoagSatXWzYhUwsMNyTNHXjju339qYqOzHaZBLUo1
 W4XdQc6oUW3uxxb61inAJYSilsMGnJ9DObJsyjYcaoWr9pMK5eC7kx7B2r/cfNgS
 7Yx+Sr04vZfovMSyhuryciAqLR+1MA/LwtuBiyvSWX7W9XzXd7AX6IJ/MTEA3L0S
 CjGeUqTMQPJvsw5UWt8G7uv2L3ttIHoM3CVe5VxvBWr8A3Fe/5gqx4Iv2Sg+ZMmB
 9olrbxJqerUm/xXBLdSvE85UxOpUYfKbudNzFgt+HMJucmoQ2yCSHBqhWoCaauON
 tPbjz5kaldE7HJ82UjumTBeK8qQm7D/Lhc3XOseh2dKoxPKWIPXnveg7h+hAG7Tf
 Oi1eLJzwBhvmv6D1/hYso6b8R6y/ZNeAY8Snn7/T9PEa3SeqaNeM2sLRj8f8zKFT
 nHnP0rH4g5/ip24=
 =d8sR
 -----END PGP SIGNATURE-----

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

Pull Samsung SoC clock driver updates from Krzysztof Kozlowski:

 - Axis ARTPEC-9: Add new PLL clocks and new drivers for eight clock
   controllers on the SoC
 - ExynosAutov920: Add G3D (GPU) clock controller
 - Exynos850: Define missing clock for the APM mailbox

* tag 'samsung-clk-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  clk: samsung: exynos850: Add APM-to-AP mailbox clock
  dt-bindings: clock: exynos850: Add APM_AP MAILBOX clock
  clk: samsung: Use %pe format to simplify
  clk: samsung: pll: Fix possible truncation in a9fraco recalc rate
  clk: samsung: exynosautov920: add block G3D clock support
  dt-bindings: clock: exynosautov920: add G3D clock definitions
  clk: samsung: gs101: harmonise symbol names (clock arrays)
  clk: samsung: artpec-9: Add initial clock support for ARTPEC-9 SoC
  clk: samsung: Add clock PLL support for ARTPEC-9 SoC
  dt-bindings: clock: Add ARTPEC-9 clock controller
2026-04-11 16:24:53 -07:00
Stephen Boyd
887f655eab Allwinner clk changes for 7.1
Just one change for this cycle, implementing support for the r-spi
 module clock in the A523 PRCM block, which was somehow missing during
 the initial bring-up.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmnSbpkQHHdlbnNAa2Vy
 bmVsLm9yZwAKCRA4mlQhnA8kMPw7D/9hSQ6ivVksNFqWpEQtLdUR6Ynx85Lo+DYW
 cW1txhkOpUx3m4LB9H2b3ymCw3urlNMy7Noo7xjm8mrA6pFIL4vcjs17jauz0GLe
 meRKFYNn/v4QpUkSIijMW+42nWEq3/eFZYbBTN/VPE46ueC5xDWbHSiHlRly7POd
 eW1jawFHgoAaSmiUkGu0qPuhw7m9FMBAATMuJC0RSl4vh2sDimS9Y7gVYrA2P4Qc
 M71PFj0s/ATttL5qlXABxpl3idXp7HACkWpnmoZGfNvh74lHTfrHDl5p6v053RGQ
 xP8sTFUiZvKSEjfjl8WKvn7c7U732AEQEZlS/Vr0QQfIuJTknRqjWQkzcrqJPfHc
 ZrfCingqq6zPHazDDS2GEb3AnFvnh/xy1uULookGilCuLh84OygJlOnzqFxz2B0P
 BB0NAa+A6tUxVcgTvmX3Ma6P8QWCSZAvSrPngcRk8uysDsaA026QInfvWpSCVP0W
 2xYrTiKq+jF+CxEaMCE/yntKMnIZHIJ2QiB2OAguSkLrDt3LX2JIeniNeKRhb64y
 zyy1woky4ecWlGt6lKZH6ceiErEY9X+ckwajvvhKRR7j4kzMQ97d9QE39LsvNWFb
 sn2LnA3SIQGQrCOShRlibbk9xSnCRSJJ90GvtaMQOkSPthnDSZosT13M5TWNixYi
 zLtmzvCt9w==
 =mWuN
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmna2BUUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSWzcA/+IiMJM0RK/nsW9GiqeF/cZkvkppDz
 LkJF/mIXj7BewpSLKg6jei2WsKur+bwPTjYm34LRbTwv+NAbJKpH+7/yAMzfHcxZ
 ushDhxX2in0k1j2W1tAZhD+6PHZgqfM4M/qFPR1Iy/lDafxdI0Fmn7bvg2ODW+TH
 FujIvsK734wlIqEM7CPp2eIysiq5tB0l3PPep57lm/LO4t7caarQ+nAw5x04iGs9
 wf3FCq6g1zNENFba2t34R9ElCoceizE0fXjpVWMsZ4V9eEKnucUzgNLdGY5KPHjJ
 RW8w0jGKZCUSx0j8rEGFCVVlH+d6RgLeXmDKMp3smFmOu6cbIgvYjt5hP2uNAj7E
 dINx72hlKEp2Zk9ZYEySNqb3/0r4A3K1PRTMJL5GRFOiwiLsGzSmwqr7jDEBF6X+
 uireVfkcGWegcaD5X7f6TrAST+QSO1xSw/LkOU1YInaxgijOb7IMVO13jAHitftJ
 CQMvwpmFpqdvngWINEosspvmg5oRRqZJhsg0YIMXibV4juQLVHo/ckcTnuV1ps2R
 6jdjgtHQ6r6kQ9laQNvpFG723Wf6UxWxTDP6hZRrPCZGpcHKxjthflhbjhL6gfRp
 O2fML2k97JeeonIaz4qClB/UwJpjujLTxRyLoBnqskcwIZeP++IRcE8ghYKm0tMg
 B6I0p+dgjgdoYPU=
 =uZmN
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-clk-for-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into clk-allwinner

Pull Allwinner clk driver updates from Chen-Yu Tsai:

Just one change for this cycle, implementing support for the r-spi
module clock in the A523 PRCM block, which was somehow missing during
the initial bring-up.

* tag 'sunxi-clk-for-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  clk: sunxi-ng: sun55i-a523-r: Add missing r-spi module clock
2026-04-11 16:23:48 -07:00
Stephen Boyd
cc8f74d301 Qualcomm clock fix for v7.0
Fix the clock ops for SM8450 DPTX1 aux clock src to ensure DisplayPort
 works.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmnFOGUACgkQCx85Pw2Z
 rcX+CRAAgM2Tif72NDuQJKZMZMAQBH3lADdt21BA6mcBLSff0ibELMncNygNb4d/
 pguHQnCpUO1DDmitO6WkNGy8N2sR62YsEwl1MpnrpH4uDu3Vm5hZg338grYm3foP
 vpfpQTAiou16emle1hnc4uP3o7Wx5aAz1g/PBdJBbG7FzG/vLaUPWSfZku4/lyjE
 PbPpLGJD3oe7kuX8AcaIH0fGx88s7DxE8m/Xy51qrbXp0UoYYigKd5n/xtksUHsf
 VtvTaGiYgHR2Mm0J+dfjZEMrVdkp8YUJYdgxyNmQCnmyinsLq/rPCb4VnbMeoQC5
 TAs+UHraXUd1yrFPGUF/Lc5mdRpI56uKVLGpg6o+IAwiOLzG0wuU//FPLH6iqcSy
 wDHnjh6IYg37YZ3/+58MkOyg3DXrsH/KRpgRywlFbDe7km3D2/GlKlSmiMO/JUAC
 05XPoDvEaZN1Z3lCXGne7UeBjZRELFBKuPGFliN5mcaQ+K98WC6YqPC6EJL8cvfP
 rqR3AVeUIvdcjsAbB+ZCbjsikSXNs1iHFnLYSjd3/EPjnqbywq83gqEErCPDQWC/
 J0jQHPDNF7opYWO+O4rXC2eEj+wy6cKVyNVDv9hLZVFXGXsLN/oVH3bavb0pFp5z
 dpkbLljq1djVV/Xz9VbQXjcGv1btMZt4LD9b9ALPPiqH2QAFkjo=
 =Vq7a
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmna18wUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSWQbA//ZDoBbTGdP+jRbJctlz7DW0Mg23If
 PbndADpiyEjtAKvtJ33huV015p9WIEkeLay7iCpcR0jGRilqz33f3epBXEjVlHUn
 ZC+VegRtkGP+JpcrEf74DdKNU3ovqwbcPwZka/7TQyb8tIpiaBC/Z6y8k09kdZ1N
 HPbe7jDmdv55ZTnmpT6zSs6fZTcIzcEbYyfStSVWyP8L4yy62Xdqga5TZepZglfa
 oTF+y1MNZTzhZjMX6s9FCT01q8/hZi8gHh43a8j9HTpTcXfzwy+c+hA+xBS1PAk/
 /Q6zqqe0042D1IrpilGFBK8aW9qLCo4/NH56GHGfFKTZLZHX5ZUlr1M9vTtb6Xns
 okzrgHeoz9WpezUcmBS4V7oBd4sIhy9E3c4u0h+KVn38hSPWcBzGGP2xY+yioJGk
 vuK+0hIEXgTriq2vDmV4y6WUyEw7S0NS7rrLehAzoZvvYW70TCEXsrH1X44HIIMY
 nlWcbF5LOq4EfsUg9wmhidkfZv/3uNT3W9R6eu8kx39CTvgdPs70kBWe5AuJa9aQ
 ZbsdZfwBGPzgAJCfadMWdp83Roa4EDmrpgTUYfbf9+ridJ1rD2NJhtmOo0+01fNW
 WpXg6DSEwsrma2LT7GHElnWZwtrleXTVu2pw4c7yuqKIuW9RPzXaKclhywm1hHm2
 xQTwlXS28ZjbfZg=
 =WNdn
 -----END PGP SIGNATURE-----

Merge tag 'qcom-clk-fixes-for-7.0' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into clk-fixes

Pull a Qualcomm clk driver fix from Bjorn Andersson

 - Fix the clock ops for SM8450 DPTX1 aux clock src to ensure
   DisplayPort works

* tag 'qcom-clk-fixes-for-7.0' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  clk: qcom: dispcc-sm8450: use RCG2 ops for DPTX1 AUX clock source
2026-04-11 16:22:21 -07:00
Stephen Boyd
ce56ffbea7
Merge tag 'spacemit-clk-fixes-for-7.0-1' of ssh://github.com/spacemit-com/linux into clk-fixes
Pull a SpacemiT clk fix from Yixun Lan:

 - Fix inverted condition check

* tag 'spacemit-clk-fixes-for-7.0-1' of ssh://github.com/spacemit-com/linux:
  clk: spacemit: ccu_mix: fix inverted condition in ccu_mix_trigger_fc()
2026-04-11 16:21:08 -07:00
Stephen Boyd
3de1320ae9 Microchip clock fixes for v7.0
This update includes:
 - fix out of bounds access for MPFS CCC clock controller
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac9n+wAKCRCejrg/N2X7
 /YmNAP0Qmy4ndM3fcHVJiTv6R7Ffs84dJLVR0RG8RYhHkI/NrgD/dRHqOOJCrvzN
 +zQmeYOpbFIGBJk59WYjODMeW+E+gwk=
 =QYc7
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmna12IUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSUwJBAAwEuZEG3PfD2EnbVVmMIn10SJKnKH
 0dWiqcdFqEJa9byzbPiJZDz1rQWPnFBDrcDT5ptRRh8qqyjDwYxUhDXYeJcgfe0r
 5E4+u4/lzH8X1cqKYMfLmffDMko7SlUeA1uM6UDPrZh1Bkm8BfNTwrdrxpkIoYQ9
 7H6UGe/czwLRh7RVmGSK7MepjehfS5drFTLJnPOm8Zn3/IZwgr7UQUY/Fpswx5dZ
 xkbp9QJorlRhjM6qZhbjtd0rk6w0TiTtkjUUV0pFt+PId/Ua3IpAzyScyZCsalHs
 0s6/J5LjCqlVFuSVnYWICKNbrYKJBrLuivgOTGBLng3Y1ZLDGMbdYQ7pJKxX5HKo
 /9M5hiwC8dYjYXrc4KRq9vjq+KM1WzjIXdyTFAH2ZdB8NOXyHImeoCvcKRvxyB6q
 jmfhcFHC9raQdTMdHDEWdxxxr9SQM2/gL/fA98RFWVh/2D5Sviz6WsDGzGJhzT1l
 hn4mA/Me3tuXuTKaTKioUmtI5qBgpBzVHgU0PbNY0Ubb+6uLQjdNFJnulkJRHfq3
 l5E4q3mD2nLKxWECJGxo61kyW+4s82yCcKlELttaTqCuC9qEc6DE29Wn60II5pty
 p1QX7zLMxZADieRDY9RCL0JVDXZC8gK8Ig8lyQrLbaqJJYpnkPOuD2Vw6KwHcRuK
 ptuOyrkDfnP85Ig=
 =XW8e
 -----END PGP SIGNATURE-----

Merge tag 'clk-microchip-fixes-7.0' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into clk-fixes

Pull a microchip clk driver fix from Claudiu Beznea:

 - Fix out of bounds access for MPFS CCC clock controller

* tag 'clk-microchip-fixes-7.0' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  clk: microchip: mpfs-ccc: fix out of bounds access during output registration
2026-04-11 16:20:57 -07:00
Stephen Boyd
6e42454d90 i.MX clock changes for 7.1
- Add optional ENET reference pad clock inputs for i.MX6Q/UL.
 - Fix debug output in PLL14xx driver to use unsigned format specifier.
 - Add 333.333 MHz and 477.4 MHz support to fracn-gppll for display use cases.
 - Fix device node reference leaks in i.MX6 driver.
 - Fix device node reference leak in of_assigned_ldb_sels().
 - Fix ACM clock flags on i.MX8 to prevent SAI sysclk failures.
 - Move VF610_CLK_END define into the driver.
 - Add VF610 Ethernet switch clock support.
 - Correct CSI PHY parent clock selection on i.MX8MQ.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEETvPuEU56jyrKp9G4G19EyQCVFVYFAmnOcAEACgkQG19EyQCV
 FVbQjw/9HyOgC6B8IdrXBcWA/NnPgYTjrYwXEZnS1YCfqvj36jcSmldp6QwpDR2m
 8LedEWn/AW7Qle1nSQcCAP1WBE8Acb/FWWuMVAngAJJ2lTXUiP7LL5kCvSzrKjC6
 ioS7up49Fb2QgXIy1wMgdxT8WC8slNqPwq++k85vWyto8kvjOXMeDl9EWk/y1Vi4
 93dVZT9sFLrmEh95pqJT5+gxslH/847xeuncCO9+Ej7ilaBgDkY07QUE9cubxF0n
 cEErY50wcaq0CCQPOVF16FsO7K1/+Kd19FXNNcGztHjbJjXXwm8xcW1dxCAjdAY8
 0uelk7hhxcK6Me/6LGxYYGQWN4EmmjsiaQtYrQBSqea1bWbOh9jCKajSLOylln4n
 U+2X9eI7duZSIdEj+CVy4qIlNoTsNNsMIpG4fmNkiqMRl9o/S5bRJgwfSY+g/i6b
 aqjkGqespVxohpRorFzL6KjyLLxBDfUyH36SHwOcxwcXRYF0CO78JLzpmuxYQ5R4
 /9n+ezw2i977w2IxsgH5nhzkfZqCSq/g7P10XJKevzZfmWcl/3L2DA1xNBX56hSk
 R4WT6BXRzPApX0PeSzERS53KP994TAGARMQHA3retj7reYXR9ahAhYwb6bLVK6WN
 p6dcUhmAGkdNncjfZz6mEyTxvdv8PD0v0C2eo88DzA7kgWeYHMg=
 =wlXT
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmna1lwUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSWgYw/9HxHt2ROKW+3Mhp7mVzDIUnRcOS34
 ZX+u/7S+OAeaXcKmzS4HMX2Lqy3Xc/rrCk5LQk0H1oIMEsQsx3uGXJN5teU7XbOj
 tgXy1p8/J4Cceb14pq66QcLxcCg1oeYi4KSLBRr+atHHuTIndID3dYqPNGmklzbb
 FziJG7biTL5U2JCLfbJwTHwjo6XqGZfT7evwYcuQntJj9JHyb9eqpHHqcvNUHK3F
 cXV7Or8pfnz6pXTUdPoceyYu/VJYarg7igdrY3TweigAVA+cWCe05VEwqkE7thN8
 Ou4PYEUlDkKm5aM+pU28qO57qnogvZlLSLi+eF5+ntXTqpRGipBOG6+QVE3V/pCi
 6NkmCMzyg+ihCTOzKk9zTunT/V0BNSXiHQ2MoiQgMWEqUSntxa6j5H1JLQUoM9ft
 Re4r9aX9CuFs1IFm+APrNwpPUl+V7VCQDQHEY+vNhHZlbTnSKCPewG8q9bd24mB/
 LgZ0rgtGO7IQA3J8Af6nuLzBljnLtFxTze5X4BYqUebiVrVXfeb0WlI1A3SdBZN+
 vHjHRctOaFehAwk8TZNWgRJie+pH31EclO3XLOYiJHzYGAjE4ePpsoxyMBonJB3M
 Vp613vbJwa1mdBwS7cIkDen4vjEl62Wk34k6LsfGiGycvFeelLvu6fTFn740XqnL
 blb4oRviOBbfquw=
 =M1uL
 -----END PGP SIGNATURE-----

Merge tag 'clk-imx-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/abelvesa/linux into clk-imx

Pull i.MX clock driver updates from Abel Vesa:

 - Add optional ENET reference pad clock inputs for i.MX6Q/UL
 - Fix debug output in PLL14xx driver to use unsigned format specifier
 - Add 333.333 MHz and 477.4 MHz support to fracn-gppll for display use cases
 - Fix device node reference leaks in i.MX6 driver
 - Fix device node reference leak in of_assigned_ldb_sels()
 - Fix ACM clock flags on i.MX8 to prevent SAI sysclk failures
 - Move VF610_CLK_END define into the driver
 - Add VF610 Ethernet switch clock support
 - Correct CSI PHY parent clock selection on i.MX8MQ

* tag 'clk-imx-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/abelvesa/linux:
  clk: imx8mq: Correct the CSI PHY sels
  clk: vf610: Add support for the Ethernet switch clocks
  dt-bindings: clock: vf610: Add definitions for MTIP L2 switch
  dt-bindings: clock: vf610: Drop VF610_CLK_END define
  clk: vf610: Move VF610_CLK_END define to clk-vf610 driver
  clk: imx: imx8-acm: fix flags for acm clocks
  clk: imx: imx6q: Fix device node reference leak in of_assigned_ldb_sels()
  clk: imx: imx6q: Fix device node reference leak in pll6_bypassed()
  clk: imx: fracn-gppll: Add 477.4MHz support
  clk: imx: fracn-gppll: Add 333.333333 MHz support
  clk: imx: pll14xx: Use unsigned format specifier
  dt-bindings: clock: imx6q[ul]-clock: add optional clock enet[1]_ref_pad
2026-04-11 16:16:10 -07:00
Stephen Boyd
0fc42d2646 New clock driver for the RV1103B. For whatever reason that SoC only got
a B addition to the name, but major changes internally - likely it is
 pin compatible with the non-b-variant. Other change is actually
 exporting PCIe pipe-clocks that were already in the binding.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmnKfKQQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgR5HB/9UT3UM4Zrmubr7ZRhbFiMLkzHpP5icwV9F
 AQIdcPfpuH6/2ELckwcka8CElsBBd7uK/QCxd4DSBmwRhC/aYTNa2JknqO9W10Os
 h9aeiwLODM6SHePwFrWcL+jLKe0VxuFsVEsy/r3S8L+zMVY2PtnXUib1aAPTpOkN
 Ou42CLOZ1BPmpy5zAMl36IM+9SAfi6AtrCAqh3mGxYiL5dLZwHIX9njD2sT9GRXD
 IuF8UoKOZx/QEO9ZzjaovcqWe0n0mnDU89GvxCGT6O8yyMOldRHPHmEdBg1KZWge
 2q141NagpsRjjX4v7ojOCm7nyohwdLwdmkkV00tMHzeUHDFSbpgD
 =/ri0
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmna1f0UHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSXYKA//U6St12L/7NfTM7Pf/SR/5dZez6OE
 qhMATt0JoOMAJ6g7GYsXHj4QoLIJ99UxsKWziqzBpG8IyRJgK1LKOprZQ5rToN43
 3YPOG5hXR/tEgMn8ici1sX/NPe37ma6oavQsaiMhYOujRGQIOhEpk/GNFMyvh7g5
 YsHMEtvfn6+Uba1LcPY53wk9gSQ/hb413h9QwSJUpYufAySWwlsI8ikKmNnsk1LH
 NJQRgX6V4ooafBxcH1iI4nfQf6c3Q/9Ii2Xayu1vyqN1O3bNqsrZRu4/uXaVzNiq
 o+8ujowyDCPwpkx/BBIYjfz1F/IGvND6ESQy+m85GyEqw1gyWQALITK7HpGbcQyl
 qKFscJBH/IrPygurymhZmeD9oH1wvvoAf3aHlYGQ+kHv5LJegeJq5U2nLsDBvkmX
 KXQb8elsfMi7WR8CUaLO2dlnleQkywRZMy1eykBgVCbf5aYwzr0Fhre0E59nGPix
 6IacOhuoEjWzXO6D8+1qsH7a8c94sxMoptT4dsLNnAkeetR3K04mfDWC66T7h4hq
 kentNCRs/ao59euiFmf0HOXYKFW2XJKXiyli7D2/ts56T0KcgwGrIyd+rOs/uleD
 FPOHLBsUT9h7s7lFsVIzbYEUSey7n7fs94f72BoF3WvECLnVK3Ur2CRIMNmADqs8
 grmj4ijBxntKY5E=
 =3bVg
 -----END PGP SIGNATURE-----

Merge tag 'v7.1-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:

 - Clock driver for the Rockchip RV1103B SoC

For whatever reason that SoC only got a B addition to the name,
but major changes internally - likely it is pin compatible with
the non-b-variant. Other change is actually exporting PCIe
pipe-clocks that were already in the binding.

* tag 'v7.1-rockchip-clk1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  clk: rockchip: rk3568: Add PCIe pipe clock gates
  clk: rockchip: Add clock controller for the RV1103B
  dt-bindings: clock: rockchip: Add RV1103B CRU support
2026-04-11 16:14:15 -07:00
Stephen Boyd
98266d5f94 clk: renesas: Updates for v7.1 (take two)
- Add SPI clocks and resets on RZ/G3E,
   - Add PCIe clocks and resets on RZ/V2N, RZ/V2H(P), and RZ/G3E,
   - Enable watchdog reset on RZ/N1D,
   - Remove clocks for watchdogs meant for other CPU cores on RZ/V2N,
   - Handle critical clock during system resume on RZ/G2L, RZ/G2UL, and
     RZ/G3S,
   - Add initial support for the RZ/G3L (R9A08G046) SoC,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCacZUzwAKCRCKwlD9ZEnx
 cEmHAP9nppu4sDYIhN4MxkdBJpBYxh4tL/GLYoseA3wePKTtPwD8C39U/H2N7saH
 DErFFbszYDK7CcU9O5xSROC3qIYCTAY=
 =Z7DK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmna04QUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSWIbxAAjYS6YtP9/oFmnb36OJhX6U/w9f6K
 wS16Jm3DzcULjF0hjNlcaJDO3gTdPSnObGOwycLFMvWcQbwv3pt3c6wKKh1/7VW+
 A0dMiqTpvr7bo/YJzuoEtItsQ008fvQLdMpZLONGXYW2EQWPiJiRP3tTZ9VoD5YP
 t7PVV3lo+IOV4zfgxwaku3SkRzafD11zyrVnF6ZmxPr1quwq8YFOkRZavmgJJcDu
 foqZ2dnkpL09QHf5zKBRjBL0CbJjRGLyjwll7Pbj9VWCNyDcOwa9JNYP9ZMKJs09
 Jm0oHaShNt8OB4EmKnCsLU8qu6TcmM6HoBta6q9iCxvKl5x1fBQ1TuMcpwQgUNKX
 kSYgMl6+XM8Y7cjf2DK37tTtajorSbGrB6f1T034/8LDWd+gbGSkYqxxDYrIz8KY
 04J+b1YWRes+5SBRF7F0g0U9hSA5ACtZN+FVlUMOwNz18V/xgfHALwvDjialL2/D
 6i/YMyrKyfJd+SGliEH6ZJKNL3+IvZbVHqXm2Cu6fX/m2WdTIXSWezBosFc2PGpn
 oAhbLcTutOjJ6V28EoQF3lkd8X87lUeNGRNvYp0qGCwzX81rkKSLuET4Qp7fXBqG
 SIRfLknwe1Xp/MzL30VMhnyvT3GHNdnfENR2JkLTjKx+qGPvahneQGXoNUWm+aQA
 z4fCBT/qgVZib7E=
 =1ab0
 -----END PGP SIGNATURE-----

Merge tag 'renesas-clk-for-v7.1-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 SPI clocks and resets on Renesas RZ/G3E
 - Add PCIe clocks and resets on Renesas RZ/V2N, RZ/V2H(P), and RZ/G3E
 - Enable watchdog reset on Renesas RZ/N1D
 - Remove clocks for watchdogs meant for other CPU cores on Renesas RZ/V2N
 - Handle critical clock during system resume on Renesas RZ/G2L, RZ/G2UL, and
   RZ/G3S
 - Add initial support for the Renesas RZ/G3L (R9A08G046) SoC

* tag 'renesas-clk-for-v7.1-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers:
  clk: renesas: Add support for RZ/G3L SoC
  dt-bindings: clock: renesas,rzg2l-cpg: Document RZ/G3L SoC
  clk: renesas: rzg2l: Re-enable critical module clocks during resume
  clk: renesas: rzg2l: Add rzg2l_mod_clock_init_mstop_helper()
  clk: renesas: rzg2l: Add helper for mod clock enable/disable
  clk: renesas: r9a0{7g04[34],8g045}: Add critical reset entries
  clk: renesas: rzg2l: Add support for critical resets
  clk: renesas: r9a09g056: Remove entries for WDT{0,2,3}
  clk: renesas: r9a06g032: Enable watchdog reset sources
  clk: renesas: cpg-mssr: Use struct_size() helper
  clk: renesas: r9a09g047: Add PCIe clocks and reset
  clk: renesas: r9a09g057: Add PCIe clocks and reset
  clk: renesas: r9a09g056: Add PCIe clocks and reset
  clk: renesas: r9a09g047: Add entries for the RSPIs
2026-04-11 16:03:44 -07:00
Stephen Boyd
5aa81ab21d clk: tenstorrent: Add support for Atlantis PRCM
Introduce support for the clock and reset controllers (e.g. PRCM) in the
 Tenstorrent Atlantis SoC. 5 types of clocks are generated by the PRCM:
 PLLs, shared gates and standard muxes. The reset controller is setup as
 an auxiliary device of the clock controller.
 
 Signed-off-by: Drew Fustini <fustini@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSy8G7QpEpV9aCf6Lbb7CzD2SixDAUCabgcRAAKCRDb7CzD2Six
 DLeWAQDz7ry9bXavkEFqRuoLgC4+VXqCDHDq1eJ7RJivqhl5QwD+Khd9hCdCFLfs
 BVObT4dkLX5LbsMUEqFAEJSf4ISoyA4=
 =WZuS
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmna0YUUHHN3Ym95ZEBj
 aHJvbWl1bS5vcmcACgkQrQKIl8bklSVWmxAAk6KQVPihCh8NxXolnXuxwsuGq63z
 iU8oGrvIVZ51NBsTVz1s6kT+m5Kta4YL2BNHGhaN3ck6J7twU8gpj23Mo1n/ffn1
 XOK7/JeTuXY6jHyWbqNtFaTG+gm2KRxHmFZY27qxqaBItpwXM0v3dZ9kxxDXgvrg
 2KPbimyJzoFGrwvywn1Ic5isaW8NyIRVRonrYfN3Lq0dBuX08JLV6p93dy9F1yMe
 Z9jVBwszol2KBeDwgOKzf8aoWCkqcH41DBl5bP3fCc8sx4CxUIvyzjD7QLdFOmSp
 xlNnEkRJlVX9LVDBlDb+Eel3H2yR/I2jgHzoVYRWdKBRmxQjBabbRccWmyd4vE9o
 uJACbOTYhy5eiRpUxV6wuXB+3AP0hDDSSD1k4lgYqxjlz4qsSc7VsAvXGjJ1SyFw
 NQNIBZCoImEEMfsutFwE6W8X8G5TIBwbSEDEg4NWwZ4ehxw0nW8d1LEtXwFXBd77
 mB948LxJ9pjMCzai5QhFd9qUCz8JER2tGJVxHII8jfmsW407/dcUMH1y2Vp905pW
 P99waWf1t90oA2yqyB6k6YcOneo6ItpJliXjqpnKBT8WHfUKytDb4V90LNCq3XiX
 Q8OAz1OkAVoLToSxrpAzG/aPqj/sreoDDBePGAEoZikHBQcdFsI0UjiX15eV7XIs
 +y+IOBEeMTJMJgo=
 =PZOt
 -----END PGP SIGNATURE-----

Merge tag 'tenstorrent-clk-for-v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tenstorrent/linux into clk-tenstorrent

Pull Tenstorrent clk driver updates from Drew Fustini:

 - Clock and reset controllers (e.g. PRCM) in the Tenstorrent Atlantis SoC

* tag 'tenstorrent-clk-for-v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tenstorrent/linux:
  clk: tenstorrent: Add Atlantis clock controller driver
  reset: tenstorrent: Add reset controller for Atlantis
  dt-bindings: clk: tenstorrent: Add tenstorrent,atlantis-prcm-rcpu
2026-04-11 15:55:13 -07:00
Taniya Das
a4f780cd5c clk: qcom: gcc: Add multiple global clock controller driver for Nord SoC
The global clock controller on the Nord SoC is partitioned into
GCC, SE_GCC, NE_GCC, and NW_GCC. Introduce driver support for each
of these controllers.

Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
[Shawn: Drop include of <linux/of.h> as the driver doesn't use any OF APIs]
Co-developed-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260403-nord-clks-v1-6-018af14979fd@oss.qualcomm.com
[bjorn: Added missing .use_rpm to gcc_nord_desc]
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-08 21:00:09 -05:00
Prasanna Tolety
cf6e6ac63c clk: qcom: rpmh: Add support for Nord rpmh clocks
Add RPMH clock support for the Nord SoC to allow enable/disable of the
clocks.

Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260403-nord-clks-v1-5-018af14979fd@oss.qualcomm.com
[bjorn: sorted clk_rpmh_match_table[] addition]
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-08 20:57:51 -05:00
Taniya Das
9d13c7bbee clk: qcom: Add TCSR clock driver for Nord SoC
Add a clock driver for the TCSR clock controller found on Nord SoC,
which provides refclks for PCIE, USB, SGMII, UFS subsystems.

[Shawn:
- Use compatible qcom,nord-tcsrcc
- Drop include of <linux/of.h> as the driver doesn't use any OF APIs]

Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Co-developed-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260403-nord-clks-v1-4-018af14979fd@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-08 20:57:01 -05:00
Jagadeesh Kona
05566ebcc0 clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
In Hamoa, SMMU invalidation requires the GCC_AGGRE_USB_NOC_AXI_CLK
to be on for the USB QTB to be functional. This is currently
explicitly enabled by the DWC3 glue driver, so an invalidation
happening while the USB controller is suspended will fault.

Solve this by voting for the GCC MMU USB QTB clock.

Fixes: 161b7c401f ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Reviewed-by: Taniya Das <taniya.das@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260327-hamoa-usb-qtb-clk-always-on-v2-1-7d8a406e650f@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-05 14:35:15 -05:00
Krzysztof Kozlowski
87df31ea43 clk: qcom: Constify list of critical CBCR registers
The static array 'xxx_critical_cbcrs' contains probe match-like data and
is not modified: neither by the driver defining it nor by common.c code
using it.

Make it const for code safety and code readability.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260331091721.61613-4-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-05 14:34:36 -05:00
Krzysztof Kozlowski
573ddd0d22 clk: qcom: Constify qcom_cc_driver_data
The static 'struct qcom_cc_driver_data' contains probe match-like data
and is not modified: neither by the driver defining it nor by common.c
code using it.

Make it const for code safety and code readability.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260331091721.61613-3-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-05 14:34:23 -05:00
Krzysztof Kozlowski
03aa6ed706 clk: qcom: videocc-glymur: Constify qcom_cc_desc
Static 'struct qcom_cc_desc' is not modified by drivers and can be made
const for code safety.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Taniya Das <taniya.das@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260331085521.37337-2-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-05 14:30:09 -05:00
Haoxiang Li
a0ac82cbed
clk: spear: fix resource leak in clk_register_vco_pll()
Add a goto label in clk_register_vco_pll(), unregister vco_clk
if tpll_clk is failed to be registered.

Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://lore.kernel.org/r/20260325062204.169648-1-lihaoxiang@isrc.iscas.ac.cn
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-01 23:46:18 +02:00
Konrad Dybcio
5af11acae6 clk: qcom: Add a driver for SM8750 GPU clocks
Support the graphics clock controller for SM8750 for Graphics SW
driver to use the clocks. GXCLKCTL (Graphics GX Clock Controller) is a
block dedicated to managing clocks for the GPU subsystem on GX power
domain. The GX clock controller driver manages only the GX GDSC and the
rest of the resources of the controller are managed by the firmware.

Update the compatible for Graphics GX Clock Controller for SM8750 as the
GX clock controller is a reuse of the Kaanapali driver.

Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Co-developed-by: Taniya Das <taniya.das@oss.qualcomm.com>
Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260305-gpucc_sm8750_v2-v5-2-78292b40b053@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-03-30 09:09:49 -05:00
John Crispin
4e36f8ab45 clk: qcom: ipq-cmn-pll: Add IPQ8074 SoC support
The CMN PLL in IPQ8074 SoC supplies fixed clocks to the networking
subsystem: bias_pll_cc_clk at 300 MHz and bias_pll_nss_noc_clk at
416.5 MHz.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Link: https://lore.kernel.org/r/20260311183942.10134-5-ansuelsmth@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-03-30 09:02:12 -05:00
John Crispin
97eb2ac527 clk: qcom: ipq-cmn-pll: Add IPQ6018 SoC support
The CMN PLL in IPQ6018 SoC supplies fixed clocks to the networking
subsystem: bias_pll_cc_clk at 300 MHz and bias_pll_nss_noc_clk at
416.5 MHz.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Link: https://lore.kernel.org/r/20260311183942.10134-3-ansuelsmth@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-03-30 09:02:12 -05:00
Vladimir Zapolskiy
16ba98dace clk: qcom: gdsc: Fix error path on registration of multiple pm subdomains
Some pm subdomains may be left in added to a parent domain state, if
gdsc_add_subdomain_list() function fails in the middle and bails from
a GDSC power domain controller registration out.

Fixes: b489235b4d ("clk: qcom: Support attaching GDSCs to multiple parents")
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Bryan O'Donoghue <bod@kernel.org>
Link: https://lore.kernel.org/r/20260328012619.832770-1-vladimir.zapolskiy@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-03-30 08:34:10 -05:00
Jakub Kicinski
9ebcf66cd6 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR (net-7.0-rc6).

No conflicts, or adjacent changes.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-03-26 12:09:57 -07:00
Biju Das
77894661c0 clk: renesas: Add support for RZ/G3L SoC
The clock structure for RZ/G3L is almost identical to that of the RZ/G3S
SoC with more IP blocks such as LCDC, CRU, LVDS, and GPU.

Add minimal clock and reset entries required to boot the system on
Renesas RZ/G3L SMARC EVK and bind it with the RZ/G2L CPG core driver.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260324114329.268249-8-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-03-26 19:45:48 +01:00
Biju Das
bf497e7bab clk: renesas: rzg2l: Re-enable critical module clocks during resume
After a suspend/resume cycle, critical module clocks (CLK_IS_CRITICAL)
may be left disabled as there is no owning driver to restore them,
unlike regular clocks.
Add rzg2l_mod_enable_crit_clock_init_mstop() which walks all module
clocks on resume, re-enables any critical clock found disabled, and then
restores the MSTOP state for clocks that have one via the existing
helper.  This replaces the direct call to rzg2l_mod_clock_init_mstop()
in rzg2l_cpg_resume(), preserving the correct clock-before-MSTOP restore
ordering.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260324114329.268249-7-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-03-26 19:40:20 +01:00
Biju Das
fa3e973ca2 clk: renesas: rzg2l: Add rzg2l_mod_clock_init_mstop_helper()
Refactor the mstop initialisation logic in rzg2l_mod_clock_init_mstop()
into a dedicated helper function rzg2l_mod_clock_init_mstop_helper().
This decouples the logic for setting module stop state on disabled
clocks from the iteration loop, allowing it to be reused during resume
to re-enable critical clocks.

No functional change.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://patch.msgid.link/20260324114329.268249-6-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-03-26 19:40:17 +01:00
Biju Das
867fb0bc60 clk: renesas: rzg2l: Add helper for mod clock enable/disable
Refactor rzg2l_mod_clock_endisable() by extracting its logic into a new
helper function rzg2l_mod_clock_endisable_helper(), which accepts an
additional set_mstop_state boolean parameter.  This allows callers to
control whether the module stop state is updated alongside the clock
enable/disable operation.  No functional change for existing callers.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260324114329.268249-5-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-03-26 19:40:14 +01:00
Biju Das
5865d2525a clk: renesas: r9a0{7g04[34],8g045}: Add critical reset entries
The RZ/G2L SoC family requires DMA resets to be deasserted for routing
some peripheral interrupts to the CPU. Asserting these resets after boot
would silently break interrupt delivery with no driver to restore them.

Mark the DMA resets as critical by adding them to the crit_resets table
in the SoC-specific rzg2l_cpg_info for r9a07g043, r9a07g044, and
r9a08g045, preventing __rzg2l_cpg_assert() from asserting them and
ensuring they are deasserted during probe and resume.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://patch.msgid.link/20260324114329.268249-4-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-03-26 19:39:55 +01:00
Biju Das
3d700746d7 clk: renesas: rzg2l: Add support for critical resets
Some reset lines must remain deasserted at all times after boot, as
asserting them would disable critical system functionality with no
owning driver to restore them.  This mirrors the existing crit_mod_clks
mechanism which protects critical module clocks from being disabled.

On RZ/G2L family SoCs, the DMA reset must be remain deasserted for
routing some peripheral interrupts to CPU.

Add crit_resets and num_crit_resets fields to struct rzg2l_cpg_info to
allow SoC-specific data tables to declare reset IDs that must never be
asserted.

Introduce rzg2l_cpg_deassert_crit_resets() to iterate over all critical
resets and deassert them.  Call it both at probe time and during resume
to ensure critical peripherals are held out of reset after power-on and
suspend/resume cycles.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://patch.msgid.link/20260324114329.268249-3-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2026-03-26 19:39:32 +01:00