From patchwork Tue Sep 14 15:56:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 12494077 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=-12.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable 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 F2563C433EF for ; Tue, 14 Sep 2021 15:57:36 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BFCF660E74 for ; Tue, 14 Sep 2021 15:57:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org BFCF660E74 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=xO0hmR48DI2hW+gm1VyYt35Qm279w8J0wx9GawoG77E=; b=OgBNeFx8DBvFKS oOKrJ7z/O2LET+xyUBFbsgt8sSHBz7/2AYGJ4EqcLcvh8jk44yZ1CLK6aDxn/Z9iaoGa/gm00ZWV4 C7Gh6IViuE/oG7Vq4pN3kr1ZsVrFyfZ2p9YvJ4yMHuDJbVMzu6QKTLJ4B5ljUoN8vFVi7Lx1xWLKo nuvGace1IbYv5OkmuBP8ei5ggz3CrX61rkVXjMzsGpqqqA2XQKmmvOcspn23YTLRbrrg4M9yeLIiU pAEKeW/F+qQFpDWIVB0H7LXYqlpJ/6Gw+fFJiFnVaZJyX3s6OAplLjC0rldyr3EWShUEzCUL5eSE5 gfI3kNJr5etSga13LFRg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mQAn8-006JYy-4t; Tue, 14 Sep 2021 15:56:14 +0000 Received: from mail-lf1-x136.google.com ([2a00:1450:4864:20::136]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mQAn4-006JXj-CO for linux-arm-kernel@lists.infradead.org; Tue, 14 Sep 2021 15:56:11 +0000 Received: by mail-lf1-x136.google.com with SMTP id k4so29861117lfj.7 for ; Tue, 14 Sep 2021 08:56:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=D9r7vZTFmt+HJczJ26/VRGmSIRdn9r2Ig6CHBFrDqyQ=; b=WGEzzSuuYjdTtafp7Eu81tLCmpgrr+gXYtUri5DNqI5NCgL24GFjf73a/e2jyLt9mG odsKhpJeEdR3FB9k9Ien6pDJYoUHRHuid0YNZ7TbOAJHb8OyBtWer7iWwSW1u14BXOTW +YgaPZ7iP6bLgkmX18uF8UKm4iFPdCtC9yRbpl7jVdskqTbpu7KwRYteuWz8ZFnqgxxD AfUt/CUakcI47R7HCq1Pt53OXxONCeJvCnNSqyqa5DLS2EJx9dyrtL6MmKj8Qeogi/2k W2fxnWN2DrZhVF2sMisO5VmdDX4hiiHjtj7uYz6E7yZ96NmYUpdC25W3LF6dushrEzbY GW9g== 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:mime-version :content-transfer-encoding; bh=D9r7vZTFmt+HJczJ26/VRGmSIRdn9r2Ig6CHBFrDqyQ=; b=l514wA09cZyGZLMykrhPn+Py/BcmMX+lbeikGjLkA9VqHthLd+fFb+lnNseqMPaXDI OmZ0vmH/0Cmj7QRJzEzj9u4N54HEoIdc3Nmqh4LNmbeU6wLiqh0FmMDHbkrdIaqNCx99 BwGQYwZN9HYqYSIhUeOKITgJiXYSmOtsDESmej+sM8Ky/OA9Eh9JKWZOXw+uy2aziny4 0ekm8tOgcQmjOGVFUEltoUvk82nqKsm24H7u+YntnGUm0tbcfGLRThifouZcevaSehYo G/r9EMq1EmgyrG3eSBDEB5zJ2eedA+YlQOA+uKUnX32wSIxARpuAOKGqXMaAqqX8xEkG V46w== X-Gm-Message-State: AOAM5326MmnpmSgUqRu5K1rDP1q2YQTY1FKTygQZP5wcT7Q5Olv7fzEc HIl3Kn8ExhBjAKTlevFTrF566un74f85l3AO X-Google-Smtp-Source: ABdhPJxyinnxHmfXKBVGde0Dv5bF8T5/S0h3LFk8Is4k0D1dXCGfavlZhTNu/0Ze4Zz34a+lhodbWQ== X-Received: by 2002:ac2:5b07:: with SMTP id v7mr586587lfn.113.1631634968690; Tue, 14 Sep 2021 08:56:08 -0700 (PDT) Received: from localhost ([31.134.121.151]) by smtp.gmail.com with ESMTPSA id 26sm603801lfz.40.2021.09.14.08.56.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Sep 2021 08:56:08 -0700 (PDT) From: Sam Protsenko To: Krzysztof Kozlowski , Sylwester Nawrocki , =?utf-8?q?Pawe=C5=82_Chmiel?= , Chanwoo Choi , Tomasz Figa , Rob Herring , Stephen Boyd , Michael Turquette Cc: Ryu Euiyoul , Tom Gall , Sumit Semwal , John Stultz , Amit Pundir , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org Subject: [PATCH 0/6] clk: samsung: Introduce Exynos850 SoC clock driver Date: Tue, 14 Sep 2021 18:56:01 +0300 Message-Id: <20210914155607.14122-1-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210914_085610_470627_FFC76D03 X-CRM114-Status: GOOD ( 15.02 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This patch series provides the implementation for Exynos850 clock driver, its documentation and corresponding changes for Samsung clock infrastructure: - Adds new PLL types used in Exynos850 SoC, following TRM - Enables bus clock for each registered CMU, if it's provided I tried to follow already established design for Samsung clock drivers (getting most insights from Exynos7 and Exynos5433 clock drivers), and integrate the driver in existing infrastructure. The whole driver was implemented from scratch, using mostly TRM. For now only basic clocks are implemented, including next blocks: - CMU_TOP - CMU_PERI - CMU_CORE - CMU_HSI Some CMUs are still not implemented, but that can be added in future, when the need arises. The driver also lacks CLKOUT support, PM ops and automatic clocks control (using Q-Channel protocol). All that can be added independently later. Implemented clock tree was tested via UART and MMC drivers, and using DebugFS clk support (e.g. using 'clk_summary' file). In order to keep all clocks running I added 'clk_ignore_unused' kernel param in my local tree, and defined CLOCK_ALLOW_WRITE_DEBUGFS in clk.c for actually testing clocks via DebugFS. Sam Protsenko (6): clk: samsung: Enable bus clock on init clk: samsung: clk-pll: Implement pll0822x PLL type clk: samsung: clk-pll: Implement pll0831x PLL type dt-bindings: clock: Add bindings definitions for Exynos850 CMU dt-bindings: clock: Document Exynos850 CMU bindings clk: samsung: Introduce Exynos850 clock driver .../clock/samsung,exynos850-clock.yaml | 190 +++++ drivers/clk/samsung/Makefile | 1 + drivers/clk/samsung/clk-exynos850.c | 700 ++++++++++++++++++ drivers/clk/samsung/clk-pll.c | 196 +++++ drivers/clk/samsung/clk-pll.h | 2 + drivers/clk/samsung/clk.c | 13 + include/dt-bindings/clock/exynos850.h | 72 ++ 7 files changed, 1174 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/samsung,exynos850-clock.yaml create mode 100644 drivers/clk/samsung/clk-exynos850.c create mode 100644 include/dt-bindings/clock/exynos850.h