Received: by 2002:a05:6358:489b:b0:bb:da1:e618 with SMTP id x27csp703284rwn; Thu, 8 Sep 2022 07:41:49 -0700 (PDT) X-Google-Smtp-Source: AA6agR6fDZuhQlpdLZKGTqua845RiiAwx1UnG8at+5jmxJ4c7moFN+MEzp1KspWN5sIZBQaDr6ro X-Received: by 2002:a17:906:65c6:b0:73c:8897:65b0 with SMTP id z6-20020a17090665c600b0073c889765b0mr6334719ejn.322.1662648108836; Thu, 08 Sep 2022 07:41:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662648108; cv=none; d=google.com; s=arc-20160816; b=yJ5rr5g6BdD1CSDRhKp8CwasT0wrT91lx8G8W6bnesKcy9uXQGlxOiSAbPS7ehzfMq M9EBRxtGBd/BPky8CCleTP2L7HlhsLViF/GRgCnECBayubrea+ONf0wloFeeTuSKdEDj KDkH3j1buzEIt+qAqi6f2K5Qi+jMo23AGeRJCFinz3xKAawvYkYabqgmETy/RqH8deqP bS5isJR5gJf5Ks0Zh37cVuUHvfr5TZlvGF9A5kySayTB8IHJf/rO6DGndcBCktkil0/k hnkZdQaJk1au8XsGkyZbOW4bApFTjB2udHYFpZuex2f/QLZIDzTM4ggRh1nsGGlANBLy pbaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=7GxcFfoHLeKeTqZ61fXwRaxIE2kyqQRn9EOQB3PYq/c=; b=TiisiQHdNCxnzAZB3heHTL0WPyktQ1ZTT6Eib/Qu8/MTwq1dx7E9inqpAby4NJcG1k lkXrHFGFn5hw1QeKhwTiSG+dUf88OYFHgSFJrenNpWCAveLILPRAkKhwIcLftrCZDq6k JZK7Jrrxe3cuEdukvrVjJz48sxM409RAxrspZ/gBG+qL6TJX+gNGuJAB51iQz6xjEpvh XaZxDloJNNV33ZB6rwvKAEFZrwoUX3Q28MZ3DPrXH2DSz5gZpFdGUJIPx26Dz9gdy34N 4pGzpzSEQBVaLWUeD53ABFNvuDVRueq0pOoynI9H/Vda8dcGD2CfC1VxNZni8QlRFNEX YjZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=p7CNmOJp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id he36-20020a1709073da400b007707ab4be28si2486156ejc.972.2022.09.08.07.41.23; Thu, 08 Sep 2022 07:41:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=p7CNmOJp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232004AbiIHOh3 (ORCPT + 99 others); Thu, 8 Sep 2022 10:37:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54394 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231532AbiIHOh1 (ORCPT ); Thu, 8 Sep 2022 10:37:27 -0400 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.153.233]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B939DD021F; Thu, 8 Sep 2022 07:37:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1662647847; x=1694183847; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=T3xJtNPHqr8WdakAV8lZkaxZQYCt2Hw3WcUDKGualCk=; b=p7CNmOJpKK2m1dww2ts1yZE6Y3D5bqXobNnFeJp5XO004gg37oReQpo9 GSxMrkhK+iiwJq/1tMYumUq8R57jrNMKkCqJCRjZEPXzh+D/4p4jJmz3m ykf6NgvCQo+rL4m9J+4/7/S9PSwkfcRsjM8tobLdv2E/nnT023CfTQ5JT ozuCnxboXPo8hd2q6hRpQSt8gQLqAHAV2DLztnAn7sYgbXDuG9Nq/Z4vp D3Lb49fR0yrdezGLtqftFGUMSlMbKXRijcY/nb0+UpNlJRpB3Hfgl/iAW yk7Aui9Vt0ZFJ7tWGbYdNkXDyHr+VBXm7eutTK9Wd+Wme91Th6mEEEgCM Q==; X-IronPort-AV: E=Sophos;i="5.93,300,1654585200"; d="scan'208";a="189986843" Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa1.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 08 Sep 2022 07:37:26 -0700 Received: from chn-vm-ex02.mchp-main.com (10.10.87.72) by chn-vm-ex02.mchp-main.com (10.10.87.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.12; Thu, 8 Sep 2022 07:37:25 -0700 Received: from wendy.microchip.com (10.10.115.15) by chn-vm-ex02.mchp-main.com (10.10.85.144) with Microsoft SMTP Server id 15.1.2507.12 via Frontend Transport; Thu, 8 Sep 2022 07:37:23 -0700 From: Conor Dooley To: Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Palmer Dabbelt , Conor Dooley , Daire McNamara , Hugh Breslin CC: Paul Walmsley , Albert Ou , Claudiu Beznea , , , , Subject: [PATCH v5 0/5] Add PolarFire SoC Fabric Clock Conditioning Circuitry Support Date: Thu, 8 Sep 2022 15:36:47 +0100 Message-ID: <20220908143651.1252601-1-conor.dooley@microchip.com> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hey all, PolarFire SoC has 4 clock source blocks, each with 2 PLLs and 2 DLLs, in the corners of the FPGA fabric. Add bindings, a driver supporting the PLLs and the requisite changes to the devicetrees for PolarFire SoC based boards. These clocks were already in use, but which clock specifically was chosen was decided by the synthesis tool. In our end-of-September release of our FPGA reference design, constraints will be added to force the synthesis tool to pick the "north west" CCC, making it possible to read the configuration from the CCC's registers. There are no maintainers changes in this series, but they are required due to the binding rename. I am waiting for some changes queued in the soc tree before rebasing on a later -rc before including that patch. The dts patch conflicts with some other dts patches I have submitted, so I will take the final patch myself once the rest of this is applied. Thanks, Conor. Changes since v4: - Fix some alignment issues, per Claudiu Changes since v3: - return devm_of_clk_add_hw_provider() directly in probe - add a `hw_data.num = num_clks` that got lost along the way somewhere - mark all output clocks as CLK_DIVIDER_ONE_BASED Changes since v2: - Removed the unintentionaly leftover clock-output-names - Dropped the riscv/microchip dt-binding update. I am moving it to another series so that another series for the dts, which is likely to be applied first would not depend on this series. Changes since v1: - Stopped using the dt node name to generate the clk name. Rather than use clock-output-names etc, I just opted to call each PLL after it's individual base address: cccrefclk ccc@38100000_pll0 ccc@38100000_pll0_out3 ccc@38100000_pll0_out2 ccc@38100000_pll0_out1 ccc@38100000_pll0_out0 - dt nodes are now all called "clock-controller" Conor Dooley (5): dt-bindings: clk: rename mpfs-clkcfg binding dt-bindings: clk: document PolarFire SoC fabric clocks dt-bindings: clk: add PolarFire SoC fabric clock ids clk: microchip: add PolarFire SoC fabric clock support riscv: dts: microchip: add the mpfs' fabric clock control .../bindings/clock/microchip,mpfs-ccc.yaml | 80 +++++ ...p,mpfs.yaml => microchip,mpfs-clkcfg.yaml} | 2 +- .../dts/microchip/mpfs-icicle-kit-fabric.dtsi | 27 +- .../boot/dts/microchip/mpfs-icicle-kit.dts | 4 + .../dts/microchip/mpfs-polarberry-fabric.dtsi | 5 + arch/riscv/boot/dts/microchip/mpfs.dtsi | 34 +- drivers/clk/microchip/Makefile | 1 + drivers/clk/microchip/clk-mpfs-ccc.c | 290 ++++++++++++++++++ .../dt-bindings/clock/microchip,mpfs-clock.h | 23 ++ 9 files changed, 453 insertions(+), 13 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/microchip,mpfs-ccc.yaml rename Documentation/devicetree/bindings/clock/{microchip,mpfs.yaml => microchip,mpfs-clkcfg.yaml} (96%) create mode 100644 drivers/clk/microchip/clk-mpfs-ccc.c -- 2.36.1