Linux kernel and device drivers for NXP i.MX platforms
 help / color / mirror / Atom feed
* [PATCH v9 00/23] Support spread spectrum clocking for i.MX8M PLLs
@ 2025-01-18 12:39 Dario Binacchi
  2025-01-18 12:39 ` [PATCH v9 01/23] dt-bindings: clock: imx8mm: add VIDEO_PLL clocks Dario Binacchi
                   ` (23 more replies)
  0 siblings, 24 replies; 28+ messages in thread
From: Dario Binacchi @ 2025-01-18 12:39 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-amarula, Dario Binacchi, Abel Vesa, Conor Dooley,
	Dan Carpenter, Fabio Estevam, Krzysztof Kozlowski,
	Michael Turquette, Peng Fan, Pengutronix Kernel Team, Rob Herring,
	Sascha Hauer, Shawn Guo, Stephen Boyd, devicetree, imx,
	linux-arm-kernel, linux-clk

The series adds support for spread spectrum clocking for i.MX8M{M,N,P}
PLLs (audio, video and DRAM). It has been tested for the video PLL on
boards using i.MX8MN and i.MX8MP.

Changes in v9:
- Add 'Reviewed-by' tag of Peng Fan for imx8mn platform patches
- Fix building warning raised by the kernel test robot for patch
  v8, 11/18 clk: imx: add support for i.MX8MN anatop clock driver
- Add patches for imx8m{m,p} platforms:
  - 23/23 clk: imx8mm: support spread spectrum clock generation
  - 22/23 clk: imx: add support for i.MX8MM anatop clock driver
  - 21/23 clk: imx8mp: support spread spectrum clock generation
  - 20/23 clk: imx8mp: rename ccm_base to base
  - 19/23 clk: imx: add support for i.MX8MP anatop clock driver

Changes in v8:
- Drop the patches added in version 7:
  - 10/23 dt-bindings: clock: imx8m-clock: add phandle to the anatop
  - 11/23 arm64: dts: imx8mm: add phandle to anatop within CCM
  - 12/23 arm64: dts: imx8mn: add phandle to anatop within CCM
  - 13/23 arm64: dts: imx8mp: add phandle to anatop within CCM
  - 14/23 arm64: dts: imx8mq: add phandle to anatop within CCM

Changes in v7:
- Add and manage fsl,anatop property as phandle to the anatop node with
  the new patches:
  - 10/23 dt-bindings: clock: imx8m-clock: add phandle to the anatop
  - 11/23 arm64: dts: imx8mm: add phandle to anatop within CCM
  - 12/23 arm64: dts: imx8mn: add phandle to anatop within CCM
  - 13/23 arm64: dts: imx8mp: add phandle to anatop within CCM
  - 14/23 arm64: dts: imx8mq: add phandle to anatop within CCM

Changes in v6:
- Merge patches:
  10/20 dt-bindings: clock: imx8mm: add binding definitions for anatop
  11/20 dt-bindings: clock: imx8mn: add binding definitions for anatop
  12/20 dt-bindings: clock: imx8mp: add binding definitions for anatop
  to
  05/20 dt-bindings: clock: imx8m-anatop: define clocks/clock-names
  now renamed
  05/18 dt-bindings: clock: imx8m-anatop: add oscillators and PLLs
- Split the patch
  15/20 dt-bindings-clock-imx8m-clock-support-spread-spectru.patch
  into
  12/18 dt-bindings: clock: imx8m-clock: add PLLs
  16/18 dt-bindings: clock: imx8m-clock: support spread spectrum clocking

Changes in v5:
- Fix compilation errors.
- Separate driver code from dt-bindings

Changes in v4:
- Add dt-bindings for anatop
- Add anatop driver
- Drop fsl,ssc-clocks from spread spectrum dt-bindings

Changes in v3:
- Patches 1/8 has been added in version 3. The dt-bindings have
  been moved from fsl,imx8m-anatop.yaml to imx8m-clock.yaml. The
  anatop device (fsl,imx8m-anatop.yaml) is indeed more or less a
  syscon, so it represents a memory area accessible by ccm
  (imx8m-clock.yaml) to setup the PLLs.
- Patches {3,5}/8 have been added in version 3.
- Patches {4,6,8}/8 use ccm device node instead of the anatop one.

Changes in v2:
- Add "allOf:" and place it after "required:" block, like in the
  example schema.
- Move the properties definition to the top-level.
- Drop unit types as requested by the "make dt_binding_check" command.

Dario Binacchi (23):
  dt-bindings: clock: imx8mm: add VIDEO_PLL clocks
  clk: imx8mm: rename video_pll1 to video_pll
  dt-bindings: clock: imx8mp: add VIDEO_PLL clocks
  clk: imx8mp: rename video_pll1 to video_pll
  dt-bindings: clock: imx8m-anatop: add oscillators and PLLs
  arm64: dts: imx8mm: add anatop clocks
  arm64: dts: imx8mn: add anatop clocks
  arm64: dts: imx8mp: add anatop clocks
  arm64: dts: imx8mq: add anatop clocks
  clk: imx: add hw API imx_anatop_get_clk_hw
  clk: imx: add support for i.MX8MN anatop clock driver
  dt-bindings: clock: imx8m-clock: add PLLs
  arm64: dts: imx8mm: add PLLs to clock controller module (CCM)
  arm64: dts: imx8mn: add PLLs to clock controller module (CCM)
  arm64: dts: imx8mp: add PLLs to clock controller module (CCM)
  dt-bindings: clock: imx8m-clock: support spread spectrum clocking
  clk: imx: pll14xx: support spread spectrum clock generation
  clk: imx8mn: support spread spectrum clock generation
  clk: imx: add support for i.MX8MP anatop clock driver
  clk: imx8mp: rename ccm_base to base
  clk: imx8mp: support spread spectrum clock generation
  clk: imx: add support for i.MX8MM anatop clock driver
  clk: imx8mm: support spread spectrum clock generation

 .../bindings/clock/fsl,imx8m-anatop.yaml      |  53 +-
 .../bindings/clock/imx8m-clock.yaml           |  74 +-
 arch/arm64/boot/dts/freescale/imx8mm.dtsi     |  11 +-
 arch/arm64/boot/dts/freescale/imx8mn.dtsi     |  11 +-
 arch/arm64/boot/dts/freescale/imx8mp.dtsi     |  11 +-
 arch/arm64/boot/dts/freescale/imx8mq.dtsi     |   2 +
 drivers/clk/imx/Makefile                      |   6 +-
 drivers/clk/imx/clk-imx8mm-anatop.c           | 287 ++++++++
 drivers/clk/imx/clk-imx8mm.c                  | 275 ++++---
 drivers/clk/imx/clk-imx8mn-anatop.c           | 283 ++++++++
 drivers/clk/imx/clk-imx8mn.c                  | 196 +++--
 drivers/clk/imx/clk-imx8mp-anatop.c           | 305 ++++++++
 drivers/clk/imx/clk-imx8mp.c                  | 684 +++++++++---------
 drivers/clk/imx/clk-pll14xx.c                 | 134 ++++
 drivers/clk/imx/clk.c                         |  15 +
 drivers/clk/imx/clk.h                         |  18 +
 include/dt-bindings/clock/imx8mm-clock.h      |  76 +-
 include/dt-bindings/clock/imx8mn-clock.h      |  64 ++
 include/dt-bindings/clock/imx8mp-clock.h      |  80 +-
 19 files changed, 1975 insertions(+), 610 deletions(-)
 create mode 100644 drivers/clk/imx/clk-imx8mm-anatop.c
 create mode 100644 drivers/clk/imx/clk-imx8mn-anatop.c
 create mode 100644 drivers/clk/imx/clk-imx8mp-anatop.c

-- 
2.43.0


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2025-01-25 13:11 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-18 12:39 [PATCH v9 00/23] Support spread spectrum clocking for i.MX8M PLLs Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 01/23] dt-bindings: clock: imx8mm: add VIDEO_PLL clocks Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 02/23] clk: imx8mm: rename video_pll1 to video_pll Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 03/23] dt-bindings: clock: imx8mp: add VIDEO_PLL clocks Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 04/23] clk: imx8mp: rename video_pll1 to video_pll Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 05/23] dt-bindings: clock: imx8m-anatop: add oscillators and PLLs Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 06/23] arm64: dts: imx8mm: add anatop clocks Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 07/23] arm64: dts: imx8mn: " Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 08/23] arm64: dts: imx8mp: " Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 09/23] arm64: dts: imx8mq: " Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 10/23] clk: imx: add hw API imx_anatop_get_clk_hw Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 11/23] clk: imx: add support for i.MX8MN anatop clock driver Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 12/23] dt-bindings: clock: imx8m-clock: add PLLs Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 13/23] arm64: dts: imx8mm: add PLLs to clock controller module (CCM) Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 14/23] arm64: dts: imx8mn: " Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 15/23] arm64: dts: imx8mp: " Dario Binacchi
2025-01-18 12:39 ` [PATCH v9 16/23] dt-bindings: clock: imx8m-clock: support spread spectrum clocking Dario Binacchi
2025-01-24 13:43   ` Krzysztof Kozlowski
2025-01-18 12:40 ` [PATCH v9 17/23] clk: imx: pll14xx: support spread spectrum clock generation Dario Binacchi
2025-01-18 12:40 ` [PATCH v9 18/23] clk: imx8mn: " Dario Binacchi
2025-01-18 12:40 ` [PATCH v9 19/23] clk: imx: add support for i.MX8MP anatop clock driver Dario Binacchi
2025-01-18 12:40 ` [PATCH v9 20/23] clk: imx8mp: rename ccm_base to base Dario Binacchi
2025-01-18 12:40 ` [PATCH v9 21/23] clk: imx8mp: support spread spectrum clock generation Dario Binacchi
2025-01-18 12:40 ` [PATCH v9 22/23] clk: imx: add support for i.MX8MM anatop clock driver Dario Binacchi
2025-01-18 12:40 ` [PATCH v9 23/23] clk: imx8mm: support spread spectrum clock generation Dario Binacchi
2025-01-24 13:46 ` [PATCH v9 00/23] Support spread spectrum clocking for i.MX8M PLLs Krzysztof Kozlowski
2025-01-24 23:47   ` Peng Fan
2025-01-25 13:11     ` Dario Binacchi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox