From patchwork Thu Oct 7 19:41:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 515471 Delivered-To: patch@linaro.org Received: by 2002:ac0:b5cc:0:0:0:0:0 with SMTP id x12csp1482454ime; Thu, 7 Oct 2021 12:41:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwCycjfaVasjwFFw4lnwexR9Jud43DWoG82sKDjlvViLyA42JaYOiNKGlgkwI2M8sCMXzLl X-Received: by 2002:a17:906:5801:: with SMTP id m1mr7934459ejq.296.1633635686838; Thu, 07 Oct 2021 12:41:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633635686; cv=none; d=google.com; s=arc-20160816; b=tt6oehPbrgJtLECHtq5FMt+iF8xkm+h3PYPieuQ+g8aDe0/oZ8me8ymQwY68TI/Io4 qZkdjUKJJkyuM8OnP2RD0pbghkW0k5yhhvSc8mnSyNURg0q1les/BCFngDWwj3hVu25G K46SWPSFOoeWlTytrc//BXmmdxVycLAL0auvVLFp1IGDS9V8FmYXZAHPjIAEBDMIRJ7f wYO7CoEhHrfYZW/OLHVO/pVTERYFSM9pvVr8f6pmCAUuAXBmfjuUORe1Pm8Ed18bZIPC rWvMF/kqr2ud324urSk5jH+vNltZHERNnSsaHne34KCfuLd/NHmvsIOQdB+NWXoHVNxO 4rnA== 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=WZ5raaSJ3Kh1m3565MHsi6//vzYo4hkeevp5MNSOJt4=; b=eAsonkf/ODIuiHIPdsw822r4vMXTmDhgWFDRZqFsnFYf+CiaM1sXozclUs+vCi9Xkx 1bj7GuBR2Fh57vtujBbSeX8o7mHuL0uAXKB4cqM1YV2RTCf1MK+nekEt9qaegPqy4TxU CoP7ZGyZZRQgxPblnKkXNl1BktAJ8Ey1qSNlSYkh1pw2ejaWfwkf+tYCg0LkHo2nJJri UOttbCrxBMJmlVbsZlkUO6Y0+pajY5EL9T4geWwmqcYbd8gfdruj3nQ2Q9u2XpIDUI9H 06U9+bfaT6j+R2jR47wbGQjKIISemPCSUq3UeRTDmju8x81JXyQ8gGIA9r/3edmZvHu8 UrKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AbO00kxE; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x96si310320ede.219.2021.10.07.12.41.26; Thu, 07 Oct 2021 12:41:26 -0700 (PDT) Received-SPF: pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AbO00kxE; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231495AbhJGTnT (ORCPT + 7 others); Thu, 7 Oct 2021 15:43:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45782 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232542AbhJGTnL (ORCPT ); Thu, 7 Oct 2021 15:43:11 -0400 Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com [IPv6:2a00:1450:4864:20::12b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C3509C061570 for ; Thu, 7 Oct 2021 12:41:16 -0700 (PDT) Received: by mail-lf1-x12b.google.com with SMTP id u18so29213984lfd.12 for ; Thu, 07 Oct 2021 12:41:16 -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=WZ5raaSJ3Kh1m3565MHsi6//vzYo4hkeevp5MNSOJt4=; b=AbO00kxEwuBcmi49QesZN1giMt72iFySJuAC6O7CpoMTKLLnWY/Sm5SunfqzMIKY5/ C1SG32C3bS0r14x8qS4oc8JtpiMTvT9heLEvBMaxgEfvnbQHsHeE13t2MINGg+TV7fg6 xUdfOK4wwvvDRZ8HAlBsXczfALPPImI5rYrLlXVx2UnKjCHfF+6ibK65xcAMpJv0y8Yv dnf6Oo6uPsYNpHAmGfVrtfYY//4eknVUUwg0ddRACIFXA7Wci6Mwtsp+uIp7YH2ULlBJ tSfK9kTpDB95S/BRzc6kfCntUuG5GrB98Em6b+GZipoJlmLithRsUAtMMglT4qt/RPq7 1Ung== 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=WZ5raaSJ3Kh1m3565MHsi6//vzYo4hkeevp5MNSOJt4=; b=dnj/IiVAGqQq9gBC7mxwLKLCqcFjurhPW5ldFNqiIPcxGbqrpCofZQ/icdRdE9Nk6O XFOxLwndMqSIbh8Dq59u8q1ZtyG7vBeYvYsnc/rz553m84z7Ux8zcnP4uK5MVGjK+aNH sj0+Xrt0mZSmKsF5/A4vf7pI9Zed9t1H7So3OyC8AmVrZwu724ABDaC/qWYr4OJ8tFQF eDpRzYvw4g0dph1BHIKACg1dLD6AkbBDVeM8cZCgsX1FNpFBvadI5Rp9UAFQAHrQLmfG MF62AGzkdGaMaCAQlQo7ax5v0U/fHZbgTd0NnJzZ5UOAKSrM5y5AAer89/sNheAdBSK0 hNVg== X-Gm-Message-State: AOAM5329+oa+dHuN75QXudTniu1KUrHstMdprX86l2WLjTEqNUfJdu0l 5m0y6qBN1ZgBuCqp25RncGq3ug== X-Received: by 2002:a05:6512:13a5:: with SMTP id p37mr6066109lfa.403.1633635675174; Thu, 07 Oct 2021 12:41:15 -0700 (PDT) Received: from localhost ([31.134.121.151]) by smtp.gmail.com with ESMTPSA id q8sm23879lfd.126.2021.10.07.12.41.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Oct 2021 12:41:14 -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 v2 0/5] clk: samsung: Introduce Exynos850 SoC clock driver Date: Thu, 7 Oct 2021 22:41:08 +0300 Message-Id: <20211007194113.10507-1-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.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). I tried to follow already established design for Samsung clock drivers (getting most insights from Exynos5433 clock driver), and integrate the driver into existing infrastructure. The whole driver was implemented from scratch, using mostly TRM and downstream kernel for clock dependencies/hierarchy info. For now only basic clocks are implemented, including next blocks: - CMU_TOP - CMU_PERI - CMU_CORE - CMU_HSI - CMU_DPU 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 the clocks via DebugFS. Changes in v2: - Added CMU_DPU implementation - Moved bus clock enablement to clk-exynos850.c - See also "v2 changes" list in each particular patch Sam Protsenko (5): 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 | 185 ++++ drivers/clk/samsung/Makefile | 1 + drivers/clk/samsung/clk-exynos850.c | 835 ++++++++++++++++++ drivers/clk/samsung/clk-pll.c | 196 ++++ drivers/clk/samsung/clk-pll.h | 2 + include/dt-bindings/clock/exynos850.h | 141 +++ 6 files changed, 1360 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 -- 2.30.2