From nobody Tue Jun 23 13:00:03 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BAED1C433EF for ; Fri, 4 Mar 2022 10:03:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239478AbiCDKEZ (ORCPT ); Fri, 4 Mar 2022 05:04:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36406 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239453AbiCDKER (ORCPT ); Fri, 4 Mar 2022 05:04:17 -0500 Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com [IPv6:2607:f8b0:4864:20::52c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0B7E919D617 for ; Fri, 4 Mar 2022 02:03:30 -0800 (PST) Received: by mail-pg1-x52c.google.com with SMTP id t187so2830112pgb.1 for ; Fri, 04 Mar 2022 02:03:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/wivmtaq/SOM50t59wI6fLzJlaXtHmkBr6jDahJcOY4=; b=bGsRhcabvtlSfwd8B3Hc862NImw4ysYnY4vIXQXnY8c0yLMXuW0PWOkCVaYH0JddgX 7XaSpfnyNR176s48aOfJYFXy71qH1fJ3EKDwd49Xj3F5Y3iKd0WHgQkui2hDyZDse7VV HEq/JvcnB7tT50djw2mSzJSMbXst7GcASnJQwJe0mVpIA3Z6Ze0q1LfCirUuWD/0wUR0 B2ngyyebL8s4qkERUEDqCqZ7Go8vt76ElCnjnfNliAbA6d175ipCZTEec27TjBdsgtxB 1blU1E5FrL/PqUUV+WIHLFHThitCK4qGoqsxjnFgwJfsw1vMs+rpYR5QGKQJjZNGY8YF y+og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/wivmtaq/SOM50t59wI6fLzJlaXtHmkBr6jDahJcOY4=; b=ENv1fZbGIu6vDcYw1ngW9uzTDALcYFg670i24m3k2mXYFck4asrtXjVscZ6WV0P/oq sP/2U8n2q8BuOtVYI5ItCVnOJS2UPSvuzuQ0FZD5ggy42HxBtSG8WReoEhAsfW7D3rWh KpY41tLtxAXtZKM27oMKQx2cRoY5MZHEeezDi5ld8PVMZ0WJYU3mz0YIHHynT7NYrzFW X1veh1Pa7vsMolJ3R4+jLYaSDqhFCJ5ecQBARFo35TBaFH6Wclbt5sZFJmIJiD14I/+B 3YOBzGtNzfdefMYir6+bJ+sUmHTarsULkF+EQD2E2XaQZC0W8Npl5PMVY6zW6kxJ1RP/ P7cA== X-Gm-Message-State: AOAM530OaLL8vN/sG8yahMl3XU+kIFWsM4DhvWOGg1y8Awht1qcw+2SL +U4khV7QiflW04+/V9nntl2rZA== X-Google-Smtp-Source: ABdhPJyn7J5CnDAcxUu7niaATceQ6lk+NyKYqye5kYn0ltG7hPXizvd7T07ZbTlOO9WCND1NeREjGA== X-Received: by 2002:a63:c61:0:b0:370:592b:3ad1 with SMTP id 33-20020a630c61000000b00370592b3ad1mr33584816pgm.240.1646388209553; Fri, 04 Mar 2022 02:03:29 -0800 (PST) Received: from hsinchu16.internal.sifive.com (59-124-168-89.hinet-ip.hinet.net. [59.124.168.89]) by smtp.gmail.com with ESMTPSA id j8-20020a056a00174800b004f26d3f5b03sm5461605pfc.39.2022.03.04.02.03.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Mar 2022 02:03:29 -0800 (PST) From: Zong Li To: mturquette@baylibre.com, sboyd@kernel.org, palmer@dabbelt.com, paul.walmsley@sifive.com, lee.jones@linaro.org, robh+dt@kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Zong Li Subject: [PATCH v2 1/5] clk: sifive: duplicate the macro definitions for the time being Date: Fri, 4 Mar 2022 18:03:17 +0800 Message-Id: <8cfd57f01cfb59adb716eb13ca0c8250c246dcb2.1646388139.git.zong.li@sifive.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This is a temporary patch in whole patch set. We are going to change the macro name in dt-binding, in order to avoid breaking the driver build and git bisect, add these macro definitions for the time being, and we will remove them later. Signed-off-by: Zong Li --- drivers/clk/sifive/fu540-prci.c | 6 +++++- drivers/clk/sifive/fu740-prci.c | 11 ++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/clk/sifive/fu540-prci.c b/drivers/clk/sifive/fu540-prc= i.c index 29bab915003c..9e13119066eb 100644 --- a/drivers/clk/sifive/fu540-prci.c +++ b/drivers/clk/sifive/fu540-prci.c @@ -20,9 +20,13 @@ =20 #include =20 -#include "fu540-prci.h" #include "sifive-prci.h" =20 +#define PRCI_CLK_COREPLL 0 +#define PRCI_CLK_DDRPLL 1 +#define PRCI_CLK_GEMGXLPLL 2 +#define PRCI_CLK_TLCLK 3 + /* PRCI integration data for each WRPLL instance */ =20 static struct __prci_wrpll_data __prci_corepll_data =3D { diff --git a/drivers/clk/sifive/fu740-prci.c b/drivers/clk/sifive/fu740-prc= i.c index 53f6e00a03b9..7141a22d90e3 100644 --- a/drivers/clk/sifive/fu740-prci.c +++ b/drivers/clk/sifive/fu740-prci.c @@ -8,9 +8,18 @@ =20 #include =20 -#include "fu540-prci.h" #include "sifive-prci.h" =20 +#define PRCI_CLK_COREPLL 0 +#define PRCI_CLK_DDRPLL 1 +#define PRCI_CLK_GEMGXLPLL 2 +#define PRCI_CLK_DVFSCOREPLL 3 +#define PRCI_CLK_HFPCLKPLL 4 +#define PRCI_CLK_CLTXPLL 5 +#define PRCI_CLK_TLCLK 6 +#define PRCI_CLK_PCLK 7 +#define PRCI_CLK_PCIE_AUX 8 + /* PRCI integration data for each WRPLL instance */ =20 static struct __prci_wrpll_data __prci_corepll_data =3D { --=20 2.31.1 From nobody Tue Jun 23 13:00:03 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41CEFC433F5 for ; Fri, 4 Mar 2022 10:03:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239484AbiCDKE1 (ORCPT ); Fri, 4 Mar 2022 05:04:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36584 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239446AbiCDKEU (ORCPT ); Fri, 4 Mar 2022 05:04:20 -0500 Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com [IPv6:2607:f8b0:4864:20::42f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E56A419D75E for ; Fri, 4 Mar 2022 02:03:32 -0800 (PST) Received: by mail-pf1-x42f.google.com with SMTP id e15so5635400pfv.11 for ; Fri, 04 Mar 2022 02:03:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YJQeczGCyde6fs+sGcXvqejtqL/oWjg9SsCj9ixzkS8=; b=h2zhJkz4ejNA9UZn2qKXICuQVZ5crdHCD3aL0FrHrgAipBUZruvyGxutNpSmGwvz4h q2FYeIflyxi4WjnT1UHwy9sb7CPF0FWUfW2O1BijSPjrnOD1yVt7ojVuUP/v0+2TCfAL rs1N2rEApj2CSLe+gsoapMAQO4EkBHtlllYjOEFKYvfb/NDrscO1HTxxTeVEix4iUUa8 3h6v4pv7OGj36rQJ/IikLWbPoEHIc9Vk4xXIapdKiWk3BTZEVK92IhGdRfShRPWFcngL +qGv/J6YvIILTX4Ob/dGgmHl/zUSRENL5K3ZB7dRlHITceMzo3AJ0CfM+HNbSbyHDjsL aBHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YJQeczGCyde6fs+sGcXvqejtqL/oWjg9SsCj9ixzkS8=; b=nkVSvjC5KNQCV1sfd3KT4Cl+hJo25l7iijSSjeEZG8Av95lgO365Jph0I3xMc3t9mP lzDeOeLIGfQf+VnT3388aXZhWQR1BL+POmd4CCGTVuhjfOt8Fp1Dp1C6YfDj9hfU7Tug PXrNjOfQOP/3CXgEQLn4332xnjgrT2ZjYRIEdo/1pcmjxqacX0PaZ7clV+k52jFEG3f6 P3B/a0t+hwc4SbZCwL54Ww556mAwon5eKcp7giIi1j9eRJqD4huGk3k3FKlf/ELg+ATl GiueWTrF0JDniRTytJ+CnfT0MwYSrUArB3c8e5GUpwh4wLL/j7XgZQpgkbUsn57v1ZIF quXw== X-Gm-Message-State: AOAM530WRc66iWVP3Qyhocfl0vzW1ntIn4vwrqpoL/s46sMmhQeb0PQW a0m7Se8hEpOev7yoRzA51zvGBw== X-Google-Smtp-Source: ABdhPJw8Wc3eKaZofkKh8W3VECbyxA6H4ZwEDiEWFzFFuLSB0crgYHjPTZ+vrcmF6tTgikJwX+lEtw== X-Received: by 2002:a63:85c6:0:b0:37e:61ff:863e with SMTP id u189-20020a6385c6000000b0037e61ff863emr602220pgd.412.1646388212452; Fri, 04 Mar 2022 02:03:32 -0800 (PST) Received: from hsinchu16.internal.sifive.com (59-124-168-89.hinet-ip.hinet.net. [59.124.168.89]) by smtp.gmail.com with ESMTPSA id j8-20020a056a00174800b004f26d3f5b03sm5461605pfc.39.2022.03.04.02.03.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Mar 2022 02:03:31 -0800 (PST) From: Zong Li To: mturquette@baylibre.com, sboyd@kernel.org, palmer@dabbelt.com, paul.walmsley@sifive.com, lee.jones@linaro.org, robh+dt@kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Zong Li , Rob Herring , Palmer Dabbelt Subject: [PATCH v2 2/5] dt-bindings: change the macro name of prci in header files and example Date: Fri, 4 Mar 2022 18:03:18 +0800 Message-Id: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" We currently change the macro name for fu540 and fu740 by adding the prefix respectively, the dt-bindings should be modified as well. Signed-off-by: Zong Li Acked-by: Rob Herring Acked-by: Palmer Dabbelt --- .../devicetree/bindings/gpio/sifive,gpio.yaml | 2 +- .../bindings/pci/sifive,fu740-pcie.yaml | 2 +- .../bindings/serial/sifive-serial.yaml | 2 +- include/dt-bindings/clock/sifive-fu540-prci.h | 8 ++++---- include/dt-bindings/clock/sifive-fu740-prci.h | 18 +++++++++--------- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Documentation/devicetree/bindings/gpio/sifive,gpio.yaml b/Docu= mentation/devicetree/bindings/gpio/sifive,gpio.yaml index 427c5873f96a..939e31c48081 100644 --- a/Documentation/devicetree/bindings/gpio/sifive,gpio.yaml +++ b/Documentation/devicetree/bindings/gpio/sifive,gpio.yaml @@ -79,7 +79,7 @@ examples: interrupts =3D <7>, <8>, <9>, <10>, <11>, <12>, <13>, <14>, <15>, = <16>, <17>, <18>, <19>, <20>, <21>, <22>; reg =3D <0x10060000 0x1000>; - clocks =3D <&tlclk PRCI_CLK_TLCLK>; + clocks =3D <&tlclk FU540_PRCI_CLK_TLCLK>; gpio-controller; #gpio-cells =3D <2>; interrupt-controller; diff --git a/Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml b= /Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml index 392f0ab488c2..195e6afeb169 100644 --- a/Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml +++ b/Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml @@ -104,7 +104,7 @@ examples: <0x0 0x0 0x0 0x2 &plic0 58>, <0x0 0x0 0x0 0x3 &plic0 59>, <0x0 0x0 0x0 0x4 &plic0 60>; - clocks =3D <&prci PRCI_CLK_PCIE_AUX>; + clocks =3D <&prci FU740_PRCI_CLK_PCIE_AUX>; resets =3D <&prci 4>; pwren-gpios =3D <&gpio 5 0>; reset-gpios =3D <&gpio 8 0>; diff --git a/Documentation/devicetree/bindings/serial/sifive-serial.yaml b/= Documentation/devicetree/bindings/serial/sifive-serial.yaml index 09aae43f65a7..b0a8871e3641 100644 --- a/Documentation/devicetree/bindings/serial/sifive-serial.yaml +++ b/Documentation/devicetree/bindings/serial/sifive-serial.yaml @@ -59,7 +59,7 @@ examples: interrupt-parent =3D <&plic0>; interrupts =3D <80>; reg =3D <0x10010000 0x1000>; - clocks =3D <&prci PRCI_CLK_TLCLK>; + clocks =3D <&prci FU540_PRCI_CLK_TLCLK>; }; =20 ... diff --git a/include/dt-bindings/clock/sifive-fu540-prci.h b/include/dt-bin= dings/clock/sifive-fu540-prci.h index 3b21d0522c91..5af372e8385f 100644 --- a/include/dt-bindings/clock/sifive-fu540-prci.h +++ b/include/dt-bindings/clock/sifive-fu540-prci.h @@ -10,9 +10,9 @@ =20 /* Clock indexes for use by Device Tree data and the PRCI driver */ =20 -#define PRCI_CLK_COREPLL 0 -#define PRCI_CLK_DDRPLL 1 -#define PRCI_CLK_GEMGXLPLL 2 -#define PRCI_CLK_TLCLK 3 +#define FU540_PRCI_CLK_COREPLL 0 +#define FU540_PRCI_CLK_DDRPLL 1 +#define FU540_PRCI_CLK_GEMGXLPLL 2 +#define FU540_PRCI_CLK_TLCLK 3 =20 #endif diff --git a/include/dt-bindings/clock/sifive-fu740-prci.h b/include/dt-bin= dings/clock/sifive-fu740-prci.h index 7899b7fee7db..672bdadbf6c0 100644 --- a/include/dt-bindings/clock/sifive-fu740-prci.h +++ b/include/dt-bindings/clock/sifive-fu740-prci.h @@ -11,14 +11,14 @@ =20 /* Clock indexes for use by Device Tree data and the PRCI driver */ =20 -#define PRCI_CLK_COREPLL 0 -#define PRCI_CLK_DDRPLL 1 -#define PRCI_CLK_GEMGXLPLL 2 -#define PRCI_CLK_DVFSCOREPLL 3 -#define PRCI_CLK_HFPCLKPLL 4 -#define PRCI_CLK_CLTXPLL 5 -#define PRCI_CLK_TLCLK 6 -#define PRCI_CLK_PCLK 7 -#define PRCI_CLK_PCIE_AUX 8 +#define FU740_PRCI_CLK_COREPLL 0 +#define FU740_PRCI_CLK_DDRPLL 1 +#define FU740_PRCI_CLK_GEMGXLPLL 2 +#define FU740_PRCI_CLK_DVFSCOREPLL 3 +#define FU740_PRCI_CLK_HFPCLKPLL 4 +#define FU740_PRCI_CLK_CLTXPLL 5 +#define FU740_PRCI_CLK_TLCLK 6 +#define FU740_PRCI_CLK_PCLK 7 +#define FU740_PRCI_CLK_PCIE_AUX 8 =20 #endif /* __DT_BINDINGS_CLOCK_SIFIVE_FU740_PRCI_H */ --=20 2.31.1 From nobody Tue Jun 23 13:00:03 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DBEE0C433F5 for ; Fri, 4 Mar 2022 10:03:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239512AbiCDKEm (ORCPT ); Fri, 4 Mar 2022 05:04:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37430 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239486AbiCDKEc (ORCPT ); Fri, 4 Mar 2022 05:04:32 -0500 Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com [IPv6:2607:f8b0:4864:20::52c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0AB0119E002 for ; Fri, 4 Mar 2022 02:03:35 -0800 (PST) Received: by mail-pg1-x52c.google.com with SMTP id c1so7087836pgk.11 for ; Fri, 04 Mar 2022 02:03:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UJ7+kaESGdNAzAImLBta6phpylHoIMJb1C9yUH40IE0=; b=XRvdFl7el/25PA7mmFcR0nR9j3sLUqN75EPFgUDfUYA4aIAEHPsbE+uakszi+zi3FK UFa23RawxMsgEyvSS7qMPT+T4yEDukMlYqwgEhF+U8ic2PbC7MOaKz6//nzSZGV9ww5B VIGGwpGOmx1ECCUAn+KfOck1FjqZ9HAAtYji4WQgcbfMjnlwVQ2jOUJSdJ6x5Lv/s4vl W84eu+JybUxJg+h0nAYcNLgUrUhsVI9lOrjc7Ae8I4RHWyEXxa29owvqHgRodRfxyGx7 KpitxF3S0WNsajmQMenx3c+9EhjXZypOKlGyOYqmadFIm0Rj9gjHOmuUEvHC/suPr6C1 Fwqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UJ7+kaESGdNAzAImLBta6phpylHoIMJb1C9yUH40IE0=; b=YgplaWgmRalP+CasNTTblEqB6zbMVzKm1FgsKP5nypM1tLzx/IbhLNXmK6qnooI8+X dw/3UbGPKPJc9nyg6iVs3DGkWkjNCtOvMSMw76xI8aUzm4sA/fV1M20m00c3W54kkaIh ZNHg0WWrLPn4em/YykOzVVk6u2hP+fpU5Tys1qsiZurEV7shXG2Bnv7wjMoEuY7XhRHZ Z/Tt8Y/RiyEvtMRfIyz9c/1ZN9Ym6JkFrC92xSDUdF0rxEr2sW6FGXEX+ipgVGzlwpCX PeEXFBDi3ckRhAGNOaR3YPpr4siRVGebhL/3k8xzy51K3V2nRvKvn5IQDXmHGP0DdoY6 2XCw== X-Gm-Message-State: AOAM531ke3otE6Cw+nNLK44d0vBzhXeO59wE4+mjqWnlbHdxjQNiqsby tLqEfZDea9p5TtC4UxZn4XrJn62R4OkC5A== X-Google-Smtp-Source: ABdhPJx0WWFoRPseHrDzlawbRLombRu5TBWXnZU8CJ5ltfuldD5/terJjgVkeo1JnwVVL7q6K2w8hg== X-Received: by 2002:a05:6a00:1c46:b0:4e1:82cb:e39c with SMTP id s6-20020a056a001c4600b004e182cbe39cmr43032010pfw.18.1646388215245; Fri, 04 Mar 2022 02:03:35 -0800 (PST) Received: from hsinchu16.internal.sifive.com (59-124-168-89.hinet-ip.hinet.net. [59.124.168.89]) by smtp.gmail.com with ESMTPSA id j8-20020a056a00174800b004f26d3f5b03sm5461605pfc.39.2022.03.04.02.03.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Mar 2022 02:03:34 -0800 (PST) From: Zong Li To: mturquette@baylibre.com, sboyd@kernel.org, palmer@dabbelt.com, paul.walmsley@sifive.com, lee.jones@linaro.org, robh+dt@kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Zong Li , Palmer Dabbelt Subject: [PATCH v2 3/5] riscv: dts: Change the macro name of prci in each device node Date: Fri, 4 Mar 2022 18:03:19 +0800 Message-Id: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" We currently change the macro name for fu540 and fu740 by adding the prefix respectively, these marcos are referenced by some device nodes, they should be modified as well. Signed-off-by: Zong Li Acked-by: Palmer Dabbelt --- arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 22 +++++++++--------- arch/riscv/boot/dts/sifive/fu740-c000.dtsi | 26 +++++++++++----------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/arch/riscv/boot/dts/sifive/fu540-c000.dtsi b/arch/riscv/boot/d= ts/sifive/fu540-c000.dtsi index 3eef52b1a59b..aad45d7f498f 100644 --- a/arch/riscv/boot/dts/sifive/fu540-c000.dtsi +++ b/arch/riscv/boot/dts/sifive/fu540-c000.dtsi @@ -164,7 +164,7 @@ uart0: serial@10010000 { reg =3D <0x0 0x10010000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <4>; - clocks =3D <&prci PRCI_CLK_TLCLK>; + clocks =3D <&prci FU540_PRCI_CLK_TLCLK>; status =3D "disabled"; }; dma: dma@3000000 { @@ -180,7 +180,7 @@ uart1: serial@10011000 { reg =3D <0x0 0x10011000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <5>; - clocks =3D <&prci PRCI_CLK_TLCLK>; + clocks =3D <&prci FU540_PRCI_CLK_TLCLK>; status =3D "disabled"; }; i2c0: i2c@10030000 { @@ -188,7 +188,7 @@ i2c0: i2c@10030000 { reg =3D <0x0 0x10030000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <50>; - clocks =3D <&prci PRCI_CLK_TLCLK>; + clocks =3D <&prci FU540_PRCI_CLK_TLCLK>; reg-shift =3D <2>; reg-io-width =3D <1>; #address-cells =3D <1>; @@ -201,7 +201,7 @@ qspi0: spi@10040000 { <0x0 0x20000000 0x0 0x10000000>; interrupt-parent =3D <&plic0>; interrupts =3D <51>; - clocks =3D <&prci PRCI_CLK_TLCLK>; + clocks =3D <&prci FU540_PRCI_CLK_TLCLK>; #address-cells =3D <1>; #size-cells =3D <0>; status =3D "disabled"; @@ -212,7 +212,7 @@ qspi1: spi@10041000 { <0x0 0x30000000 0x0 0x10000000>; interrupt-parent =3D <&plic0>; interrupts =3D <52>; - clocks =3D <&prci PRCI_CLK_TLCLK>; + clocks =3D <&prci FU540_PRCI_CLK_TLCLK>; #address-cells =3D <1>; #size-cells =3D <0>; status =3D "disabled"; @@ -222,7 +222,7 @@ qspi2: spi@10050000 { reg =3D <0x0 0x10050000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <6>; - clocks =3D <&prci PRCI_CLK_TLCLK>; + clocks =3D <&prci FU540_PRCI_CLK_TLCLK>; #address-cells =3D <1>; #size-cells =3D <0>; status =3D "disabled"; @@ -235,8 +235,8 @@ eth0: ethernet@10090000 { <0x0 0x100a0000 0x0 0x1000>; local-mac-address =3D [00 00 00 00 00 00]; clock-names =3D "pclk", "hclk"; - clocks =3D <&prci PRCI_CLK_GEMGXLPLL>, - <&prci PRCI_CLK_GEMGXLPLL>; + clocks =3D <&prci FU540_PRCI_CLK_GEMGXLPLL>, + <&prci FU540_PRCI_CLK_GEMGXLPLL>; #address-cells =3D <1>; #size-cells =3D <0>; status =3D "disabled"; @@ -246,7 +246,7 @@ pwm0: pwm@10020000 { reg =3D <0x0 0x10020000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <42>, <43>, <44>, <45>; - clocks =3D <&prci PRCI_CLK_TLCLK>; + clocks =3D <&prci FU540_PRCI_CLK_TLCLK>; #pwm-cells =3D <3>; status =3D "disabled"; }; @@ -255,7 +255,7 @@ pwm1: pwm@10021000 { reg =3D <0x0 0x10021000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <46>, <47>, <48>, <49>; - clocks =3D <&prci PRCI_CLK_TLCLK>; + clocks =3D <&prci FU540_PRCI_CLK_TLCLK>; #pwm-cells =3D <3>; status =3D "disabled"; }; @@ -281,7 +281,7 @@ gpio: gpio@10060000 { #gpio-cells =3D <2>; interrupt-controller; #interrupt-cells =3D <2>; - clocks =3D <&prci PRCI_CLK_TLCLK>; + clocks =3D <&prci FU540_PRCI_CLK_TLCLK>; status =3D "disabled"; }; }; diff --git a/arch/riscv/boot/dts/sifive/fu740-c000.dtsi b/arch/riscv/boot/d= ts/sifive/fu740-c000.dtsi index 8464b0e3c887..7b77c13496d8 100644 --- a/arch/riscv/boot/dts/sifive/fu740-c000.dtsi +++ b/arch/riscv/boot/dts/sifive/fu740-c000.dtsi @@ -166,7 +166,7 @@ uart0: serial@10010000 { reg =3D <0x0 0x10010000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <39>; - clocks =3D <&prci PRCI_CLK_PCLK>; + clocks =3D <&prci FU740_PRCI_CLK_PCLK>; status =3D "disabled"; }; uart1: serial@10011000 { @@ -174,7 +174,7 @@ uart1: serial@10011000 { reg =3D <0x0 0x10011000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <40>; - clocks =3D <&prci PRCI_CLK_PCLK>; + clocks =3D <&prci FU740_PRCI_CLK_PCLK>; status =3D "disabled"; }; i2c0: i2c@10030000 { @@ -182,7 +182,7 @@ i2c0: i2c@10030000 { reg =3D <0x0 0x10030000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <52>; - clocks =3D <&prci PRCI_CLK_PCLK>; + clocks =3D <&prci FU740_PRCI_CLK_PCLK>; reg-shift =3D <2>; reg-io-width =3D <1>; #address-cells =3D <1>; @@ -194,7 +194,7 @@ i2c1: i2c@10031000 { reg =3D <0x0 0x10031000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <53>; - clocks =3D <&prci PRCI_CLK_PCLK>; + clocks =3D <&prci FU740_PRCI_CLK_PCLK>; reg-shift =3D <2>; reg-io-width =3D <1>; #address-cells =3D <1>; @@ -207,7 +207,7 @@ qspi0: spi@10040000 { <0x0 0x20000000 0x0 0x10000000>; interrupt-parent =3D <&plic0>; interrupts =3D <41>; - clocks =3D <&prci PRCI_CLK_PCLK>; + clocks =3D <&prci FU740_PRCI_CLK_PCLK>; #address-cells =3D <1>; #size-cells =3D <0>; status =3D "disabled"; @@ -218,7 +218,7 @@ qspi1: spi@10041000 { <0x0 0x30000000 0x0 0x10000000>; interrupt-parent =3D <&plic0>; interrupts =3D <42>; - clocks =3D <&prci PRCI_CLK_PCLK>; + clocks =3D <&prci FU740_PRCI_CLK_PCLK>; #address-cells =3D <1>; #size-cells =3D <0>; status =3D "disabled"; @@ -228,7 +228,7 @@ spi0: spi@10050000 { reg =3D <0x0 0x10050000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <43>; - clocks =3D <&prci PRCI_CLK_PCLK>; + clocks =3D <&prci FU740_PRCI_CLK_PCLK>; #address-cells =3D <1>; #size-cells =3D <0>; status =3D "disabled"; @@ -241,8 +241,8 @@ eth0: ethernet@10090000 { <0x0 0x100a0000 0x0 0x1000>; local-mac-address =3D [00 00 00 00 00 00]; clock-names =3D "pclk", "hclk"; - clocks =3D <&prci PRCI_CLK_GEMGXLPLL>, - <&prci PRCI_CLK_GEMGXLPLL>; + clocks =3D <&prci FU740_PRCI_CLK_GEMGXLPLL>, + <&prci FU740_PRCI_CLK_GEMGXLPLL>; #address-cells =3D <1>; #size-cells =3D <0>; status =3D "disabled"; @@ -252,7 +252,7 @@ pwm0: pwm@10020000 { reg =3D <0x0 0x10020000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <44>, <45>, <46>, <47>; - clocks =3D <&prci PRCI_CLK_PCLK>; + clocks =3D <&prci FU740_PRCI_CLK_PCLK>; #pwm-cells =3D <3>; status =3D "disabled"; }; @@ -261,7 +261,7 @@ pwm1: pwm@10021000 { reg =3D <0x0 0x10021000 0x0 0x1000>; interrupt-parent =3D <&plic0>; interrupts =3D <48>, <49>, <50>, <51>; - clocks =3D <&prci PRCI_CLK_PCLK>; + clocks =3D <&prci FU740_PRCI_CLK_PCLK>; #pwm-cells =3D <3>; status =3D "disabled"; }; @@ -287,7 +287,7 @@ gpio: gpio@10060000 { #gpio-cells =3D <2>; interrupt-controller; #interrupt-cells =3D <2>; - clocks =3D <&prci PRCI_CLK_PCLK>; + clocks =3D <&prci FU740_PRCI_CLK_PCLK>; status =3D "disabled"; }; pcie@e00000000 { @@ -316,7 +316,7 @@ pcie@e00000000 { <0x0 0x0 0x0 0x3 &plic0 59>, <0x0 0x0 0x0 0x4 &plic0 60>; clock-names =3D "pcie_aux"; - clocks =3D <&prci PRCI_CLK_PCIE_AUX>; + clocks =3D <&prci FU740_PRCI_CLK_PCIE_AUX>; pwren-gpios =3D <&gpio 5 0>; reset-gpios =3D <&gpio 8 0>; resets =3D <&prci 4>; --=20 2.31.1 From nobody Tue Jun 23 13:00:03 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27F32C433F5 for ; Fri, 4 Mar 2022 10:03:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239507AbiCDKEo (ORCPT ); Fri, 4 Mar 2022 05:04:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37460 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234975AbiCDKEc (ORCPT ); Fri, 4 Mar 2022 05:04:32 -0500 Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B11AE1A6379 for ; Fri, 4 Mar 2022 02:03:38 -0800 (PST) Received: by mail-pj1-x1034.google.com with SMTP id cx5so6976046pjb.1 for ; Fri, 04 Mar 2022 02:03:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WYFL0iPSwAf6t4Xy8/IdB3oKrUUwcpR0xg3nUHnjLu4=; b=V527q47pid75/3NYSmywQBzh9ZFCLttCNjfmNSferZ/tChovUCyQ90/8KnQ+2yPVTZ pZSGr4qBXVf+WhdZl5CP9vW7jcHlllns0+Kt7CLYS3j6u6HZlzXRzcBLxkKZr8ngVvO8 wVh4AePCI/pn/zYghzsXdyysvXNDwOgHWI3wtFUFz2ccPgrE7yVpQ+nLjc9V/U2P6pit x1ik+jNj/Gk7fPSG2ZR9N7DC8A+mUPRTb+mH3VEqRI4oSxOEeN05cbtvwDpR1rIJzcus 8sxqwWDPaM5uOATqnUsMHJo+MDNc3JVO3KxtUcPmc3AnMo29WVPYC0mXuY6XoIRHMLPf fm6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WYFL0iPSwAf6t4Xy8/IdB3oKrUUwcpR0xg3nUHnjLu4=; b=nkp+2l9/r1z+tp4xHQZ1mZAKb6gg7WRKIqdDJJ7cv3ldAV4AejBbY1z8NpWUl8kEfM XUMD2IycdaYCgxiYLkV0aVD00DJrHm+9ny9o0NjsNJhbwp9014Xs6MZkZEimZq27zHeM q01zxOpRDQKsBuLOZBecYL6X9Rq1X1BeHhRajy0Au6mIe2viOtC648IIIU0omkHH+GEc 5G99EBKPFeErl9t00GX1vrI+R1mpXZa+HG+nCSHkKvznyl+mE6736azqyjUdnIopjuo/ x0H40Uc6KHRAc1whHab0Zv3ZZSCsK8BNmqbbIms5cl9aX9+qpQZJhF9ozfJwVcUZEnH5 qmqg== X-Gm-Message-State: AOAM532OpP59HaPt+PMUqdxe3PmiwJj1I5rshJqpWBgR13hz/OuI5kEf pkZyqHRKsiCjM/pz4n2/g1aNyA== X-Google-Smtp-Source: ABdhPJzG9qXo2I0tXsjIyl0lHwrW+VqTZtgqDaRK+ltqrSu8dN6PjxxF5qvTow6wqB2cl/NTp6epJQ== X-Received: by 2002:a17:902:b692:b0:151:5474:d3ee with SMTP id c18-20020a170902b69200b001515474d3eemr29418093pls.139.1646388218005; Fri, 04 Mar 2022 02:03:38 -0800 (PST) Received: from hsinchu16.internal.sifive.com (59-124-168-89.hinet-ip.hinet.net. [59.124.168.89]) by smtp.gmail.com with ESMTPSA id j8-20020a056a00174800b004f26d3f5b03sm5461605pfc.39.2022.03.04.02.03.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Mar 2022 02:03:37 -0800 (PST) From: Zong Li To: mturquette@baylibre.com, sboyd@kernel.org, palmer@dabbelt.com, paul.walmsley@sifive.com, lee.jones@linaro.org, robh+dt@kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Zong Li , Palmer Dabbelt Subject: [PATCH v2 4/5] clk: sifive: Add SoCs prefix in each SoCs-dependent data Date: Fri, 4 Mar 2022 18:03:20 +0800 Message-Id: <7728ef662c59449ce954b1b62c6ad5241e07adfb.1646388139.git.zong.li@sifive.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This patch is prerequisite for moving SoCs C files into SoCs header files. Currently, fu540-prci.c and fu740-prci.c use same names for several macro definitions and variables, it would cause redefinition error when we trying to include all stuff in sifive-prci.c. In this patch, we also remove the temporary macro definitions which are added by previous patch. Signed-off-by: Zong Li Acked-by: Palmer Dabbelt --- drivers/clk/sifive/fu540-prci.c | 29 +++++++---------- drivers/clk/sifive/fu740-prci.c | 56 ++++++++++++++------------------- 2 files changed, 35 insertions(+), 50 deletions(-) diff --git a/drivers/clk/sifive/fu540-prci.c b/drivers/clk/sifive/fu540-prc= i.c index 9e13119066eb..672c782ad604 100644 --- a/drivers/clk/sifive/fu540-prci.c +++ b/drivers/clk/sifive/fu540-prci.c @@ -1,9 +1,9 @@ // SPDX-License-Identifier: GPL-2.0 /* - * Copyright (C) 2018-2019 SiFive, Inc. + * Copyright (C) 2018-2022 SiFive, Inc. * Copyright (C) 2018-2019 Wesley Terpstra * Copyright (C) 2018-2019 Paul Walmsley - * Copyright (C) 2020 Zong Li + * Copyright (C) 2020-2022 Zong Li * * The FU540 PRCI implements clock and reset control for the SiFive * FU540-C000 chip. This driver assumes that it has sole control @@ -22,26 +22,21 @@ =20 #include "sifive-prci.h" =20 -#define PRCI_CLK_COREPLL 0 -#define PRCI_CLK_DDRPLL 1 -#define PRCI_CLK_GEMGXLPLL 2 -#define PRCI_CLK_TLCLK 3 - /* PRCI integration data for each WRPLL instance */ =20 -static struct __prci_wrpll_data __prci_corepll_data =3D { +static struct __prci_wrpll_data sifive_fu540_prci_corepll_data =3D { .cfg0_offs =3D PRCI_COREPLLCFG0_OFFSET, .cfg1_offs =3D PRCI_COREPLLCFG1_OFFSET, .enable_bypass =3D sifive_prci_coreclksel_use_hfclk, .disable_bypass =3D sifive_prci_coreclksel_use_corepll, }; =20 -static struct __prci_wrpll_data __prci_ddrpll_data =3D { +static struct __prci_wrpll_data sifive_fu540_prci_ddrpll_data =3D { .cfg0_offs =3D PRCI_DDRPLLCFG0_OFFSET, .cfg1_offs =3D PRCI_DDRPLLCFG1_OFFSET, }; =20 -static struct __prci_wrpll_data __prci_gemgxlpll_data =3D { +static struct __prci_wrpll_data sifive_fu540_prci_gemgxlpll_data =3D { .cfg0_offs =3D PRCI_GEMGXLPLLCFG0_OFFSET, .cfg1_offs =3D PRCI_GEMGXLPLLCFG1_OFFSET, }; @@ -67,25 +62,25 @@ static const struct clk_ops sifive_fu540_prci_tlclksel_= clk_ops =3D { =20 /* List of clock controls provided by the PRCI */ struct __prci_clock __prci_init_clocks_fu540[] =3D { - [PRCI_CLK_COREPLL] =3D { + [FU540_PRCI_CLK_COREPLL] =3D { .name =3D "corepll", .parent_name =3D "hfclk", .ops =3D &sifive_fu540_prci_wrpll_clk_ops, - .pwd =3D &__prci_corepll_data, + .pwd =3D &sifive_fu540_prci_corepll_data, }, - [PRCI_CLK_DDRPLL] =3D { + [FU540_PRCI_CLK_DDRPLL] =3D { .name =3D "ddrpll", .parent_name =3D "hfclk", .ops =3D &sifive_fu540_prci_wrpll_ro_clk_ops, - .pwd =3D &__prci_ddrpll_data, + .pwd =3D &sifive_fu540_prci_ddrpll_data, }, - [PRCI_CLK_GEMGXLPLL] =3D { + [FU540_PRCI_CLK_GEMGXLPLL] =3D { .name =3D "gemgxlpll", .parent_name =3D "hfclk", .ops =3D &sifive_fu540_prci_wrpll_clk_ops, - .pwd =3D &__prci_gemgxlpll_data, + .pwd =3D &sifive_fu540_prci_gemgxlpll_data, }, - [PRCI_CLK_TLCLK] =3D { + [FU540_PRCI_CLK_TLCLK] =3D { .name =3D "tlclk", .parent_name =3D "corepll", .ops =3D &sifive_fu540_prci_tlclksel_clk_ops, diff --git a/drivers/clk/sifive/fu740-prci.c b/drivers/clk/sifive/fu740-prc= i.c index 7141a22d90e3..f27d1a42d946 100644 --- a/drivers/clk/sifive/fu740-prci.c +++ b/drivers/clk/sifive/fu740-prci.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 /* - * Copyright (C) 2020 SiFive, Inc. - * Copyright (C) 2020 Zong Li + * Copyright (C) 2020-2022 SiFive, Inc. + * Copyright (C) 2020-2022 Zong Li */ =20 #include @@ -10,50 +10,40 @@ =20 #include "sifive-prci.h" =20 -#define PRCI_CLK_COREPLL 0 -#define PRCI_CLK_DDRPLL 1 -#define PRCI_CLK_GEMGXLPLL 2 -#define PRCI_CLK_DVFSCOREPLL 3 -#define PRCI_CLK_HFPCLKPLL 4 -#define PRCI_CLK_CLTXPLL 5 -#define PRCI_CLK_TLCLK 6 -#define PRCI_CLK_PCLK 7 -#define PRCI_CLK_PCIE_AUX 8 - /* PRCI integration data for each WRPLL instance */ =20 -static struct __prci_wrpll_data __prci_corepll_data =3D { +static struct __prci_wrpll_data sifive_fu740_prci_corepll_data =3D { .cfg0_offs =3D PRCI_COREPLLCFG0_OFFSET, .cfg1_offs =3D PRCI_COREPLLCFG1_OFFSET, .enable_bypass =3D sifive_prci_coreclksel_use_hfclk, .disable_bypass =3D sifive_prci_coreclksel_use_final_corepll, }; =20 -static struct __prci_wrpll_data __prci_ddrpll_data =3D { +static struct __prci_wrpll_data sifive_fu740_prci_ddrpll_data =3D { .cfg0_offs =3D PRCI_DDRPLLCFG0_OFFSET, .cfg1_offs =3D PRCI_DDRPLLCFG1_OFFSET, }; =20 -static struct __prci_wrpll_data __prci_gemgxlpll_data =3D { +static struct __prci_wrpll_data sifive_fu740_prci_gemgxlpll_data =3D { .cfg0_offs =3D PRCI_GEMGXLPLLCFG0_OFFSET, .cfg1_offs =3D PRCI_GEMGXLPLLCFG1_OFFSET, }; =20 -static struct __prci_wrpll_data __prci_dvfscorepll_data =3D { +static struct __prci_wrpll_data sifive_fu740_prci_dvfscorepll_data =3D { .cfg0_offs =3D PRCI_DVFSCOREPLLCFG0_OFFSET, .cfg1_offs =3D PRCI_DVFSCOREPLLCFG1_OFFSET, .enable_bypass =3D sifive_prci_corepllsel_use_corepll, .disable_bypass =3D sifive_prci_corepllsel_use_dvfscorepll, }; =20 -static struct __prci_wrpll_data __prci_hfpclkpll_data =3D { +static struct __prci_wrpll_data sifive_fu740_prci_hfpclkpll_data =3D { .cfg0_offs =3D PRCI_HFPCLKPLLCFG0_OFFSET, .cfg1_offs =3D PRCI_HFPCLKPLLCFG1_OFFSET, .enable_bypass =3D sifive_prci_hfpclkpllsel_use_hfclk, .disable_bypass =3D sifive_prci_hfpclkpllsel_use_hfpclkpll, }; =20 -static struct __prci_wrpll_data __prci_cltxpll_data =3D { +static struct __prci_wrpll_data sifive_fu740_prci_cltxpll_data =3D { .cfg0_offs =3D PRCI_CLTXPLLCFG0_OFFSET, .cfg1_offs =3D PRCI_CLTXPLLCFG1_OFFSET, }; @@ -89,53 +79,53 @@ static const struct clk_ops sifive_fu740_prci_pcie_aux_= clk_ops =3D { =20 /* List of clock controls provided by the PRCI */ struct __prci_clock __prci_init_clocks_fu740[] =3D { - [PRCI_CLK_COREPLL] =3D { + [FU740_PRCI_CLK_COREPLL] =3D { .name =3D "corepll", .parent_name =3D "hfclk", .ops =3D &sifive_fu740_prci_wrpll_clk_ops, - .pwd =3D &__prci_corepll_data, + .pwd =3D &sifive_fu740_prci_corepll_data, }, - [PRCI_CLK_DDRPLL] =3D { + [FU740_PRCI_CLK_DDRPLL] =3D { .name =3D "ddrpll", .parent_name =3D "hfclk", .ops =3D &sifive_fu740_prci_wrpll_ro_clk_ops, - .pwd =3D &__prci_ddrpll_data, + .pwd =3D &sifive_fu740_prci_ddrpll_data, }, - [PRCI_CLK_GEMGXLPLL] =3D { + [FU740_PRCI_CLK_GEMGXLPLL] =3D { .name =3D "gemgxlpll", .parent_name =3D "hfclk", .ops =3D &sifive_fu740_prci_wrpll_clk_ops, - .pwd =3D &__prci_gemgxlpll_data, + .pwd =3D &sifive_fu740_prci_gemgxlpll_data, }, - [PRCI_CLK_DVFSCOREPLL] =3D { + [FU740_PRCI_CLK_DVFSCOREPLL] =3D { .name =3D "dvfscorepll", .parent_name =3D "hfclk", .ops =3D &sifive_fu740_prci_wrpll_clk_ops, - .pwd =3D &__prci_dvfscorepll_data, + .pwd =3D &sifive_fu740_prci_dvfscorepll_data, }, - [PRCI_CLK_HFPCLKPLL] =3D { + [FU740_PRCI_CLK_HFPCLKPLL] =3D { .name =3D "hfpclkpll", .parent_name =3D "hfclk", .ops =3D &sifive_fu740_prci_wrpll_clk_ops, - .pwd =3D &__prci_hfpclkpll_data, + .pwd =3D &sifive_fu740_prci_hfpclkpll_data, }, - [PRCI_CLK_CLTXPLL] =3D { + [FU740_PRCI_CLK_CLTXPLL] =3D { .name =3D "cltxpll", .parent_name =3D "hfclk", .ops =3D &sifive_fu740_prci_wrpll_clk_ops, - .pwd =3D &__prci_cltxpll_data, + .pwd =3D &sifive_fu740_prci_cltxpll_data, }, - [PRCI_CLK_TLCLK] =3D { + [FU740_PRCI_CLK_TLCLK] =3D { .name =3D "tlclk", .parent_name =3D "corepll", .ops =3D &sifive_fu740_prci_tlclksel_clk_ops, }, - [PRCI_CLK_PCLK] =3D { + [FU740_PRCI_CLK_PCLK] =3D { .name =3D "pclk", .parent_name =3D "hfpclkpll", .ops =3D &sifive_fu740_prci_hfpclkplldiv_clk_ops, }, - [PRCI_CLK_PCIE_AUX] =3D { + [FU740_PRCI_CLK_PCIE_AUX] =3D { .name =3D "pcie_aux", .parent_name =3D "hfclk", .ops =3D &sifive_fu740_prci_pcie_aux_clk_ops, --=20 2.31.1 From nobody Tue Jun 23 13:00:03 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8726AC433EF for ; Fri, 4 Mar 2022 10:04:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239547AbiCDKEt (ORCPT ); Fri, 4 Mar 2022 05:04:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239499AbiCDKEc (ORCPT ); Fri, 4 Mar 2022 05:04:32 -0500 Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com [IPv6:2607:f8b0:4864:20::1031]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 53C811A8C88 for ; Fri, 4 Mar 2022 02:03:41 -0800 (PST) Received: by mail-pj1-x1031.google.com with SMTP id v1-20020a17090a088100b001bf25f97c6eso1185882pjc.0 for ; Fri, 04 Mar 2022 02:03:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=PCP8eXeYalFQxUcrQ3/FrtqjgCxxVlX7LiIMyPjqTF0=; b=Jc9dBCZDORJggSrN0RW/uspvjH8cNMrEjjjMXBqJ0PbYQYKDFVYRoLEoKWRPDKca68 CnSI05Xb4QAtvlJ64A1oKAf1SWuZ8hQh0QpaTUn8Y2JXNZ+Tbiol4efbtevDifinpoSP 5EwNdSEKUbshLSGgDfSug5CpkBAU/7p4HSuKhKPWOAX1A+tfIRWSapYrF+LuvJOp2q1+ x72bFqjPBR6KPnyFHgANDhyZNBL4MB2uP89QaFicpD4qFGVyFT41XqKMBarGo0ez8SVK mkr2IP3BcWCuNhd0oYzK4nI6AIWe4Plo5ezApX/XSlg7x79b4ghVwwlLsSIiiNvTDB6N 06dA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=PCP8eXeYalFQxUcrQ3/FrtqjgCxxVlX7LiIMyPjqTF0=; b=Zjun3In6Qu4dJBR0n3vLuzChu/6UF/SdoA6D2KDS5oz3nADQAQa2yQ3atsTNM7IfTe QtOXTpcBL3OTZ85OQaGcopH6qhtEMJBXWwtkMsjRmOGkZcwU5/VBD/AxR4UNl1MKBjbp Pk0UV1W6hmcLe48TEWuWtFhC14q48NUx2XRSTB5e0BuKAgDcsiy6ZeA8DtAhRM1B6BnW djOMcjXtaZCh9PZZ35dGLydKMeJqM3S9qAKDUOAyszzCvKcWDtCPXhS38YrdmhMdEkaa zzFgZ0RRX+pnC9+fj1+ZPIs2ZKfy1PBUEwU31csdep1Rxnej6tAtNYwS9JGIwh05Hp+z a3kw== X-Gm-Message-State: AOAM5302y0/ZpVlVd+T14d860ONj5cXWyQeeWhVINPQfTdaqq0i3jPWH ITzt0yR0D0MxOZjffmkDvqMHlA== X-Google-Smtp-Source: ABdhPJzNRnA1Be/6ZJ5+vZ0VOTKPtHvfX/WC7Z9HwH3W82FFt4erqoky0CLVSrSUxr5M1THWCjlOCw== X-Received: by 2002:a17:902:f54c:b0:14f:c36f:804 with SMTP id h12-20020a170902f54c00b0014fc36f0804mr40863288plf.119.1646388220795; Fri, 04 Mar 2022 02:03:40 -0800 (PST) Received: from hsinchu16.internal.sifive.com (59-124-168-89.hinet-ip.hinet.net. [59.124.168.89]) by smtp.gmail.com with ESMTPSA id j8-20020a056a00174800b004f26d3f5b03sm5461605pfc.39.2022.03.04.02.03.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Mar 2022 02:03:40 -0800 (PST) From: Zong Li To: mturquette@baylibre.com, sboyd@kernel.org, palmer@dabbelt.com, paul.walmsley@sifive.com, lee.jones@linaro.org, robh+dt@kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Zong Li , Palmer Dabbelt Subject: [PATCH v2 5/5] clk: sifive: Move all stuff into SoCs header files from C files Date: Fri, 4 Mar 2022 18:03:21 +0800 Message-Id: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Improve PRCI driver to reduce the complexity, we remove the SoCs C files by putting all stuff in each SoCs header files, and include these SoCs-specific header files in core of PRCI. It can also avoid the W=3D1 kernel build warnings about variable defined but not used [-Wunused-const-variable=3D], like commit 487dc7bb6a0c ("clk: sifive: fu540-prci: Declare static const variable 'prci_clk_fu540' where it's used") does. Signed-off-by: Zong Li Suggested-by: Lee Jones Reviewed-by: Lee Jones Acked-by: Palmer Dabbelt --- drivers/clk/sifive/Makefile | 2 +- drivers/clk/sifive/fu540-prci.c | 88 -------------------- drivers/clk/sifive/fu540-prci.h | 91 ++++++++++++++++++++- drivers/clk/sifive/fu740-prci.c | 133 ------------------------------- drivers/clk/sifive/fu740-prci.h | 130 +++++++++++++++++++++++++++++- drivers/clk/sifive/sifive-prci.c | 5 -- 6 files changed, 214 insertions(+), 235 deletions(-) delete mode 100644 drivers/clk/sifive/fu540-prci.c delete mode 100644 drivers/clk/sifive/fu740-prci.c diff --git a/drivers/clk/sifive/Makefile b/drivers/clk/sifive/Makefile index 7b06fc04e6b3..efdf01f1c8d5 100644 --- a/drivers/clk/sifive/Makefile +++ b/drivers/clk/sifive/Makefile @@ -1,2 +1,2 @@ # SPDX-License-Identifier: GPL-2.0-only -obj-$(CONFIG_CLK_SIFIVE_PRCI) +=3D sifive-prci.o fu540-prci.o fu740-prci.o +obj-$(CONFIG_CLK_SIFIVE_PRCI) +=3D sifive-prci.o diff --git a/drivers/clk/sifive/fu540-prci.c b/drivers/clk/sifive/fu540-prc= i.c deleted file mode 100644 index 672c782ad604..000000000000 --- a/drivers/clk/sifive/fu540-prci.c +++ /dev/null @@ -1,88 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Copyright (C) 2018-2022 SiFive, Inc. - * Copyright (C) 2018-2019 Wesley Terpstra - * Copyright (C) 2018-2019 Paul Walmsley - * Copyright (C) 2020-2022 Zong Li - * - * The FU540 PRCI implements clock and reset control for the SiFive - * FU540-C000 chip. This driver assumes that it has sole control - * over all PRCI resources. - * - * This driver is based on the PRCI driver written by Wesley Terpstra: - * https://github.com/riscv/riscv-linux/commit/999529edf517ed75b56659d456d= 221b2ee56bb60 - * - * References: - * - SiFive FU540-C000 manual v1p0, Chapter 7 "Clocking and Reset" - */ - -#include - -#include - -#include "sifive-prci.h" - -/* PRCI integration data for each WRPLL instance */ - -static struct __prci_wrpll_data sifive_fu540_prci_corepll_data =3D { - .cfg0_offs =3D PRCI_COREPLLCFG0_OFFSET, - .cfg1_offs =3D PRCI_COREPLLCFG1_OFFSET, - .enable_bypass =3D sifive_prci_coreclksel_use_hfclk, - .disable_bypass =3D sifive_prci_coreclksel_use_corepll, -}; - -static struct __prci_wrpll_data sifive_fu540_prci_ddrpll_data =3D { - .cfg0_offs =3D PRCI_DDRPLLCFG0_OFFSET, - .cfg1_offs =3D PRCI_DDRPLLCFG1_OFFSET, -}; - -static struct __prci_wrpll_data sifive_fu540_prci_gemgxlpll_data =3D { - .cfg0_offs =3D PRCI_GEMGXLPLLCFG0_OFFSET, - .cfg1_offs =3D PRCI_GEMGXLPLLCFG1_OFFSET, -}; - -/* Linux clock framework integration */ - -static const struct clk_ops sifive_fu540_prci_wrpll_clk_ops =3D { - .set_rate =3D sifive_prci_wrpll_set_rate, - .round_rate =3D sifive_prci_wrpll_round_rate, - .recalc_rate =3D sifive_prci_wrpll_recalc_rate, - .enable =3D sifive_prci_clock_enable, - .disable =3D sifive_prci_clock_disable, - .is_enabled =3D sifive_clk_is_enabled, -}; - -static const struct clk_ops sifive_fu540_prci_wrpll_ro_clk_ops =3D { - .recalc_rate =3D sifive_prci_wrpll_recalc_rate, -}; - -static const struct clk_ops sifive_fu540_prci_tlclksel_clk_ops =3D { - .recalc_rate =3D sifive_prci_tlclksel_recalc_rate, -}; - -/* List of clock controls provided by the PRCI */ -struct __prci_clock __prci_init_clocks_fu540[] =3D { - [FU540_PRCI_CLK_COREPLL] =3D { - .name =3D "corepll", - .parent_name =3D "hfclk", - .ops =3D &sifive_fu540_prci_wrpll_clk_ops, - .pwd =3D &sifive_fu540_prci_corepll_data, - }, - [FU540_PRCI_CLK_DDRPLL] =3D { - .name =3D "ddrpll", - .parent_name =3D "hfclk", - .ops =3D &sifive_fu540_prci_wrpll_ro_clk_ops, - .pwd =3D &sifive_fu540_prci_ddrpll_data, - }, - [FU540_PRCI_CLK_GEMGXLPLL] =3D { - .name =3D "gemgxlpll", - .parent_name =3D "hfclk", - .ops =3D &sifive_fu540_prci_wrpll_clk_ops, - .pwd =3D &sifive_fu540_prci_gemgxlpll_data, - }, - [FU540_PRCI_CLK_TLCLK] =3D { - .name =3D "tlclk", - .parent_name =3D "corepll", - .ops =3D &sifive_fu540_prci_tlclksel_clk_ops, - }, -}; diff --git a/drivers/clk/sifive/fu540-prci.h b/drivers/clk/sifive/fu540-prc= i.h index c220677dc010..e0173324f3c5 100644 --- a/drivers/clk/sifive/fu540-prci.h +++ b/drivers/clk/sifive/fu540-prci.h @@ -1,16 +1,99 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* - * Copyright (C) 2020 SiFive, Inc. - * Zong Li + * Copyright (C) 2018-2021 SiFive, Inc. + * Copyright (C) 2018-2019 Wesley Terpstra + * Copyright (C) 2018-2019 Paul Walmsley + * Copyright (C) 2020-2021 Zong Li + * + * The FU540 PRCI implements clock and reset control for the SiFive + * FU540-C000 chip. This driver assumes that it has sole control + * over all PRCI resources. + * + * This driver is based on the PRCI driver written by Wesley Terpstra: + * https://github.com/riscv/riscv-linux/commit/999529edf517ed75b56659d456d= 221b2ee56bb60 + * + * References: + * - SiFive FU540-C000 manual v1p0, Chapter 7 "Clocking and Reset" */ =20 #ifndef __SIFIVE_CLK_FU540_PRCI_H #define __SIFIVE_CLK_FU540_PRCI_H =20 + +#include + +#include + #include "sifive-prci.h" =20 -#define NUM_CLOCK_FU540 4 +/* PRCI integration data for each WRPLL instance */ + +static struct __prci_wrpll_data sifive_fu540_prci_corepll_data =3D { + .cfg0_offs =3D PRCI_COREPLLCFG0_OFFSET, + .cfg1_offs =3D PRCI_COREPLLCFG1_OFFSET, + .enable_bypass =3D sifive_prci_coreclksel_use_hfclk, + .disable_bypass =3D sifive_prci_coreclksel_use_corepll, +}; + +static struct __prci_wrpll_data sifive_fu540_prci_ddrpll_data =3D { + .cfg0_offs =3D PRCI_DDRPLLCFG0_OFFSET, + .cfg1_offs =3D PRCI_DDRPLLCFG1_OFFSET, +}; + +static struct __prci_wrpll_data sifive_fu540_prci_gemgxlpll_data =3D { + .cfg0_offs =3D PRCI_GEMGXLPLLCFG0_OFFSET, + .cfg1_offs =3D PRCI_GEMGXLPLLCFG1_OFFSET, +}; + +/* Linux clock framework integration */ + +static const struct clk_ops sifive_fu540_prci_wrpll_clk_ops =3D { + .set_rate =3D sifive_prci_wrpll_set_rate, + .round_rate =3D sifive_prci_wrpll_round_rate, + .recalc_rate =3D sifive_prci_wrpll_recalc_rate, + .enable =3D sifive_prci_clock_enable, + .disable =3D sifive_prci_clock_disable, + .is_enabled =3D sifive_clk_is_enabled, +}; + +static const struct clk_ops sifive_fu540_prci_wrpll_ro_clk_ops =3D { + .recalc_rate =3D sifive_prci_wrpll_recalc_rate, +}; + +static const struct clk_ops sifive_fu540_prci_tlclksel_clk_ops =3D { + .recalc_rate =3D sifive_prci_tlclksel_recalc_rate, +}; + +/* List of clock controls provided by the PRCI */ +static struct __prci_clock __prci_init_clocks_fu540[] =3D { + [FU540_PRCI_CLK_COREPLL] =3D { + .name =3D "corepll", + .parent_name =3D "hfclk", + .ops =3D &sifive_fu540_prci_wrpll_clk_ops, + .pwd =3D &sifive_fu540_prci_corepll_data, + }, + [FU540_PRCI_CLK_DDRPLL] =3D { + .name =3D "ddrpll", + .parent_name =3D "hfclk", + .ops =3D &sifive_fu540_prci_wrpll_ro_clk_ops, + .pwd =3D &sifive_fu540_prci_ddrpll_data, + }, + [FU540_PRCI_CLK_GEMGXLPLL] =3D { + .name =3D "gemgxlpll", + .parent_name =3D "hfclk", + .ops =3D &sifive_fu540_prci_wrpll_clk_ops, + .pwd =3D &sifive_fu540_prci_gemgxlpll_data, + }, + [FU540_PRCI_CLK_TLCLK] =3D { + .name =3D "tlclk", + .parent_name =3D "corepll", + .ops =3D &sifive_fu540_prci_tlclksel_clk_ops, + }, +}; =20 -extern struct __prci_clock __prci_init_clocks_fu540[NUM_CLOCK_FU540]; +static const struct prci_clk_desc prci_clk_fu540 =3D { + .clks =3D __prci_init_clocks_fu540, + .num_clks =3D ARRAY_SIZE(__prci_init_clocks_fu540), +}; =20 #endif /* __SIFIVE_CLK_FU540_PRCI_H */ diff --git a/drivers/clk/sifive/fu740-prci.c b/drivers/clk/sifive/fu740-prc= i.c deleted file mode 100644 index f27d1a42d946..000000000000 --- a/drivers/clk/sifive/fu740-prci.c +++ /dev/null @@ -1,133 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Copyright (C) 2020-2022 SiFive, Inc. - * Copyright (C) 2020-2022 Zong Li - */ - -#include - -#include - -#include "sifive-prci.h" - -/* PRCI integration data for each WRPLL instance */ - -static struct __prci_wrpll_data sifive_fu740_prci_corepll_data =3D { - .cfg0_offs =3D PRCI_COREPLLCFG0_OFFSET, - .cfg1_offs =3D PRCI_COREPLLCFG1_OFFSET, - .enable_bypass =3D sifive_prci_coreclksel_use_hfclk, - .disable_bypass =3D sifive_prci_coreclksel_use_final_corepll, -}; - -static struct __prci_wrpll_data sifive_fu740_prci_ddrpll_data =3D { - .cfg0_offs =3D PRCI_DDRPLLCFG0_OFFSET, - .cfg1_offs =3D PRCI_DDRPLLCFG1_OFFSET, -}; - -static struct __prci_wrpll_data sifive_fu740_prci_gemgxlpll_data =3D { - .cfg0_offs =3D PRCI_GEMGXLPLLCFG0_OFFSET, - .cfg1_offs =3D PRCI_GEMGXLPLLCFG1_OFFSET, -}; - -static struct __prci_wrpll_data sifive_fu740_prci_dvfscorepll_data =3D { - .cfg0_offs =3D PRCI_DVFSCOREPLLCFG0_OFFSET, - .cfg1_offs =3D PRCI_DVFSCOREPLLCFG1_OFFSET, - .enable_bypass =3D sifive_prci_corepllsel_use_corepll, - .disable_bypass =3D sifive_prci_corepllsel_use_dvfscorepll, -}; - -static struct __prci_wrpll_data sifive_fu740_prci_hfpclkpll_data =3D { - .cfg0_offs =3D PRCI_HFPCLKPLLCFG0_OFFSET, - .cfg1_offs =3D PRCI_HFPCLKPLLCFG1_OFFSET, - .enable_bypass =3D sifive_prci_hfpclkpllsel_use_hfclk, - .disable_bypass =3D sifive_prci_hfpclkpllsel_use_hfpclkpll, -}; - -static struct __prci_wrpll_data sifive_fu740_prci_cltxpll_data =3D { - .cfg0_offs =3D PRCI_CLTXPLLCFG0_OFFSET, - .cfg1_offs =3D PRCI_CLTXPLLCFG1_OFFSET, -}; - -/* Linux clock framework integration */ - -static const struct clk_ops sifive_fu740_prci_wrpll_clk_ops =3D { - .set_rate =3D sifive_prci_wrpll_set_rate, - .round_rate =3D sifive_prci_wrpll_round_rate, - .recalc_rate =3D sifive_prci_wrpll_recalc_rate, - .enable =3D sifive_prci_clock_enable, - .disable =3D sifive_prci_clock_disable, - .is_enabled =3D sifive_clk_is_enabled, -}; - -static const struct clk_ops sifive_fu740_prci_wrpll_ro_clk_ops =3D { - .recalc_rate =3D sifive_prci_wrpll_recalc_rate, -}; - -static const struct clk_ops sifive_fu740_prci_tlclksel_clk_ops =3D { - .recalc_rate =3D sifive_prci_tlclksel_recalc_rate, -}; - -static const struct clk_ops sifive_fu740_prci_hfpclkplldiv_clk_ops =3D { - .recalc_rate =3D sifive_prci_hfpclkplldiv_recalc_rate, -}; - -static const struct clk_ops sifive_fu740_prci_pcie_aux_clk_ops =3D { - .enable =3D sifive_prci_pcie_aux_clock_enable, - .disable =3D sifive_prci_pcie_aux_clock_disable, - .is_enabled =3D sifive_prci_pcie_aux_clock_is_enabled, -}; - -/* List of clock controls provided by the PRCI */ -struct __prci_clock __prci_init_clocks_fu740[] =3D { - [FU740_PRCI_CLK_COREPLL] =3D { - .name =3D "corepll", - .parent_name =3D "hfclk", - .ops =3D &sifive_fu740_prci_wrpll_clk_ops, - .pwd =3D &sifive_fu740_prci_corepll_data, - }, - [FU740_PRCI_CLK_DDRPLL] =3D { - .name =3D "ddrpll", - .parent_name =3D "hfclk", - .ops =3D &sifive_fu740_prci_wrpll_ro_clk_ops, - .pwd =3D &sifive_fu740_prci_ddrpll_data, - }, - [FU740_PRCI_CLK_GEMGXLPLL] =3D { - .name =3D "gemgxlpll", - .parent_name =3D "hfclk", - .ops =3D &sifive_fu740_prci_wrpll_clk_ops, - .pwd =3D &sifive_fu740_prci_gemgxlpll_data, - }, - [FU740_PRCI_CLK_DVFSCOREPLL] =3D { - .name =3D "dvfscorepll", - .parent_name =3D "hfclk", - .ops =3D &sifive_fu740_prci_wrpll_clk_ops, - .pwd =3D &sifive_fu740_prci_dvfscorepll_data, - }, - [FU740_PRCI_CLK_HFPCLKPLL] =3D { - .name =3D "hfpclkpll", - .parent_name =3D "hfclk", - .ops =3D &sifive_fu740_prci_wrpll_clk_ops, - .pwd =3D &sifive_fu740_prci_hfpclkpll_data, - }, - [FU740_PRCI_CLK_CLTXPLL] =3D { - .name =3D "cltxpll", - .parent_name =3D "hfclk", - .ops =3D &sifive_fu740_prci_wrpll_clk_ops, - .pwd =3D &sifive_fu740_prci_cltxpll_data, - }, - [FU740_PRCI_CLK_TLCLK] =3D { - .name =3D "tlclk", - .parent_name =3D "corepll", - .ops =3D &sifive_fu740_prci_tlclksel_clk_ops, - }, - [FU740_PRCI_CLK_PCLK] =3D { - .name =3D "pclk", - .parent_name =3D "hfpclkpll", - .ops =3D &sifive_fu740_prci_hfpclkplldiv_clk_ops, - }, - [FU740_PRCI_CLK_PCIE_AUX] =3D { - .name =3D "pcie_aux", - .parent_name =3D "hfclk", - .ops =3D &sifive_fu740_prci_pcie_aux_clk_ops, - }, -}; diff --git a/drivers/clk/sifive/fu740-prci.h b/drivers/clk/sifive/fu740-prc= i.h index 511a0bf7ba2b..f31cd30fc395 100644 --- a/drivers/clk/sifive/fu740-prci.h +++ b/drivers/clk/sifive/fu740-prci.h @@ -1,17 +1,139 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* - * Copyright (C) 2020 SiFive, Inc. - * Zong Li + * Copyright (C) 2020-2021 SiFive, Inc. + * Copyright (C) 2020-2021 Zong Li */ =20 #ifndef __SIFIVE_CLK_FU740_PRCI_H #define __SIFIVE_CLK_FU740_PRCI_H =20 +#include + +#include + #include "sifive-prci.h" =20 -#define NUM_CLOCK_FU740 9 +/* PRCI integration data for each WRPLL instance */ + +static struct __prci_wrpll_data sifive_fu740_prci_corepll_data =3D { + .cfg0_offs =3D PRCI_COREPLLCFG0_OFFSET, + .cfg1_offs =3D PRCI_COREPLLCFG1_OFFSET, + .enable_bypass =3D sifive_prci_coreclksel_use_hfclk, + .disable_bypass =3D sifive_prci_coreclksel_use_final_corepll, +}; + +static struct __prci_wrpll_data sifive_fu740_prci_ddrpll_data =3D { + .cfg0_offs =3D PRCI_DDRPLLCFG0_OFFSET, + .cfg1_offs =3D PRCI_DDRPLLCFG1_OFFSET, +}; + +static struct __prci_wrpll_data sifive_fu740_prci_gemgxlpll_data =3D { + .cfg0_offs =3D PRCI_GEMGXLPLLCFG0_OFFSET, + .cfg1_offs =3D PRCI_GEMGXLPLLCFG1_OFFSET, +}; + +static struct __prci_wrpll_data sifive_fu740_prci_dvfscorepll_data =3D { + .cfg0_offs =3D PRCI_DVFSCOREPLLCFG0_OFFSET, + .cfg1_offs =3D PRCI_DVFSCOREPLLCFG1_OFFSET, + .enable_bypass =3D sifive_prci_corepllsel_use_corepll, + .disable_bypass =3D sifive_prci_corepllsel_use_dvfscorepll, +}; + +static struct __prci_wrpll_data sifive_fu740_prci_hfpclkpll_data =3D { + .cfg0_offs =3D PRCI_HFPCLKPLLCFG0_OFFSET, + .cfg1_offs =3D PRCI_HFPCLKPLLCFG1_OFFSET, + .enable_bypass =3D sifive_prci_hfpclkpllsel_use_hfclk, + .disable_bypass =3D sifive_prci_hfpclkpllsel_use_hfpclkpll, +}; + +static struct __prci_wrpll_data sifive_fu740_prci_cltxpll_data =3D { + .cfg0_offs =3D PRCI_CLTXPLLCFG0_OFFSET, + .cfg1_offs =3D PRCI_CLTXPLLCFG1_OFFSET, +}; + +/* Linux clock framework integration */ + +static const struct clk_ops sifive_fu740_prci_wrpll_clk_ops =3D { + .set_rate =3D sifive_prci_wrpll_set_rate, + .round_rate =3D sifive_prci_wrpll_round_rate, + .recalc_rate =3D sifive_prci_wrpll_recalc_rate, + .enable =3D sifive_prci_clock_enable, + .disable =3D sifive_prci_clock_disable, + .is_enabled =3D sifive_clk_is_enabled, +}; =20 -extern struct __prci_clock __prci_init_clocks_fu740[NUM_CLOCK_FU740]; +static const struct clk_ops sifive_fu740_prci_wrpll_ro_clk_ops =3D { + .recalc_rate =3D sifive_prci_wrpll_recalc_rate, +}; + +static const struct clk_ops sifive_fu740_prci_tlclksel_clk_ops =3D { + .recalc_rate =3D sifive_prci_tlclksel_recalc_rate, +}; + +static const struct clk_ops sifive_fu740_prci_hfpclkplldiv_clk_ops =3D { + .recalc_rate =3D sifive_prci_hfpclkplldiv_recalc_rate, +}; + +static const struct clk_ops sifive_fu740_prci_pcie_aux_clk_ops =3D { + .enable =3D sifive_prci_pcie_aux_clock_enable, + .disable =3D sifive_prci_pcie_aux_clock_disable, + .is_enabled =3D sifive_prci_pcie_aux_clock_is_enabled, +}; + +/* List of clock controls provided by the PRCI */ +static struct __prci_clock __prci_init_clocks_fu740[] =3D { + [FU740_PRCI_CLK_COREPLL] =3D { + .name =3D "corepll", + .parent_name =3D "hfclk", + .ops =3D &sifive_fu740_prci_wrpll_clk_ops, + .pwd =3D &sifive_fu740_prci_corepll_data, + }, + [FU740_PRCI_CLK_DDRPLL] =3D { + .name =3D "ddrpll", + .parent_name =3D "hfclk", + .ops =3D &sifive_fu740_prci_wrpll_ro_clk_ops, + .pwd =3D &sifive_fu740_prci_ddrpll_data, + }, + [FU740_PRCI_CLK_GEMGXLPLL] =3D { + .name =3D "gemgxlpll", + .parent_name =3D "hfclk", + .ops =3D &sifive_fu740_prci_wrpll_clk_ops, + .pwd =3D &sifive_fu740_prci_gemgxlpll_data, + }, + [FU740_PRCI_CLK_DVFSCOREPLL] =3D { + .name =3D "dvfscorepll", + .parent_name =3D "hfclk", + .ops =3D &sifive_fu740_prci_wrpll_clk_ops, + .pwd =3D &sifive_fu740_prci_dvfscorepll_data, + }, + [FU740_PRCI_CLK_HFPCLKPLL] =3D { + .name =3D "hfpclkpll", + .parent_name =3D "hfclk", + .ops =3D &sifive_fu740_prci_wrpll_clk_ops, + .pwd =3D &sifive_fu740_prci_hfpclkpll_data, + }, + [FU740_PRCI_CLK_CLTXPLL] =3D { + .name =3D "cltxpll", + .parent_name =3D "hfclk", + .ops =3D &sifive_fu740_prci_wrpll_clk_ops, + .pwd =3D &sifive_fu740_prci_cltxpll_data, + }, + [FU740_PRCI_CLK_TLCLK] =3D { + .name =3D "tlclk", + .parent_name =3D "corepll", + .ops =3D &sifive_fu740_prci_tlclksel_clk_ops, + }, + [FU740_PRCI_CLK_PCLK] =3D { + .name =3D "pclk", + .parent_name =3D "hfpclkpll", + .ops =3D &sifive_fu740_prci_hfpclkplldiv_clk_ops, + }, + [FU740_PRCI_CLK_PCIE_AUX] =3D { + .name =3D "pcie_aux", + .parent_name =3D "hfclk", + .ops =3D &sifive_fu740_prci_pcie_aux_clk_ops, + }, +}; =20 static const struct prci_clk_desc prci_clk_fu740 =3D { .clks =3D __prci_init_clocks_fu740, diff --git a/drivers/clk/sifive/sifive-prci.c b/drivers/clk/sifive/sifive-p= rci.c index 80a288c59e56..916d2fc28b9c 100644 --- a/drivers/clk/sifive/sifive-prci.c +++ b/drivers/clk/sifive/sifive-prci.c @@ -12,11 +12,6 @@ #include "fu540-prci.h" #include "fu740-prci.h" =20 -static const struct prci_clk_desc prci_clk_fu540 =3D { - .clks =3D __prci_init_clocks_fu540, - .num_clks =3D ARRAY_SIZE(__prci_init_clocks_fu540), -}; - /* * Private functions */ --=20 2.31.1