From patchwork Sat Dec 31 10:47:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 2590 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 68D5B3F18E for ; Sat, 31 Dec 2022 11:48:06 +0100 (CET) Received: by mail-ej1-f70.google.com with SMTP id hr34-20020a1709073fa200b0083a60c1d7absf15262610ejc.13 for ; Sat, 31 Dec 2022 02:48:06 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1672483686; cv=pass; d=google.com; s=arc-20160816; b=Cd1/v2TvQJPBsLax2OFpjMN6gaibvKM5Ljs3hMUb0IiZPh/UjjkNJN6fK0hTQTsFC+ Y5clc2Oo8IDkA2/XRbuQxt/lGh2L5Rte6jr5OqXyuu7QP0jFGVFS13LWnRMDFC1PY8Zo 5p7H408Oo3ZY3G8Hyxkjm16Wan+UfeBmGsWI8TNmf04vACb+Ch3U5cRfFKVWQ6Im3amB 1yNFmw2dHL9SKzmJMYBzvdcADbuJzFbKpYQx54VsIn+ncdmbq42G7wOuyANe+4opODt+ fGFubwCo8VDu0V/qXmXD/218POP7lKcsRcx5CWqsy6TmFy4RWRA13LnVZqU6W8L+Iupo 7Jhw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; 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=e4IDutxvpScdcQoFleYePXaJzA2/sjcjlVKvpR4zMHg=; b=IzfXLCFb1Fpt4Sw7wwPalrp3WC8Du0jCUU91x7xP1VyVmAcODdJFeLHMoA/qGN38tO Jkw3BImI18dayS7aiP+QmIm3D7016k1qTTwC2uF2TUmvz5aCoy73WYGU3nZq72eXmGbU zdPwz1SwPEErDuS32+XbDnRdVYutQdveJopBBFr8MfyBKYjO43+ITm+bdbl47UkJLCGR 4QY/9Rd4vDIENCIscB5jDYuIupnY4LsN4/QrviCcrYuyKLzcmH/0Iu9MlB7DYzYHvnYm VCQSKOx7smnXtQZnQfeNQhqseMKISzztqEEyWmXmrh25DiCu1Shb6eZFnU1wFcVaPScy yaXQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=d5Oo3F4x; 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; 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=e4IDutxvpScdcQoFleYePXaJzA2/sjcjlVKvpR4zMHg=; b=U0nMWVizlF/jrzC7N4NxIT84FuC1wdXAvTv4TmPPwPDYq8cmPlwav+w2RwgQRWfUcl Nv/GUufjfPO+rQHKaslXPfVpoI4K3c1RXvNLcQgLArej24fdW8I4lr34c1Pumt0THP7j 2kWcvBX+24py/0DKG7fElWordmH9EuAOD6sQk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=e4IDutxvpScdcQoFleYePXaJzA2/sjcjlVKvpR4zMHg=; b=neO49uD3GS0xGVqcEbdEId/hPkFDOoTsqqffv62XFGO6VTN7Tq8JtggjOPV30SlPma 8PTN7u0fJ4wqVBw/aFXhyyrcgKlfBr1WToHJ3cQDXjnc8WjeOjJcwG0hEI25qnNq/NDY Uede+3kb4hWH3d2puYo2l69Ec7WFBkiVjJiy51q2o/Szt/96w8iqZOmWtOK08vEd1FyL H66gt0JRlFqG4pUuHRB4kmr5zOJEufa6PoAKtbjsoPZucmXrVB+CS8K+msfWh8W1NnC+ kxjBAYA8EHynpFmZHsotuziq8FN9s4aGWv+ikb69Bbvv+UF3t4zwJlAoZdleu6TiqX/1 CQDw== X-Gm-Message-State: AFqh2kq02ajEwi2jbVOQAUnxNoKHr/LlCfASOt81WvUofiiziLvwc8ZC uW5qlNcB13myQu3TYajZOI+wxVRr X-Google-Smtp-Source: AMrXdXtyUC8594gbefrSUt79muqYNA7MxYoqmZST8gM4JFufLCA58YK1yiYL2QxvYGPTflbE2K2uiA== X-Received: by 2002:a17:907:a803:b0:7c1:702a:ebbc with SMTP id vo3-20020a170907a80300b007c1702aebbcmr3569516ejc.288.1672483686104; Sat, 31 Dec 2022 02:48:06 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a17:906:b744:b0:7ba:e42f:6f2e with SMTP id fx4-20020a170906b74400b007bae42f6f2els944651ejb.6.-pod-prod-gmail; Sat, 31 Dec 2022 02:48:05 -0800 (PST) X-Received: by 2002:a17:907:d50e:b0:7b1:316c:38f5 with SMTP id wb14-20020a170907d50e00b007b1316c38f5mr31273549ejc.30.1672483684933; Sat, 31 Dec 2022 02:48:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672483684; cv=none; d=google.com; s=arc-20160816; b=BiBmynEK0B73fK1Q7KM7CMkWW+jHnM1KyqK+wwY3dq6baCO3fqTLyY8o7XlBcjKLz/ 1tE2/Ygn+Z0AOUsPA5Tw+3kIt/zH/ADgTxwkT9oE37KbOmZ3yxgJ5till0Orm0iUE35m VdLuBqJACETqCMB9vFmCZuy8XtfroAMEk/TLQk4OGJqo8Xr8SaSEe8CtJp3/1JSBr6Gz GK8rejOHvQMVLl5BPqgLy771zeyQkqc/eDr6+WV9fKUrXKuWXswuweJ+4pRiW6RbfTfF Q6XCwSqlIU6a73tRrTrz49bB38iMTVEeffKqFw3oVs+ro241uLkVfh0CNrnksBFlp/iq IC/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=UYCjumJKIVpNgaprHBc6yiaBNx3uDiRwwnz6NjNAOKQ=; b=wWUoNh3r5LVkw0kX7kVIkFssNc0tTkmcRy6MZn0xlHkGOnIulrQj/BlLBE/ml5zE9R JDmiBlqsNWIOfrc0cItW0LAbL6p/nILRu4dDgia2zsSbTa0C2Hv7fb77yJVRBQdagF3G YmiNN/ezw5ALWYnPaYfnWFnXFxUOdld/S2KCqnN4MZSAP30Fi1DPg56VMjaIIQyps3Mc g4z19oDnW6jdSB5m6i2XUxUgXAFtGob6pggoPltI7zjbATAEh8yYtTVrqxATPL6lGEzq 6ovpiO5V2S3SuqlR8G/XWXVtznSjhRGwLjmug3hjqMiZaaXjmXbvgL2CiXLaopmn4k5b 6Z+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=d5Oo3F4x; 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 Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id rq5-20020a17090788c500b007c4e4526d46sor10820135ejc.83.2022.12.31.02.48.04 for (Google Transport Security); Sat, 31 Dec 2022 02:48:04 -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-Received: by 2002:a17:907:6f19:b0:818:3ef8:f2fc with SMTP id sy25-20020a1709076f1900b008183ef8f2fcmr28135996ejc.5.1672483684723; Sat, 31 Dec 2022 02:48:04 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-80-180-23-57.retail.telecomitalia.it. [80.180.23.57]) by smtp.gmail.com with ESMTPSA id z4-20020a17090655c400b0083ffb81f01esm10765438ejp.136.2022.12.31.02.48.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 Dec 2022 02:48:04 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: tommaso.merciai@amarulasolutions.com, linux-amarula@amarulasolutions.com, Chen-Yu Tsai , jagan@amarulasolutions.com, angelo@amarulasolutions.com, anthony@amarulasolutions.com, michael@amarulasolutions.com, Dario Binacchi , Abel Vesa , Fabio Estevam , Michael Turquette , NXP Linux Team , Pengutronix Kernel Team , Sascha Hauer , Shawn Guo , Stephen Boyd , linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org Subject: [RFC PATCH 09/11] clk: imx: cpu: add device tree support Date: Sat, 31 Dec 2022 11:47:34 +0100 Message-Id: <20221231104736.12635-10-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20221231104736.12635-1-dario.binacchi@amarulasolutions.com> References: <20221231104736.12635-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=d5Oo3F4x; 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 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 patch, backwards compatible, extends the driver to initialize the clock directly from the device tree. Signed-off-by: Dario Binacchi --- drivers/clk/imx/clk-cpu.c | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/drivers/clk/imx/clk-cpu.c b/drivers/clk/imx/clk-cpu.c index cb6ca4cf0535..28fb75c6ecea 100644 --- a/drivers/clk/imx/clk-cpu.c +++ b/drivers/clk/imx/clk-cpu.c @@ -106,3 +106,57 @@ struct clk_hw *imx_clk_hw_cpu(const char *name, const char *parent_name, return hw; } EXPORT_SYMBOL_GPL(imx_clk_hw_cpu); + +/** + * of_imx_cpu_clk_setup - Setup function for imx low power gate + * clock + * @node: device node for the clock + */ +static void __init of_imx_cpu_clk_setup(struct device_node *node) +{ + struct clk_hw *hw; + struct clk *parent_clk, *div, *mux, *pll, *step; + const char *name = node->name, *parent_name; + + parent_clk = of_clk_get_by_name(node, "fck"); + if (IS_ERR(parent_clk)) { + pr_err("failed to get parent clock for %pOFn\n", node); + return; + } + + div = of_clk_get_by_name(node, "div-clk"); + if (IS_ERR(div)) { + pr_err("failed to get div clock for %pOFn\n", node); + return; + } + + mux = of_clk_get_by_name(node, "mux-clk"); + if (IS_ERR(div)) { + pr_err("failed to get mux clock for %pOFn\n", node); + return; + } + + pll = of_clk_get_by_name(node, "pll-clk"); + if (IS_ERR(div)) { + pr_err("failed to get pll clock for %pOFn\n", node); + return; + } + + step = of_clk_get_by_name(node, "step-clk"); + if (IS_ERR(div)) { + pr_err("failed to get step clock for %pOFn\n", node); + return; + } + + parent_name = __clk_get_name(parent_clk); + of_property_read_string(node, "clock-output-names", &name); + + hw = imx_clk_hw_cpu(name, parent_name, div, mux, pll, step); + if (!IS_ERR(hw)) + of_clk_add_hw_provider(node, of_clk_hw_simple_get, hw); + + pr_debug("name: %s, parent: %s, div: %s, mux: %s, pll: %s, step: %s\n", + name, parent_name, __clk_get_name(div), __clk_get_name(mux), + __clk_get_name(pll), __clk_get_name(step)); +} +CLK_OF_DECLARE(fsl_cpu_clk, "fsl,cpu-clock", of_imx_cpu_clk_setup);