From patchwork Sat Jan 18 12:40:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 3825 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 49CD43F360 for ; Sat, 18 Jan 2025 13:41:24 +0100 (CET) Received: by mail-ed1-f72.google.com with SMTP id 4fb4d7f45d1cf-5d821f9730asf4834827a12.1 for ; Sat, 18 Jan 2025 04:41:24 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1737204084; cv=pass; d=google.com; s=arc-20240605; b=hY/HxS/XMgfEA4TGL2ejNP8ySB4xpg2oRGA5LZ1qdg2YK9rPMgrXPAUjYeiDpPWoDD r/2VnFJWx5wh64z01kqCEImp9HzAczcZ+/1fAtFbKmbPde0vp7b+mvZPLSiy9eLZiRkp a9DJ6zQrC6rQt7SHSyquRjbtbmnpqgqdw9l97lzvqsdbB6HsCG6Ed5mc/y1+igeZv+kO yWwXOxqSvMQF18k58MJTnWTfdktD2+Vqsxc0Gh6xrF9iRP95vGm5XLkHcD9Yl/X6LyT3 VT58/4h1pt2VGfPId2+dVXu7OsfwuGHYW+RkKotniEQzWhZaATdfZsNBxpLHo2aaa+xm AmXg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=YFKTMA8tklTD1XSqJ8oFLzXIzQEScj6YyE2nl//yMqQ=; fh=IS5cEwNsiFr4lcwvD0HG18smKTN5aqBerx8QKNphQEA=; b=bhj1uSgaeZxcmvw392UNCvy4ju0twAKLaxR5VEKjPNGeqxTgqM3QfKrufCkWTWWJNS h+EFw6KqTHNGwZozdGO4b1HTZSZA1hycmnC9L3qMcK5Gnc+X+xtI4JQj3tutWKIx/LJJ BceGOx8uzHvL8iv1NDNAft1wpVyoNNObddLJmrDL7q5srmj2DCGyCIZXEF6yn1wVrJzo BqEqShuBEpetp0Zhwrz/50cmOWYkWm4Qzb6bLNx41zDoCh2NHFHT3PzEI4bZ2eFUs2jE 2x0geQKD6kJ/4vQqo2sXjcmZQGmp18Z0JU2cWCuZKzHF6g1B3fhA2XNq4ATRs+QQ2HQA +YlQ==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=khZPPzGP; 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=pass header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1737204084; x=1737808884; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=YFKTMA8tklTD1XSqJ8oFLzXIzQEScj6YyE2nl//yMqQ=; b=r7Gq11f9lTZy/EC9PorBWd3zY5BnW305Rn8pO9Px4vAnkXyxp/BGS45BfXN7jqpgkD 6EMki+8NU7+awoxBmp+aMgHKkzS0fYuW4AzmZOxyDbrnL47xyD6QDZf/nw8sc6ePd06k +J5VekfD0WERR/dkg9DMmn0T/FQzJgOL8lJPk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737204084; x=1737808884; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=YFKTMA8tklTD1XSqJ8oFLzXIzQEScj6YyE2nl//yMqQ=; b=T+7WZHWuOSi3nMhHnRnIBanAc4ElDclpR1H/SgaJj8SvL/n+4owQMPKRTuFpVjPaQi JZdzyIorhEhWYC2fpTIy1gj4TKQ9bk2SrntbWVxYvjYu1nknDVSNb1W+H/Zq3pkxsaS8 cfcsTvLR2ASjhCSzeSYntMVd7PCyLF9ma0ZAQNmRikujP9rIjJLkDEp5SaVmRGXkXwb8 yvYMnrzeeK4IKY7fGTZeOTbLW8/sVkG3UxXog939YeUSKQTtxFhYGJmVbPNs3fG0W+TH 5qWElrgFh/cYaoxO8WSusPm4S3OFHK0RMNsEWtb83vxUEjVbVTNYiKAAsf/o2tMhoOxC lcOQ== X-Forwarded-Encrypted: i=2; AJvYcCW7JQ8iZqV2NkI4lSS0sFBMAdx1t83dd+xDVAwOi8y9sDL+tfdehZdxi1ekOvhDObkCDG0Y2oabxtvqR/Sk@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Yw1Loe990LusGVH8VX4FQMU9gHlmgwU+KAHzwFDWX+WEhzfQr+S Y6SPhRvh5Vw/t2qGLDgdxxWNAGs8HDB7w4NwfgqV172ao+yD2yD5chFi1Nf4IDCjkg== X-Google-Smtp-Source: AGHT+IFpN8CL75TjX+DP4kPm0kgNNVysRq3+vOmtQYuC8kdnypd2Wl5viD7DaaWfXTcKSbvm9RIFDw== X-Received: by 2002:a05:6402:4407:b0:5d8:17da:dcf0 with SMTP id 4fb4d7f45d1cf-5db7dc4c8damr5180150a12.4.1737204083923; Sat, 18 Jan 2025 04:41:23 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a50:8e52:0:b0:5d0:acf2:b111 with SMTP id 4fb4d7f45d1cf-5db622ed247ls925647a12.1.-pod-prod-00-eu; Sat, 18 Jan 2025 04:41:22 -0800 (PST) X-Received: by 2002:a17:907:7f28:b0:aae:e52f:3d2b with SMTP id a640c23a62f3a-ab38cdc372amr645205166b.28.1737204082147; Sat, 18 Jan 2025 04:41:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1737204082; cv=none; d=google.com; s=arc-20240605; b=JwgFzZ4wseYYYXc9Cm+vNVAErshif8GsDeBN/uNffMIMLggcZOoS3ROKaC69ITZuN0 NSSiXF88z/92o/+H6LdeqR2swklFRennPvfDVpmvNZFY+TOvyDuTVelBVBCdzDqKvWjv lwwOuYBoFcjzISP247yhl+81qYMa4gd2/00bHVbJEiZjgKqKxNbsfoDfrwUQRfIgBdid fqI9U+oqp6vYCdsJVOu4H0fOr8AQONCyXW55BwuNAE4YLxwqt55w1z6dWqZXiiyLhpvl j56L5YvK5c+NFTf/rNMLpAaH4o++oytDUR7Fq80M7NWyzthN9PHaiWoAQU0QbWAXUE/D Dlow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=lJL+gbh4MVrHU+PAYDL4LrbInhBcvCC67N3SxstDEjg=; fh=qtyXckgbBbLtvZf5GbbGzM1eq+vR1FBslTS8HapIlOs=; b=H4Cu+4B20H2RB2NZknV2f/MfoanG83JWVeQhQ/Ta0KCiJBxQQS/h+UVNmUNshvJH1I c7GDWeX7TdzTCicReWXTs0zKlPHFyvZqsXh0pw4VSvaV+QI+gePrPPBTNqN7p/XcY1xJ IDVt/U0UywcAh5Xze2Tok1ubKjpugGjNT3j/kKx7WPZwPofkdzlvP5SsuGmdsgivv8O3 6A6xWSnQUjXxIN5PmHLQDBPbEeC7+eM6JdLyHgEQc5ngFnWTrMkWD+bkFP3H7B3neKCD QViXJsmT2iQ0HYXbAvv6AYpNX7GHHdMwdcSrBVI+iTmAQrzZ+AEWbYf3QAMDhRUwzU4z JzcQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=khZPPzGP; 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=pass 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 a640c23a62f3a-ab384f03dcasor175825366b.7.2025.01.18.04.41.22 for (Google Transport Security); Sat, 18 Jan 2025 04:41:22 -0800 (PST) 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: ASbGnctdby5L+JlCNOFJ5ZM87AhP968VeHhun680loqEbVKabiFIkx45G7H0jrD+r5j /0+PVJjiLlj7UmZFyPkX75CFnLIfvYkw1LK2q75rznDbIhWoydrBS618mMALrjcyajTBFmM5dcG Wsj0Vw1Tlk3oDAkoUoNvF/cToHkCOuj+ngsGjDBEZpPA2rdIXiizBnHyvYm9oGKF6LU3OMngus0 f5UiaVgHtc7rjUup2vc6nzGwMlUvsqluNT1jfq748SMw4QgDBPxlqdNcbS+GA0YAMnNgs+MJhDy SEbyLr94E2VYDgDr2FBHFRYQIslcwlWtuKIynSUK8sgYBvWOwGuKORfnOHLB+HAB9jTyWdT4fPc byt/JzO/PzXC1M3hEzeKzn5GhQcrjCTLMqZSG X-Received: by 2002:a17:907:971b:b0:aab:ef03:6d46 with SMTP id a640c23a62f3a-ab38cbabdc5mr485286466b.4.1737204081750; Sat, 18 Jan 2025 04:41:21 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-79-30-28-209.retail.telecomitalia.it. [79.30.28.209]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab384fcd73dsm332562366b.178.2025.01.18.04.41.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2025 04:41:21 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Peng Fan , Abel Vesa , Fabio Estevam , Michael Turquette , Pengutronix Kernel Team , Sascha Hauer , Shawn Guo , Stephen Boyd , imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org Subject: [PATCH v9 18/23] clk: imx8mn: support spread spectrum clock generation Date: Sat, 18 Jan 2025 13:40:01 +0100 Message-ID: <20250118124044.157308-19-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250118124044.157308-1-dario.binacchi@amarulasolutions.com> References: <20250118124044.157308-1-dario.binacchi@amarulasolutions.com> 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=khZPPzGP; 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=pass 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: , Add support for spread spectrum clock generation for the audio, video, and DRAM PLLs. Signed-off-by: Dario Binacchi Reviewed-by: Peng Fan --- Changes in v9: - Add 'Reviewed-by' tag of Peng Fan drivers/clk/imx/clk-imx8mn.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/clk/imx/clk-imx8mn.c b/drivers/clk/imx/clk-imx8mn.c index c3a3d063d58e..090b5924fa01 100644 --- a/drivers/clk/imx/clk-imx8mn.c +++ b/drivers/clk/imx/clk-imx8mn.c @@ -306,6 +306,7 @@ static int imx8mn_clocks_probe(struct platform_device *pdev) struct device *dev = &pdev->dev; struct device_node *np = dev->of_node, *anp; void __iomem *base; + struct imx_pll14xx_ssc ssc_conf; int ret; base = devm_platform_ioremap_resource(pdev, 0); @@ -344,9 +345,21 @@ static int imx8mn_clocks_probe(struct platform_device *pdev) hws[IMX8MN_SYS_PLL3_REF_SEL] = imx_anatop_get_clk_hw(anp, IMX8MN_ANATOP_SYS_PLL3_REF_SEL); hws[IMX8MN_AUDIO_PLL1] = imx_anatop_get_clk_hw(anp, IMX8MN_ANATOP_AUDIO_PLL1); + if (!imx_clk_pll14xx_ssc_parse_dt(np, "audio_pll1", &ssc_conf)) + imx_clk_pll14xx_enable_ssc(hws[IMX8MN_AUDIO_PLL1], &ssc_conf); + hws[IMX8MN_AUDIO_PLL2] = imx_anatop_get_clk_hw(anp, IMX8MN_ANATOP_AUDIO_PLL2); + if (!imx_clk_pll14xx_ssc_parse_dt(np, "audio_pll2", &ssc_conf)) + imx_clk_pll14xx_enable_ssc(hws[IMX8MN_AUDIO_PLL2], &ssc_conf); + hws[IMX8MN_VIDEO_PLL] = imx_anatop_get_clk_hw(anp, IMX8MN_ANATOP_VIDEO_PLL); + if (!imx_clk_pll14xx_ssc_parse_dt(np, "video_pll", &ssc_conf)) + imx_clk_pll14xx_enable_ssc(hws[IMX8MN_VIDEO_PLL], &ssc_conf); + hws[IMX8MN_DRAM_PLL] = imx_anatop_get_clk_hw(anp, IMX8MN_ANATOP_DRAM_PLL); + if (!imx_clk_pll14xx_ssc_parse_dt(np, "dram_pll", &ssc_conf)) + imx_clk_pll14xx_enable_ssc(hws[IMX8MN_DRAM_PLL], &ssc_conf); + hws[IMX8MN_GPU_PLL] = imx_anatop_get_clk_hw(anp, IMX8MN_ANATOP_GPU_PLL); hws[IMX8MN_M7_ALT_PLL] = imx_anatop_get_clk_hw(anp, IMX8MN_ANATOP_M7_ALT_PLL); hws[IMX8MN_ARM_PLL] = imx_anatop_get_clk_hw(anp, IMX8MN_ANATOP_ARM_PLL);