Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp409042rwe; Wed, 24 Aug 2022 03:11:19 -0700 (PDT) X-Google-Smtp-Source: AA6agR5XcvZPzfBEa2LNSniCZZaM6ks8SGjR0vng8NpH0wuPVvTZ0+XzGyD3UEsbL785WUyPqaOw X-Received: by 2002:a17:907:6d8a:b0:73b:d9e4:e628 with SMTP id sb10-20020a1709076d8a00b0073bd9e4e628mr2442820ejc.75.1661335878763; Wed, 24 Aug 2022 03:11:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661335878; cv=none; d=google.com; s=arc-20160816; b=gq7m5pJOOHmwfJvpOrV1O976kvcPTcVuQ+0+EyhfB1bUpULdiMOpePtisrIkUExRad 2CNrzu1Or/02pm55PJ+daPjnlB7FvSjh05I5nVcWEcvAh0vMG/g7IufFKE9C7noNtKsZ qWpbOdwCtESPVd4X+JiikGCOHWx/EtCLky5xNjl68kdcixMwko6Lbw/AEGgVHfucz4lW iQJpVsiB8RXRqgBBlT7OcQe+P58N1FxTmJsF3YB1ySpzCcSjnmm4vTPyn6WnC1fH3q4/ Om2I1tYzxAvkaRoDiXPurhVQld93YTKg/oTXFwhKZaL9N/iXlc/oLe6zviNFZFQRD5uf iP7A== 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=sFaOWAmdGm5QKToU8t3c78m2ImGjKib7xJD++cXjIqI=; b=mJGJqpA6EFN3usRL/sKb3Q8pP+ANb9ZCaugP4dcrLnuzOfI4xW8deufJEnmHpl9bs+ mg5rVw0ZWIwf2iYS2Y/08ckFEkv1w/ueobtJAjF+QmGv3W7Jc8R47Vs3nf+mKmJ8ZkDV iDuowgc7nYHKq8O7tccw8nZEzPHgxw50Ya2toEreHqJ0AxgbkYu8TNQ180HLKzMjT5zX enmWWPkfCf1i4svMvL0mcac4ekwXwPLr8RR0YSfsjzvbbI2sdg/CbkrYb6heABwOWK1k ZC0a4LJJPWyNdg5cJTw2OExYBnMgbuF+pFFU8tI27qDsu5yhy0Rn8xDS5J65a53N2GDg wZjw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=nVmxz3Y1; 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 v25-20020a1709063bd900b0073b20e4b786si1560492ejf.92.2022.08.24.03.10.52; Wed, 24 Aug 2022 03:11:18 -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=nVmxz3Y1; 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 S234945AbiHXJeY (ORCPT + 99 others); Wed, 24 Aug 2022 05:34:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54804 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229542AbiHXJeT (ORCPT ); Wed, 24 Aug 2022 05:34:19 -0400 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.154.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CAA9984EEA; Wed, 24 Aug 2022 02:34:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1661333659; x=1692869659; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=6/9bHIY/hzWRwp2EdYp1b9h1WrFSvYNmvafvDtchgVc=; b=nVmxz3Y1XaQOI2khhhVGrkwXxOhKeKZ7PHDE0XE9vueKmqsIColtmJpe m/2R2d3KTGnEKeDtqOzh1i9Hiym0VYRWHoY+OsGZffq2pwN+g5KiVLYGX dfdOdMmim2lNzfHCIRENuJA9Z0K1H4LMO5H8TpCNcf1MGf0JGrM23QZ3+ 5nDx3zGdu/2WKKBHx3qSY+uWXHdwCSiQaP9GOsDC419atc6fl8tSEPf4n s4hn+SOVOi/rYFtlGDsq+uPlaFnFXeyi8szwX5yetTrNkXPuXW2hN7Vs0 5ft+sw9S3d0LfSFGaXjOR0X/Pgx75M8cmjSecTG83TdgEgAUFDSN+qQNW A==; X-IronPort-AV: E=Sophos;i="5.93,260,1654585200"; d="scan'208";a="170697507" Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa4.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 24 Aug 2022 02:34:19 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.12; Wed, 24 Aug 2022 02:34:17 -0700 Received: from wendy.microchip.com (10.10.115.15) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server id 15.1.2507.12 via Frontend Transport; Wed, 24 Aug 2022 02:34:14 -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 , , , , Subject: [PATCH v3 0/5] Add PolarFire SoC Fabric Clock Conditioning Circuitry Support Date: Wed, 24 Aug 2022 10:33:38 +0100 Message-ID: <20220824093342.187844-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,URIBL_BLOCKED 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. I am mainly looking for feedback on the dt-bindings on this version, so that if something dt-abi related needs to change it can be done in advance. 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. Thanks, Conor. Changes since v2: - Removed the unintentionaly leftover clock-output-names - Dropped the riscv/microchip dt-binding update. I am moving it to another series for the dts, which is likely to be applied first so it does 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 | 293 ++++++++++++++++++ .../dt-bindings/clock/microchip,mpfs-clock.h | 23 ++ 9 files changed, 456 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 base-commit: 568035b01cfb107af8d2e4bd2fb9aea22cf5b868 -- 2.36.1