Linux clock framework development
 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
                   ` (16 more replies)
  0 siblings, 17 replies; 22+ 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] 22+ messages in thread
* Re: [PATCH v9 00/23] Support spread spectrum clocking for i.MX8M PLLs
@ 2025-02-03 16:27 Magnus Hörlin
  0 siblings, 0 replies; 22+ messages in thread
From: Magnus Hörlin @ 2025-02-03 16:27 UTC (permalink / raw)
  To: linux-clk

Hi, I would like to assist in testing these patches but have failed to
do so so far. I applied the 23 patches to my vanilla 6.12.12 kernel
that runs just fine on my custom imx8mp board but with them it doesn't
boot at all. Uart console is dead efter the standard u-boot "Starting
kernel ...". Nothing on the display, leds or usb that normally are
alive. Do I need to modify anything in the device-tree for this
patchset to work or what can be the problem here? Any help is very
much appreciated.
/Magnus

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

end of thread, other threads:[~2025-02-03 16:27 UTC | newest]

Thread overview: 22+ 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 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 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
  -- strict thread matches above, loose matches on Subject: below --
2025-02-03 16:27 Magnus Hörlin

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