From patchwork Tue Aug 8 18:24:13 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abhishek Sahu X-Patchwork-Id: 9888931 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 162C0603F2 for ; Tue, 8 Aug 2017 18:27:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 081CC289AB for ; Tue, 8 Aug 2017 18:27:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F0E74289E0; Tue, 8 Aug 2017 18:27:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AAFDA289AB for ; Tue, 8 Aug 2017 18:27:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752188AbdHHS11 (ORCPT ); Tue, 8 Aug 2017 14:27:27 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:37342 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752152AbdHHSY6 (ORCPT ); Tue, 8 Aug 2017 14:24:58 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 837706043F; Tue, 8 Aug 2017 18:24:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1502216697; bh=gz/C2Za0eDF6qVX1K0KY9xe4speN4rt3bz/bXlO4xNI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iiQ0w7q5ja4dWlBf1WjfQU0D/jhyoggxqV2UJUJ9dFwDhIljMMcCA7IWtswr7SxFp bsZdSUe+nMeCvwswPgg7YII5Bl1+oa124rlDMNA4FNhp97CxbjDz7iyOHBGgXcPs9t 6GZ0P91Dg02DRyZO0vAJHj5VtbFIw0nKuA+eVP7U= Received: from absahu-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: absahu@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id C7543600E8; Tue, 8 Aug 2017 18:24:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1502216697; bh=gz/C2Za0eDF6qVX1K0KY9xe4speN4rt3bz/bXlO4xNI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iiQ0w7q5ja4dWlBf1WjfQU0D/jhyoggxqV2UJUJ9dFwDhIljMMcCA7IWtswr7SxFp bsZdSUe+nMeCvwswPgg7YII5Bl1+oa124rlDMNA4FNhp97CxbjDz7iyOHBGgXcPs9t 6GZ0P91Dg02DRyZO0vAJHj5VtbFIw0nKuA+eVP7U= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org C7543600E8 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=absahu@codeaurora.org From: Abhishek Sahu To: sboyd@codeaurora.org, mturquette@baylibre.com Cc: andy.gross@linaro.org, david.brown@linaro.org, rnayak@codeaurora.org, linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Abhishek Sahu Subject: [RFC v2 08/12] clk: qcom: support for Brammo PLL Date: Tue, 8 Aug 2017 23:54:13 +0530 Message-Id: <1502216657-3342-9-git-send-email-absahu@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1502216657-3342-1-git-send-email-absahu@codeaurora.org> References: <1502216657-3342-1-git-send-email-absahu@codeaurora.org> Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 1. Brammo PLL does not allow configuration of VCO 2. Supports the dynamic update in which the frequency can be changed dynamically without turning off the PLL 3. The register offsets are different from normal Alpha PLL Signed-off-by: Abhishek Sahu --- drivers/clk/qcom/clk-alpha-pll.c | 12 ++++++++++++ drivers/clk/qcom/clk-alpha-pll.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/drivers/clk/qcom/clk-alpha-pll.c b/drivers/clk/qcom/clk-alpha-pll.c index 23e2bb7..b491dbe 100644 --- a/drivers/clk/qcom/clk-alpha-pll.c +++ b/drivers/clk/qcom/clk-alpha-pll.c @@ -107,6 +107,18 @@ }; EXPORT_SYMBOL_GPL(clk_alpha_huayra_pll_offsets); +const u8 clk_alpha_brammo_pll_offsets[] = { + [ALPHA_PLL_MODE] = 0x00, + [ALPHA_PLL_L_VAL] = 0x04, + [ALPHA_PLL_ALPHA_VAL] = 0x08, + [ALPHA_PLL_ALPHA_VAL_U] = 0x0c, + [ALPHA_PLL_USER_CTL] = 0x10, + [ALPHA_PLL_CONFIG_CTL] = 0x18, + [ALPHA_PLL_TEST_CTL] = 0x1c, + [ALPHA_PLL_STATUS] = 0x24, +}; +EXPORT_SYMBOL_GPL(clk_alpha_brammo_pll_offsets); + static int wait_for_pll(struct clk_alpha_pll *pll, u32 mask, bool inverse, const char *action) { diff --git a/drivers/clk/qcom/clk-alpha-pll.h b/drivers/clk/qcom/clk-alpha-pll.h index af74abf..8a0dab6 100644 --- a/drivers/clk/qcom/clk-alpha-pll.h +++ b/drivers/clk/qcom/clk-alpha-pll.h @@ -64,6 +64,7 @@ struct clk_alpha_pll { #define CLK_HUAYRA_PLL_FLAGS (SUPPORTS_NO_VCO | SUPPORTS_DYNAMIC_UPDATE | \ SUPPORTS_64BIT_CONFIG_CTL | \ SUPPORTS_16BIT_ALPHA) +#define CLK_BRAMMO_PLL_FLAGS (SUPPORTS_NO_VCO | SUPPORTS_DYNAMIC_UPDATE) /** * struct clk_alpha_pll_postdiv - phase locked loop (PLL) post-divider @@ -102,6 +103,7 @@ struct alpha_pll_config { extern const u8 clk_alpha_pll_offsets[]; extern const u8 clk_alpha_huayra_pll_offsets[]; +extern const u8 clk_alpha_brammo_pll_offsets[]; extern const struct clk_ops clk_alpha_pll_ops; extern const struct clk_ops clk_alpha_pll_hwfsm_ops;