From patchwork Wed Sep 2 10:07:32 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4829 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 7938E40D07 for ; Wed, 2 Sep 2026 12:15:33 +0200 (CEST) Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-4843d9ab895sf820169f8f.0 for ; Wed, 02 Sep 2026 03:15:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1788344133; cv=pass; d=google.com; s=arc-20260327; b=KdbN11+f2vK7aFZlyh4qdT8nIFjPflkx7Lc1ZT6V6WHeloLD5Q2QEz/C79dS8w7C+6 nm7z2kV3/oh/ICW7S4v9xyt4dJESbZC/gBsTE6WFQvyDz2o9zkLDOvtDqatFmMhW1nt6 LiJR7x00+RtIaHeGQzO9pfvEh5lmJ3t4HUpTRGefeICrv6ophiZPcK+SEURgM/LFsOBx oz1nxpJsFpzNo+YnLgW3X+g8dKLU9ueEGxt/EvZKEo+Emr7DauaFV3gTrGHAOizC/IlL ldz4An9X3P3/+Heiw2knAb7cGsv5h74OzwrUrkSRCcIrLlUt4cHV6teNuT5TOS/fJMxP 0FYg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:message-id:date:subject:cc:to :from:dkim-signature; bh=6RrUM2uZ+0seLiYFKCqdPl0jppXOpfnIbu7GhWAiG9E=; fh=57LoRyZqULvcZB8TwLgHQURvx1mzWPWQ80lk+EMqse0=; b=n5Pu95p4d43dvp+qJrTHnM54G7fZ8GnOOS5KXMD/u4DWcsP3ssL06LY9r5IX4WtD28 nj6GllVaSnuyeDngU8ifUAalcthbSxfmWluZHJXMZcxK70EaO+j4SBXqSZSvF1UASybz gDxJ0IR8Fm3EBrkko90N/0vBDFVZ20R2yhws9VnHiX+4wAc56xoYJxjKqu1lo58RcYxx /09FM6Dsn5y8bStj8ahSBmmbwKcNrnlUBMJa4K+gLu0AKRgUGxJAMqmPSweEG7K0A5MB Lnx0+Ch8iXhEGikh3R2B56E50dLHsP82Rlb9CR35WEyaVs+Dnda/TDqpj1PHWXfF4o3L eo/w==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=PtxZnLND; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1788344133; x=1788948933; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:content-type :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=6RrUM2uZ+0seLiYFKCqdPl0jppXOpfnIbu7GhWAiG9E=; b=Gfh5zUGWIcvNTvKLc/oWNtMIVHSWQxDO5oCFvpSGfgk5P+asR3E7MthwOTtM68HF3r 5VZ0i6/cWKkOrvjhJS8JVugCoWujifQhTQv39P6NmyvM9KXrulzVteQVvVLmMW4wXYRR pf3zgZSSB0cTL0muq4GYcGX8uAuLdc6B22ZP0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788344133; x=1788948933; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :content-type:x-original-authentication-results:x-original-sender :mime-version:message-id:date:subject:cc:to:from:x-gm-gg:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=6RrUM2uZ+0seLiYFKCqdPl0jppXOpfnIbu7GhWAiG9E=; b=rD13RkzJLRNYDvEsunb9LQVFHedVXqamRBQhWCR1bZChZQP60Abk/gRuJwuSbiAEtO qMuEcVBc2w3/LDu6p0razt/MpQgK95AA2x1574o3L6C3291d58vh58fxNH75RrI43OLc cU4iGZIkGhgkL6UoiurZtLFTEX5MwJ7dtqzcAgT9bMLrivj1W7ZDabOTY6mmigrpAYYu BasX+y5IzbIfLbk02SXaf5nwactL61mqW9DEoTTU49NvoXDn5HO2TnEtinw9Msz+teE5 JXnUblAA5Tqb+BBtLdYRFkvgy954GlZ7v2S/ZTX1wvpGn7K97Y3UUn1tFBnl6K6u40EA EK5Q== X-Forwarded-Encrypted: i=2; AHgh+Rps677GSx7CKfz3TYmTwVDK8VJNO+ackA7gFZ7N2SVoBR0EO5JPNsa/T4TuddCg3jQWIkkWJdJbVzz5P1LA@patchwork.amarulasolutions.com X-Gm-Message-State: AFuF++mdLZZjuPgoqYAmtGvd+/KnthyRh/6+LoTOL4YTy7zhg+Lf1C8w 0TrfPgahuhr5Bt+e4XksJxnBjH/RrPgT9fzeRrQSBIyR+ERcN16G3uOQr12f1q4fjwKgTzmd5mR AeA== X-Received: by 2002:a05:600c:3b1b:b0:499:db27:7b1 with SMTP id 5b1f17b1804b1-49ce5823d39mr60543505e9.15.1788344132816; Wed, 02 Sep 2026 03:15:32 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="ATskLddVljEk8r2PP6Tj6HoiTKyCaaUjOP063HDEyTGamwkUZQ==" Received: by 2002:a05:600c:3b9c:b0:495:5919:e704 with SMTP id 5b1f17b1804b1-49b1cd8e90cls69296945e9.0.-pod-prod-07-eu; Wed, 02 Sep 2026 03:15:31 -0700 (PDT) X-Received: by 2002:a05:600c:3494:b0:49b:9202:6f80 with SMTP id 5b1f17b1804b1-49ce57ee273mr70025275e9.6.1788344130730; Wed, 02 Sep 2026 03:15:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1788344130; cv=none; d=google.com; s=arc-20260327; b=ZXH29yLIpf7cb0vWtbwUF2n1SSrSzt7GPy0nCg7JyOovihDG+C4uMeOEBJZIL3wf2B 1BTBf6WqyoLPIglp9v0TG5UW6wJa8/Jfo8nDoz5o3G0xM+/IFd/hzV+8MxwXwtxPT5y7 4KGpgFJ/3uyDkSnW4M64riBxpgapzO8isWpz3AYmodXMA6WdjjCJ+0Q6q8x4XtkaAfaJ RAgx/yH8FA2pLUYz15db8t7r+WOnlrzDB4JfRai47CSz2WTOe+xxk32MfGdWAVL3kdC/ 0KCljOtIxahEV2gcXoGKWEP+9XZarsXlgWoOtUY3FIoTyvB4qrH91AHZ78wGxbAL+vE3 gj3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=pJqwdWZe9Hp0I5xyr2vQgi9tkUCIeJggyV1DIcC1SHo=; fh=ao5yhJh3NvWigvhjgev9McTJuy+hoYta3jqz+0pxpkc=; b=ZJkutlaqy7qR7HgHJ5e98Ssx8dlP6s/bo1TTm/FHBVdetB9nReasGrfRkv0q78Sk8R 6kRLoht2AnzCgoTJ9BXdV6dykRT/Bu/nncio3MYM/c0wn+euiS43X006RZpaH9QjAGQY JQcjwZc9jfERPseA00bT+TlDtXSBs7c1TqRPGUOn0sF5l6aEbLbhCndGImMjY240XZod Kw5pAUWrENa7jKejQhnJz0+8PVy3pDTxzn7U7puG6wUP9UZtUPLMjj56r2bOIGfME+E+ rYOx47l3P0plQJELxf9nlEIWGdWVv+L9Xww/fbF64GWS5djNk/kOFowBalnm22ccRpyu s/EQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=PtxZnLND; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id 5b1f17b1804b1-49ce47b250asor3858595e9.14.2026.09.02.03.15.30 for (Google Transport Security); Wed, 02 Sep 2026 03:15:30 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Gm-Gg: AR+sD10vc8IsPss2bbVZsKYwQCaC24FRzUZjCDiSKj3D3yTHZLXMKIvrOEXk76rUOjj vDONRRGucZGcogmtX7YmysoA09GWJ0I9sWHaQ7PrBcrXtt5hA2O1LY1Z31pyRej3cUFIxDXKUp1 FP/eBlziQwVauJoeKDOwJ4EDXJFJtfkeFl6eeGafE1AIKX2y+88G5FahgpvpMg48E5AkIX/XgBl xP9sPiganMTHdAzOOXUMahYlMGhwuAbjlTUrQLkAixyvYGdhlKn8SWn4xzBzIj2SylounOKPaaB pATp5tf8Iu0S59XjfDgcl4xcZL2lHPPNSJJPyMyuUgbfTWN1p/I1WT5RZfxF/+/UrqZBON5h9R/ XdK5toh+6BysJxNrixJQg9Y4G2TrCSJyTZdKCB0T3bRSc59iACpDndg0u67wNVIzqB8j2rt77JA Yeggy/mVzZGRsb6bRL3BY4VRubr+ZA+rApu99EKQaDXlvjBPGy9szvfuRz4xKfnPBa4hHxXKaIm 5usbhTxn/4vc7IkNN9AbStpdj6r9I73theiGSU2lO+mKCc6IRUfC2zW7WO6EnH3axnkWFZjkeej 7vFIr6BvQElD5Sonpo+XnTL/Y0OTq4UShXy7RRqIIUvnquq2zSG5D6mNSrHG X-Received: by 2002:a05:600c:6208:b0:49c:df2b:15fc with SMTP id 5b1f17b1804b1-49ce57f7113mr70770465e9.8.1788344129574; Wed, 02 Sep 2026 03:15:29 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-87-9-102-148.retail.telecomitalia.it. [87.9.102.148]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cdd73f7a4sm139618475e9.12.2026.09.02.03.15.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 03:15:27 -0700 (PDT) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Abel Vesa , Brian Masney , Cristian Marussi , Fabio Estevam , Frank Li , Jerome Brunet , Peng Fan , Pengutronix Kernel Team , Sascha Hauer , Sebin Francis , Stephen Boyd , imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org Subject: [PATCH v12 0/3] Support spread spectrum clocking for i.MX8M PLLs Date: Wed, 2 Sep 2026 12:07:32 +0200 Message-ID: <20260902101515.167819-1-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=PtxZnLND; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , 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 v12: - Add patch "clk: scmi: fix SSC permyriad conversion" to fix the permyriad to percent conversion in clk-scmi-oem.c, reported by Sashiko AI review. - Fix issues claimed by Sashiko for patch "clk: imx: pll14xx: support spread spectrum clock". See the details in the patch changelog. Changes in v11: - Add patch "clk: validate spread spectrum configuration" to reject invalid parameters in the clk core before they reach the providers. - Fix issues claimed by Sashiko for patch "clk: imx: pll14xx: support spread spectrum clock". See the details in the patch changelog. Changes in v10: - Drop patches 1-22, superseded by the generic spread spectrum clocking support from Peng Fan, merged in 7.3, so the i.MX8M specific infrastructure is no longer needed. This patch is now based on the following commits: - ae794aa6e88d ("dt-bindings: clock: Add spread spectrum definition") - c86814e70390 ("clk: Introduce clk_hw_set_spread_spectrum") - a7f16660af39 ("clk: conf: Support assigned-clock-sscs") - 7d98de6ffdab ("clk: Add KUnit tests for assigned-clock-sscs") https://lore.kernel.org/all/20260826165611.236321-1-sboyd@kernel.org/ 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 (3): clk: scmi: fix SSC permyriad conversion clk: validate spread spectrum configuration clk: imx: pll14xx: support spread spectrum clock generation drivers/clk/clk-scmi-oem.c | 2 +- drivers/clk/clk.c | 14 +++++ drivers/clk/imx/clk-pll14xx.c | 99 +++++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+), 1 deletion(-) --- base-commit: 89a312991dc6e638a36adc43ccb91dbc25504c04 branch: imx-pll14xx-spread-spectrum