From patchwork Wed Dec 25 05:16:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1215330 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZaDRAlwL"; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47jLsp4Zjkz9sP3 for ; Wed, 25 Dec 2019 16:16:30 +1100 (AEDT) Received: from phobos.denx.de (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A87CA8067D; Wed, 25 Dec 2019 06:16:25 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZaDRAlwL"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 1028181024; Wed, 25 Dec 2019 06:16:24 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qv1-xf42.google.com (mail-qv1-xf42.google.com [IPv6:2607:f8b0:4864:20::f42]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 15B1A804C1 for ; Wed, 25 Dec 2019 06:16:21 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qv1-xf42.google.com with SMTP id f16so8033810qvi.4 for ; Tue, 24 Dec 2019 21:16:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:cc:from:subject:autocrypt:message-id:date:user-agent :mime-version:content-language:content-transfer-encoding; bh=+3RJV2hj/dMUNwIKRSLQlCgW2WKBMLlTlscu2VKdsfc=; b=ZaDRAlwL+gevFBoAG+mSQ/cHL5FHlQW2VEezM1NUkJlvdG8PVtM1Kdd+6fcq1cy9Iu gQUG+7I88qvsQLVmG3AQ5w1OmvbzlUFF9jLMVt9x8u4e5DvsEDQ4AvDAjBUIfKifxROE e3RqT7MoX3bgOk9spSmYTNDQ0BxFNG/EImLr1al+stI57L6ttTARQL2ckEb7sKawrcns gXC4UuU7ilEm82KJJHC4AM4g5VsfZjgmEBxhuplfyIKgjMr7QN5RTlwfsW+qxGaa6jnI lSWDLqE8yEFvLbL90SKkIndJVHbYpV9yWfA08rv1BOuskOpwe+JMrLq/s18KGcKdUhcf xUiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:from:subject:autocrypt:message-id:date :user-agent:mime-version:content-language:content-transfer-encoding; bh=+3RJV2hj/dMUNwIKRSLQlCgW2WKBMLlTlscu2VKdsfc=; b=GBR9o/4h9FJZPxLiW84YfUloGc+E3gBpUcIYLqrj5b1DwgGDWTAdxOjYttbTAIUJAC VHy8tprLYqB0tvQ/L0OohAi08XWZKQy2lrCFZLjEUCkM7LOP4rrrSmf6ern0z8+QbcnJ 9VrgZabkslXu+axdkQzMs4WE9VdqDr5oI/kgmE54tjaFcsOPRUX+xCoBjfFrbA04l2Ia 35p8VilJAXlf0CySzxA7ISo+5SfW46C/vBkoq8cL5PJm833KJWlFF0Dcv668kfnnHKkJ dyg9o+Kr9AyhyejxihuAq1n0jMN+0DBJJ8PiIi1p7Nkk2laSFozDQRNWJrWRDzxEw34V CuRw== X-Gm-Message-State: APjAAAWdh8fu2XTs+WJGLD6ZOp6KQ+oYbihQdk/4uVf4af1R85FQy9Z3 LSXjbkd0wdvCp/r4TC7sk2E= X-Google-Smtp-Source: APXvYqwgIQAucRs1JMvJ6NSbOU6J1y7HX0G+r1sHVyywGWpZmZK9iNE63dwATiLyfNjXckqWQDIliQ== X-Received: by 2002:a05:6214:28b:: with SMTP id l11mr31603134qvv.15.1577250979905; Tue, 24 Dec 2019 21:16:19 -0800 (PST) Received: from [192.168.1.201] (pool-71-163-33-7.washdc.fios.verizon.net. [71.163.33.7]) by smtp.googlemail.com with ESMTPSA id 3sm8043884qte.59.2019.12.24.21.16.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 24 Dec 2019 21:16:19 -0800 (PST) To: U-Boot Mailing List From: Sean Anderson Subject: [PATCH 1/2] clk: Move clk-gate2 to clock driver directory Autocrypt: addr=seanga2@gmail.com; prefer-encrypt=mutual; keydata= mQENBFe74PkBCACoLC5Zq2gwrDcCkr+EPGsT14bsxrW07GiYzQhLCgwnPdEpgU95pXltbFhw 46GfyffABWxHKO2x+3L1S6ZxC5AiKbYXo7lpnTBYjamPWYouz+VJEVjUx9aaSEByBah5kX6a lKFZWNbXLAJh+dE1HFaMi3TQXXaInaREc+aO1F7fCa2zNE75ja+6ah8L4TPRFZ2HKQzve0/Y GXtoRw97qmnm3U36vKWT/m2AiLF619F4T1mHvlfjyd9hrVwjH5h/2rFyroXVXBZHGA9Aj8eN F2si35dWSZlIwXkNu9bXp0/pIu6FD0bI+BEkD5S7aH1G1iAcMFi5Qq2RNa041DfQSDDHABEB AAG0K1NlYW4gR2FsbGFnaGVyIEFuZGVyc29uIDxzZWFuZ2EyQGdtYWlsLmNvbT6JAVcEEwEK AEECGwMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4ACGQEWIQSQYR1bzo1I0gPoYCg+6I/stKEQ bgUCXT+S2AUJB2TlXwAKCRA+6I/stKEQbhNOB/9ooea0hU9Sgh7PBloU6CgaC5mlqPLB7NTp +JkB+nh3Fqhk+qLZwzEynnuDLl6ESpVHIc0Ym1lyF4gT3DsrlGT1h0Gzw7vUwd1+ZfN0CuIx Rn861U/dAUjvbtN5kMBqOI4/5ea+0r7MACcIVnKF/wMXBD8eypHsorT2sJTzwZ6DRCNP70C5 N1ahpqqNmXe0uLdP0pu55JCqhrGw2SinkRMdWyhSxT56uNwIVHGhLTqH7Q4t1N6G1EH626qa SvIJsWlNpll6Y3AYLDw2/Spw/hqieS2PQ/Ky3rPZnvJt7/aSNYsKoFGX0yjkH67Uq8Lx0k1L w8jpXnbEPQN3A2ZJCbeMuQENBF0/k2UBCADhvSlHblNc/aRAWtCFDblCJJMN/8Sd7S9u4ZRS w1wIB4tTF7caxc8yfCHa+FjMFeVu34QPtMOvd/gfHz0mr+t0PiTAdDSbd6o7tj+g5ylm+FhT OTUtJQ6mx6L9GzMmIDEbLxJMB9RfJaL2mT5JkujKxEst6nlHGV/lEQ54xBl5ImrPvuR5Dbnr zWQYlafb1IC5ZFwSMpBeSfhS7/kGPtFY3NkpLrii/CF+ME0DYYWxlkDIycqF3fsUGGfb3HIq z2l95OB45+mCs9DrIDZXRT6mFjLcl35UzuEErNIskCl9NKlbvAMAl+gbDH275SnE44ocC4qu 0tMe7Z5jpOy6J8nNABEBAAGJATwEGAEKACYWIQSQYR1bzo1I0gPoYCg+6I/stKEQbgUCXT+T ZQIbDAUJAeEzgAAKCRA+6I/stKEQbjAGB/4mYRqZTTEFmcS+f+8zsmjt2CfWvm38kR+sJFWB vz82pFiUWbUM5xvcuOQhz698WQnIazbDGSYaOipyVNS52YiuYJDqMszzgw++DrcSuu0oRYWN EWCkJjxMqjGg8uY0OZ6FJG+gYRN5wMFErGfV1OqQ7l00FYA9OzpOEuW9PzPZEutFnAbbh77i zvxbQtT7IJCL24A4KutNYKmWg98im4mCzQcJCxE86Bv69ErLVPUyYbp4doLadScilXlvkkjL iq1wOt3rRzOuw+qnWVgWGBPxdDftz0Wck941tYF9XE0aMgkf4o1sGoDZFUFPCQdfEYPzzV7O S5hN3/mP5UeooFHb Message-ID: <11be51b3-3f69-22af-1fbd-83ad7497ff44@gmail.com> Date: Wed, 25 Dec 2019 00:16:18 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.3.0 MIME-Version: 1.0 Content-Language: en-US X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.26 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.101.4 at phobos.denx.de X-Virus-Status: Clean Make clk-gate2 available for use outside of imx. Signed-off-by: Sean Anderson --- drivers/clk/Makefile | 1 + drivers/clk/{imx => }/clk-gate2.c | 20 ++++---------------- drivers/clk/imx/Makefile | 2 +- drivers/clk/imx/clk.h | 5 ----- include/linux/clk-provider.h | 24 ++++++++++++++++++++---- 5 files changed, 26 insertions(+), 26 deletions(-) rename drivers/clk/{imx => }/clk-gate2.c (85%) diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile index 06131edb9f..fef3280f16 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -9,6 +9,7 @@ obj-$(CONFIG_$(SPL_TPL_)CLK) += clk_fixed_rate.o obj-$(CONFIG_$(SPL_TPL_)CLK) += clk_fixed_factor.o obj-$(CONFIG_$(SPL_TPL_)CLK_CCF) += clk.o clk-divider.o clk-mux.o clk-gate.o obj-$(CONFIG_$(SPL_TPL_)CLK_CCF) += clk-fixed-factor.o +obj-$(CONFIG_$(SPL_TPL_)CLK_CCF) += clk-gate2.o obj-$(CONFIG_$(SPL_TPL_)CLK_COMPOSITE_CCF) += clk-composite.o obj-y += analogbits/ diff --git a/drivers/clk/imx/clk-gate2.c b/drivers/clk/clk-gate2.c similarity index 85% rename from drivers/clk/imx/clk-gate2.c rename to drivers/clk/clk-gate2.c index 1b9db6e791..cfe21e5496 100644 --- a/drivers/clk/imx/clk-gate2.c +++ b/drivers/clk/clk-gate2.c @@ -10,8 +10,7 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * - * Gated clock implementation - * + * Gated clock which redirects rate functions to its parent clock */ #include @@ -21,19 +20,8 @@ #include #include #include -#include "clk.h" - -#define UBOOT_DM_CLK_IMX_GATE2 "imx_clk_gate2" - -struct clk_gate2 { - struct clk clk; - void __iomem *reg; - u8 bit_idx; - u8 cgr_val; - u8 flags; -}; -#define to_clk_gate2(_clk) container_of(_clk, struct clk_gate2, clk) +#define UBOOT_DM_CLK_GATE2 "clk_gate2" static int clk_gate2_enable(struct clk *clk) { @@ -97,7 +85,7 @@ struct clk *clk_register_gate2(struct device *dev, const char *name, clk = &gate->clk; - ret = clk_register(clk, UBOOT_DM_CLK_IMX_GATE2, name, parent_name); + ret = clk_register(clk, UBOOT_DM_CLK_GATE2, name, parent_name); if (ret) { kfree(gate); return ERR_PTR(ret); @@ -107,7 +95,7 @@ struct clk *clk_register_gate2(struct device *dev, const char *name, } U_BOOT_DRIVER(clk_gate2) = { - .name = UBOOT_DM_CLK_IMX_GATE2, + .name = UBOOT_DM_CLK_GATE2, .id = UCLASS_CLK, .ops = &clk_gate2_ops, .flags = DM_FLAG_PRE_RELOC, diff --git a/drivers/clk/imx/Makefile b/drivers/clk/imx/Makefile index 222c5a4e08..5328e9265a 100644 --- a/drivers/clk/imx/Makefile +++ b/drivers/clk/imx/Makefile @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: GPL-2.0 -obj-$(CONFIG_$(SPL_TPL_)CLK_CCF) += clk-gate2.o clk-pllv3.o clk-pfd.o +obj-$(CONFIG_$(SPL_TPL_)CLK_CCF) += clk-pllv3.o clk-pfd.o obj-$(CONFIG_$(SPL_TPL_)CLK_IMX6Q) += clk-imx6q.o obj-$(CONFIG_CLK_IMX8) += clk-imx8.o diff --git a/drivers/clk/imx/clk.h b/drivers/clk/imx/clk.h index 07dcf94ea5..c46570e9f4 100644 --- a/drivers/clk/imx/clk.h +++ b/drivers/clk/imx/clk.h @@ -45,11 +45,6 @@ struct clk *imx_clk_pll14xx(const char *name, const char *parent_name, void __iomem *base, const struct imx_pll14xx_clk *pll_clk); -struct clk *clk_register_gate2(struct device *dev, const char *name, - const char *parent_name, unsigned long flags, - void __iomem *reg, u8 bit_idx, u8 cgr_val, - u8 clk_gate_flags); - struct clk *imx_clk_pllv3(enum imx_pllv3_type type, const char *name, const char *parent_name, void __iomem *base, u32 div_mask); diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h index 0ef6e685ad..f510291018 100644 --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h @@ -90,10 +90,6 @@ struct clk_gate { #define CLK_GATE_HIWORD_MASK BIT(1) extern const struct clk_ops clk_gate_ops; -struct clk *clk_register_gate(struct device *dev, const char *name, - const char *parent_name, unsigned long flags, - void __iomem *reg, u8 bit_idx, - u8 clk_gate_flags, spinlock_t *lock); struct clk_div_table { unsigned int val; @@ -159,6 +155,16 @@ struct clk_composite { #define to_clk_composite(_clk) container_of(_clk, struct clk_composite, clk) +struct clk_gate2 { + struct clk clk; + void __iomem *reg; + u8 bit_idx; + u8 cgr_val; + u8 flags; +}; + +#define to_clk_gate2(_clk) container_of(_clk, struct clk_gate2, clk) + struct clk *clk_register_composite(struct device *dev, const char *name, const char * const *parent_names, int num_parents, struct clk *mux_clk, const struct clk_ops *mux_ops, @@ -184,6 +190,16 @@ struct clk *clk_register_mux(struct device *dev, const char *name, void __iomem *reg, u8 shift, u8 width, u8 clk_mux_flags); +struct clk *clk_register_gate(struct device *dev, const char *name, + const char *parent_name, unsigned long flags, + void __iomem *reg, u8 bit_idx, + u8 clk_gate_flags, spinlock_t *lock); + +struct clk *clk_register_gate2(struct device *dev, const char *name, + const char *parent_name, unsigned long flags, + void __iomem *reg, u8 bit_idx, u8 cgr_val, + u8 clk_gate_flags); + const char *clk_hw_get_name(const struct clk *hw); ulong clk_generic_get_rate(struct clk *clk);