From patchwork Thu Sep 3 15:32:12 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4833 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 010913F0E6 for ; Thu, 3 Sep 2026 17:38:53 +0200 (CEST) Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-496bbcf7d1esf115225e9.0 for ; Thu, 03 Sep 2026 08:38:53 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1788449933; cv=pass; d=google.com; s=arc-20260327; b=UIWnDa7HsYlf6HjsmG0S2sCTwPWfSJ5m97Lpyg2fjy0vkyINb+bab35z/x9FdQMGkP 1tFY/Y6twV15jTajF6j78/+e1JXGI5HJMaf4smJm1wtzngXdJRupxuEM4purHch0GnP+ 4NqQnDLNEtqNPNT09vQ5AU9I1VOK6C8qZ2VBuur6efYOgQ/LeKD6MJAJCqD/JUV3/ZGa dFTXRmZnqgONL6KmvlXpjPH75adoVfQsjzXtIFhW6CBqnmYz6F0Q1BWjQnHF0r3ZG1At Mijok1ao8HZwZR7EVP0dALUfBe914C8fm0FMcl5eOyXzrCFsmUQcFeQoPbxxU3x8gqBp SclQ== 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=sIbTtaSGMMYFFkrcqLIpQY/N6KZjIWj6N3L59bMMpwM=; fh=tdNYePHEqsXFWFQTXjiYD28Ed6vVs8S+67Yobz0w3x0=; b=Vx51NGVokHZpQ8iYlZp+sC2xYLvdY9y9HbkGGA1b/hpK03LNa8xFCFfv0jUJl5VHER P6eUVO+f/CXbRWKeHcrSfCxWVBJQQAdYqwuiqPIVr6JgNrrgJDZdFVi9mmUll/EUjZqX UopCNkgfulBtrBUbq1R06eUsrwLt1ZFcIiCkBK1Cbza0TO6pXuR1yylelU4KqpRdAk9o shulMYRYGz1K1ajCLSWehbcDyDVc/qiTdyTfScCs0GfwPhaPbirilPR18NiTKSPE4mRW fPcLiIkkW7Gy8Al7ctKqFWn3805nUCRkLV+01BaqxruTwuPivRR0JvX83n3FhVf2rYOS Mpbg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=f3TueGk5; 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=1788449933; x=1789054733; 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=sIbTtaSGMMYFFkrcqLIpQY/N6KZjIWj6N3L59bMMpwM=; b=Pdk8hfrtkfEWX+3JWP8uEwMpb7+xDbtYo6OGsfi6N1ftuF3dfptPUlNQjscOA9yir4 lGjiKQrSnfYH9nOKlAR2qRqaL87xbSmiSDCCqx5VpuQ7qCKPJEQakxUoeEV/CBGGjdQB C4/CcCoAul/QQRSin/wBu2aiWlU7zOwX7uAnY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788449933; x=1789054733; 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=sIbTtaSGMMYFFkrcqLIpQY/N6KZjIWj6N3L59bMMpwM=; b=KAQ1xoFsvrRkCjxR//3LWDkMgCAIAmJcoOW3L3UOXO61uEMVpY/RU1ckasrysLdW0g NnuGw6LmZ3mL9jEhXMmz7jR2lbPtdjdpgpjQIc3qiVNrQKzjIHhFELjwSIpBmo0k2OPH rhL+w4qeNq01BXKAVYntDHtmBUp3ZWu6cchlnILEximVdWERB5n3kXoihRm/zAMrsYYf m9pKiDmNCLmZYhgpsCWGqGVMjhODZFQswfIDq9jDT6+5rH711CSIaZ4UC4CzLK0czy+x kXT5FwBQaPFE1CSE00A8yWkmR+34iNobdBsrKrbmfXa2PDRGYAVeO1p0wJvo6W4NBB1s qSuw== X-Forwarded-Encrypted: i=2; AKwUvBy6jLGxxL/RDstRNC3Qux73QEnH4aHzIzM+eBFN346v+K8b9HvGKYE203z7T7MZ0btHAs0K9OZSvLxwOwhk@patchwork.amarulasolutions.com X-Gm-Message-State: AFuF++mms4Qb482DVHmy4HTCcyY7+OOcbqhVyuBMm+oO+Rz8KnPLs5dx /bBuA44694OyJsX1znrf1hP174Vc9cLO5/nJ+EeNleCiQG3uEweW/p3vlFia5knD/2WdOQ== X-Received: by 2002:a05:600c:34c5:b0:499:cd34:100d with SMTP id 5b1f17b1804b1-49cf5b7935cmr20165595e9.7.1788449933246; Thu, 03 Sep 2026 08:38:53 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="ATskLdeH8pj+gSOiELe/Sr61CTXNH8vSpltDUdXKbvnldhyb5A==" Received: by 2002:a05:600c:4746:b0:495:5919:e704 with SMTP id 5b1f17b1804b1-49cf687a7e2ls125735e9.0.-pod-prod-07-eu; Thu, 03 Sep 2026 08:38:51 -0700 (PDT) X-Forwarded-Encrypted: i=2; AKwUvByGcYJf5MZQHIIM3I43c2m5HSfQ+Rc0F0v0Kad3ddGx292RBxEsvkjkCrX1Lw+5zhFr6VQveJrgrePMc9SP@amarulasolutions.com X-Received: by 2002:a05:600c:530d:b0:49b:9202:6f80 with SMTP id 5b1f17b1804b1-49cf5b6cabfmr21036205e9.6.1788449931539; Thu, 03 Sep 2026 08:38:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1788449931; cv=none; d=google.com; s=arc-20260327; b=XCQS+j98J9SJhcaSHNt4vNlbMuz2H3t+RuZmzJmY6wfX93uVTqUN+pIgbkBqjneyWl AAQn3rgZ/rowM3RbiAA09/gbyqgBUDn3R7rxK6tsWOG0ynYMMXAwQnVsuTM3QOTg5JgU Zo8bF1FM7lGxwapXffSIvCf2rAHP2sQbAqRWLXSXaa7VIWP9JQVnSC4Q/4+V753Za8tu Hyy17Qv8v8c4LYLh3MJYZc5zP5/EQOSYHpVKhG68D4ZzFsyfNUuzaG4EXDggRh2okyEq h7KMvGOob6LNKkydkRGvFT5Wxzjv72ghztcZ2Y1v5uNM4Wz81Vv8kPHRr8YptGLJ2sPT vCLQ== 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=cfbXs+O7gl4kgXTDO65gSIX2ToO03QaBPpDK6T1ajt8=; fh=CF+2gmY/mC3HwRGU+zzqRQClAvrcLYRStN7sqvHtB2Q=; b=KQynCJasdKi87ae1RINhmL67n16KEz3UDQ5/87d50GOBkD+03ocmtKy0USumgd0EDJ MJOsYMFSaO6IFGjF4hBIPAfV/7ezF79hvTLAwArwJk2P88wC5GZ9aKJl7YcwPwxz0gjj uZC8lJWRlvAYHcJ+IkC49YXoGuRgzOEsg3rN090K3+pgYrNcgWXUMTA2ZUP2VwVXc7jh 47+BhvWjvOJ9JDd7m6tn6nB8qY9WC1fEdfCcV2gd+2nSrT5lIEKmS2HunYdHwPjGcwwk +xM2gYQGI9Ls2HUxweRSthD+g/pEMD2ykcKciq7VoHsld5IbJ2x7WkRGD1TuE2iranCm RGmg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=f3TueGk5; 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 ffacd0b85a97d-48468ed2b40sor745195f8f.8.2026.09.03.08.38.51 for (Google Transport Security); Thu, 03 Sep 2026 08:38:51 -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-Forwarded-Encrypted: i=1; AKwUvBzULoCTTe1mPPDvxtsrhn4i9X3QW5nUf1QVxyqKXJ74g79qUzjNcB44r11MGQbFulMiIK9Jvg5K63NP/9TR@amarulasolutions.com X-Gm-Gg: AYBFou1Cw+BktaWRDwm2UshRQslmM6Qmsp87jHbIl5rnUFk3ufWHynYtj3qJCGg0YIV U7nIV2v4neHDXvQs1d6FvK4bja7bN40G9C/wTDtgtpyRP61+9h+Ful8ed4/d48+dr99fdCotxbW a9nrrqi7/IMlyJo+3O3CNrFO8VzS6B+qbjMMf7UZ6Vyk4OwZCOZ5KKZ26baureyPEjr14A0p4GM YpFTmLn17HYATJmezrX3YxtZkxLO9pPuSJbp5M4aI7ytF53gN4RK/fBgfiBIh0WL+hUZ32xOBXp BCE7mTXsGDebjsxG7hkpf12JVTNhd+0kxcNZQKw4+MyMV/8u5rstcOaMPkdqfT95fnwvhhDpyJn 1GTikqbNQHY5+j6FuI0K/V9aRgNb6T5SJkCFzdLFGCNA7OZO4bnEAJc2A9nKPzWHah0vrper0NQ zyy92giW/cPWIJO/zu6HG8R7iWekAZkiF2As/qyQqxtu4f5kJt+X9uN1Wvjet/cie6OYcmJRb2j /joFniUGOf0QPKmFctScG+NDLJBWd44gONZocuyh926qX4Xkc7CEGmaRVViNxxpwyCQYY2X/81b YskX4yI0JnEDpXU15/Pwt+lgbMBDT8z6zB55o068EtOdrdpyUO8KkE4= X-Received: by 2002:adf:f643:0:b0:482:e1b0:8a1a with SMTP id ffacd0b85a97d-485860bfd21mr1751594f8f.15.1788449931024; Thu, 03 Sep 2026 08:38:51 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.amarulasolutions.com (host-95-245-93-90.retail.telecomitalia.it. [95.245.93.90]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48448e72df2sm15366301f8f.1.2026.09.03.08.38.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Sep 2026 08:38:49 -0700 (PDT) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: michael@amarulasolutions.com, 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 v13 0/4] Support spread spectrum clocking for i.MX8M PLLs Date: Thu, 3 Sep 2026 17:32:12 +0200 Message-ID: <20260903153836.373267-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=f3TueGk5; 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. While at it, it validates the spread spectrum configuration in the clk core before it reaches the providers, and fixes the i.MX SCMI OEM extension, which converted the spread to the wrong unit. Changes in v13: - Add patch "clk: scmi: reject SSC configuration out of the OEM field range". - Rename patch "clk: scmi: fix SSC permyriad conversion" to "clk: scmi: fix SSC spread conversion". 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 (4): clk: scmi: fix SSC spread conversion clk: scmi: reject SSC configuration out of the OEM field range clk: validate spread spectrum configuration clk: imx: pll14xx: support spread spectrum clock generation drivers/clk/clk-scmi-oem.c | 17 ++++- drivers/clk/clk.c | 14 ++++ drivers/clk/clk_test.c | 12 ++-- drivers/clk/imx/clk-pll14xx.c | 99 ++++++++++++++++++++++++++ drivers/clk/kunit_clk_assigned_rates.h | 4 +- 5 files changed, 136 insertions(+), 10 deletions(-) --- base-commit: 940de590b839f71d6dc846160534bf202401b8b7 branch: imx-pll14xx-spread-spectrum