From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9931FC10F00 for ; Fri, 6 Mar 2020 13:01:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7BACD208CD for ; Fri, 6 Mar 2020 13:01:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727066AbgCFNBL (ORCPT ); Fri, 6 Mar 2020 08:01:11 -0500 Received: from mail.baikalelectronics.com ([87.245.175.226]:35956 "EHLO mail.baikalelectronics.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726167AbgCFNA5 (ORCPT ); Fri, 6 Mar 2020 08:00:57 -0500 Received: from localhost (unknown [127.0.0.1]) by mail.baikalelectronics.ru (Postfix) with ESMTP id BCBFC803078F; Fri, 6 Mar 2020 13:00:53 +0000 (UTC) X-Virus-Scanned: amavisd-new at baikalelectronics.ru Received: from mail.baikalelectronics.ru ([127.0.0.1]) by localhost (mail.baikalelectronics.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p-aO_RiIVZQH; Fri, 6 Mar 2020 16:00:53 +0300 (MSK) From: CC: Serge Semin , Serge Semin , Alexey Malahov , Maxim Kaurkin , Pavel Parkhomenko , Ramil Zaripov , Ekaterina Skachko , Vadim Vlasov , Thomas Bogendoerfer , Paul Burton , Ralf Baechle , Michael Turquette , Stephen Boyd , Rob Herring , Mark Rutland , , , Subject: [PATCH 0/5] clk: Add Baikal-T1 SoC Clock Control Unit support Date: Fri, 6 Mar 2020 16:00:43 +0300 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-ClientProxiedBy: MAIL.baikal.int (192.168.51.25) To mail (192.168.51.25) Message-Id: <20200306130053.BCBFC803078F@mail.baikalelectronics.ru> To: unlisted-recipients:; (no To-header on input) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Serge Semin Clocks Control Unit is the core of Baikal-T1 SoC responsible for the chip subsystems clocking and resetting. The CCU is connected with an external fixed rate oscillator, which signal is transformed into clocks of various frequencies and then propagated to either individual IP-blocks or to groups of blocks (clock domains). The transformation is done by means of PLLs and gateable/non-gateable, fixed/variable dividers embedded into the CCU. There are five PLLs to create a clock for the MIPS P5600 cores, the embedded DDR controller, SATA, Ethernet and PCIe domains. The last three PLLs CLKOUT are then passed over CCU dividers to create signals required for the target clock domains: individual AXI and APB bus clocks, SoC devices reference clocks. The CCU divider registers may also provide a way to reset the target devices state. So this patchset introduces the Baikal-T1 clock and reset drivers of CCU PLLs, AXI-bus clock dividers and system devices clock dividers. This patchset is rebased and tested on the mainline Linux kernel 5.6-rc4: commit 98d54f81e36b ("Linux 5.6-rc4"). Signed-off-by: Serge Semin Signed-off-by: Alexey Malahov Cc: Maxim Kaurkin Cc: Pavel Parkhomenko Cc: Ramil Zaripov Cc: Ekaterina Skachko Cc: Vadim Vlasov Cc: Thomas Bogendoerfer Cc: Paul Burton Cc: Ralf Baechle Cc: Michael Turquette Cc: Stephen Boyd Cc: Rob Herring Cc: Mark Rutland Cc: linux-clk@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Serge Semin (5): dt-bindings: clk: Add Baikal-T1 CCU PLLs bindings dt-bindings: clk: Add Baikal-T1 AXI-bus CCU bindings dt-bindings: clk: Add Baikal-T1 System Devices CCU bindings clk: Add Baikal-T1 CCU PLLs driver clk: Add Baikal-T1 CCU dividers driver .../bindings/clock/be,bt1-ccu-axi.yaml | 151 +++++ .../bindings/clock/be,bt1-ccu-pll.yaml | 139 +++++ .../bindings/clock/be,bt1-ccu-sys.yaml | 169 ++++++ drivers/clk/Kconfig | 1 + drivers/clk/Makefile | 1 + drivers/clk/baikal-t1/Kconfig | 46 ++ drivers/clk/baikal-t1/Makefile | 3 + drivers/clk/baikal-t1/ccu-div.c | 531 ++++++++++++++++++ drivers/clk/baikal-t1/ccu-div.h | 114 ++++ drivers/clk/baikal-t1/ccu-pll.c | 474 ++++++++++++++++ drivers/clk/baikal-t1/ccu-pll.h | 73 +++ drivers/clk/baikal-t1/clk-ccu-div.c | 522 +++++++++++++++++ drivers/clk/baikal-t1/clk-ccu-pll.c | 217 +++++++ drivers/clk/baikal-t1/common.h | 51 ++ include/dt-bindings/clock/bt1-ccu.h | 54 ++ include/dt-bindings/reset/bt1-ccu.h | 27 + 16 files changed, 2573 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/be,bt1-ccu-axi.yaml create mode 100644 Documentation/devicetree/bindings/clock/be,bt1-ccu-pll.yaml create mode 100644 Documentation/devicetree/bindings/clock/be,bt1-ccu-sys.yaml create mode 100644 drivers/clk/baikal-t1/Kconfig create mode 100644 drivers/clk/baikal-t1/Makefile create mode 100644 drivers/clk/baikal-t1/ccu-div.c create mode 100644 drivers/clk/baikal-t1/ccu-div.h create mode 100644 drivers/clk/baikal-t1/ccu-pll.c create mode 100644 drivers/clk/baikal-t1/ccu-pll.h create mode 100644 drivers/clk/baikal-t1/clk-ccu-div.c create mode 100644 drivers/clk/baikal-t1/clk-ccu-pll.c create mode 100644 drivers/clk/baikal-t1/common.h create mode 100644 include/dt-bindings/clock/bt1-ccu.h create mode 100644 include/dt-bindings/reset/bt1-ccu.h -- 2.25.1