From patchwork Mon Aug 26 16:45:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jorge Ramirez-Ortiz X-Patchwork-Id: 172174 Delivered-To: patch@linaro.org Received: by 2002:a92:d204:0:0:0:0:0 with SMTP id y4csp4596927ily; Mon, 26 Aug 2019 09:45:19 -0700 (PDT) X-Google-Smtp-Source: APXvYqyKZNCO3soxC6WhBQpoOAoQHGofgIaU8ehLV2ZJw3TMUSDMmfRMkqouVX5DEsw1YQXJHQ7v X-Received: by 2002:aa7:8808:: with SMTP id c8mr20390109pfo.67.1566837919129; Mon, 26 Aug 2019 09:45:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566837919; cv=none; d=google.com; s=arc-20160816; b=SsnS8lsdFrgAdKR7yZODkw4T+pyPvFBeKZdveyeh2ybkKITulPElZRxDpx5BxAD/rY fZ7xxsOKZx+6W9eG8hWfszKnJ2cgwexpd1pB8MODTYU+3tSTLZ9ksKBAmHtvq/m2m5v8 9BsiIKlZ9gb6RM3xtrKRZZOao1EClmwOoCefEHbX5+oJRz04NbOVFvJcfoLzjvlyO6Ei ps6qfZGMKV12eW6rWXTWZpPv75QKhzDFXAPIAyBHDmU9lmTbbzf5GhwbByYFYII2B4w+ s4B9/ewMVJnF0B3jBOXLGQYmYu5iOxXUidgISMgqjNV/UYqvQFPauQqQZ5+Tvn1JWUs8 n0mQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=40OiuM1nuJAlvKWfMTtKgR/XOwSSjLB8LuDFl5DKXzY=; b=fHnWvrRNcvkdUwOwnpibA1zuyH6cdi2mk6uA1ZftMKlE0mWwHKlVtRWxyMWvTNJRDh nyFD8UtV2i+vjizWuA6jrEPK1bV6EhE5mb8BFtHkICtw7/tK6U9Oe9Ha1dCk7Oz3OnL8 GbvkB9ZfvBTAiYj6bNJRC+y6VxX6u4p6A2Y5jSeVhNTDJkyfRYl7ZvMoG3mztEBhPIYe oPKOwfYMdKqnC7FNTP1EQRiJWLt+g7YypC4+c8BQcZWE40D54d0QUgVvEXj0e66khmve 3UUlGiKK79OKFtWTfWWMMUq9W9Qh1nEguoR3cqmWHusU3OX379q9L9JyzOVhkmmiVjO1 hfDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GN6MYYYH; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-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. [209.132.180.67]) by mx.google.com with ESMTP id r8si9371958pgr.243.2019.08.26.09.45.17; Mon, 26 Aug 2019 09:45:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GN6MYYYH; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-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 S1732739AbfHZQpQ (ORCPT + 16 others); Mon, 26 Aug 2019 12:45:16 -0400 Received: from mail-wm1-f66.google.com ([209.85.128.66]:35697 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732049AbfHZQpQ (ORCPT ); Mon, 26 Aug 2019 12:45:16 -0400 Received: by mail-wm1-f66.google.com with SMTP id l2so195538wmg.0 for ; Mon, 26 Aug 2019 09:45:15 -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=40OiuM1nuJAlvKWfMTtKgR/XOwSSjLB8LuDFl5DKXzY=; b=GN6MYYYHB3XQKR+KiwiVIeeM+2G4bD2QVjJ0i4C+/s4CBPD92zJDGewr9zJsWAgCRN /z45GHS5Uf1w6DWI8hlpFtkeIsMSlftBpG6gJ22S3dI3X7s70ELcZ3mclie1tUmUtfX+ 7pSX+Q9Ic4LZ2i1TtIGatlciKeYIMHfq2cQGn4RqSdKevBITEYAnSgSL0AQOZhdJWE2V K4U7eHqz160iQTcPGp/97QN/v6FHd0Pu3PPD505UezV34nYhvf/t7bezKlDgHDu/HOHj P+1lnPj6hPWhzZ0P3jWvjG75//1tON4d5jP/dlA5EzYpFSW+CUy/Z5vD3LS+Y++h62OC fYyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=40OiuM1nuJAlvKWfMTtKgR/XOwSSjLB8LuDFl5DKXzY=; b=KrejUmv+EOl1/Qar32bZdsnK7ffDscfBY02GrBaUZ4HeRxYufPm6DuTwIOY8wiOPZI nr92YPd4Vw4W12R6AVp968m1iOrYoKTETr/TKBuXNjKekcNVElHAjO0JVfduCctoS4Iu L71U1B7/Ozf8TuucHXsKjrMv4xDA9J/oHCVzGBycDs4yZ4bNtqWFv9rVf+CU0RniZQQ9 OYS9IJI17wS5SH0S6Kc2acuFKl5un/4JXSiqc2SokCh1pgRdZFTXnu2Lj69OdjxtX4vq x+X+4agX7HhwCXBB1Di2hK56xleQZJ18TTTXWeXFU6jwWvElsn/kf7ptsSsa5kx1Wcf1 ZwsA== X-Gm-Message-State: APjAAAWBzf7mtQ6i5x5ukhFqOWPkM9PgWvue/e8+ZtNTYEv6Ip95jpxB hhou6BDqWiWyq6iOtmVcmVknww== X-Received: by 2002:a7b:c4c6:: with SMTP id g6mr23832612wmk.52.1566837914285; Mon, 26 Aug 2019 09:45:14 -0700 (PDT) Received: from localhost.localdomain (124.red-83-36-179.dynamicip.rima-tde.net. [83.36.179.124]) by smtp.gmail.com with ESMTPSA id l62sm77872wml.13.2019.08.26.09.45.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 26 Aug 2019 09:45:12 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez-ortiz@linaro.org, sboyd@kernel.org, agross@kernel.org, mturquette@baylibre.com Cc: bjorn.andersson@linaro.org, niklas.cassel@linaro.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/5] clk: qcom: gcc: limit GPLL0_AO_OUT operating frequency Date: Mon, 26 Aug 2019 18:45:06 +0200 Message-Id: <20190826164510.6425-1-jorge.ramirez-ortiz@linaro.org> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Limit the GPLL0_AO_OUT_MAIN operating frequency as per its hardware specifications. Co-developed-by: Niklas Cassel Signed-off-by: Niklas Cassel Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Bjorn Andersson Acked-by: Stephen Boyd --- drivers/clk/qcom/clk-alpha-pll.c | 8 ++++++++ drivers/clk/qcom/clk-alpha-pll.h | 1 + drivers/clk/qcom/gcc-qcs404.c | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) -- 2.22.0 diff --git a/drivers/clk/qcom/clk-alpha-pll.c b/drivers/clk/qcom/clk-alpha-pll.c index 055318f97991..9228b7b1f56e 100644 --- a/drivers/clk/qcom/clk-alpha-pll.c +++ b/drivers/clk/qcom/clk-alpha-pll.c @@ -878,6 +878,14 @@ static long clk_trion_pll_round_rate(struct clk_hw *hw, unsigned long rate, return clamp(rate, min_freq, max_freq); } +const struct clk_ops clk_alpha_pll_fixed_ops = { + .enable = clk_alpha_pll_enable, + .disable = clk_alpha_pll_disable, + .is_enabled = clk_alpha_pll_is_enabled, + .recalc_rate = clk_alpha_pll_recalc_rate, +}; +EXPORT_SYMBOL_GPL(clk_alpha_pll_fixed_ops); + const struct clk_ops clk_alpha_pll_ops = { .enable = clk_alpha_pll_enable, .disable = clk_alpha_pll_disable, diff --git a/drivers/clk/qcom/clk-alpha-pll.h b/drivers/clk/qcom/clk-alpha-pll.h index 15f27f4b06df..c28eb1a08c0c 100644 --- a/drivers/clk/qcom/clk-alpha-pll.h +++ b/drivers/clk/qcom/clk-alpha-pll.h @@ -109,6 +109,7 @@ struct alpha_pll_config { }; extern const struct clk_ops clk_alpha_pll_ops; +extern const struct clk_ops clk_alpha_pll_fixed_ops; extern const struct clk_ops clk_alpha_pll_hwfsm_ops; extern const struct clk_ops clk_alpha_pll_postdiv_ops; extern const struct clk_ops clk_alpha_pll_huayra_ops; diff --git a/drivers/clk/qcom/gcc-qcs404.c b/drivers/clk/qcom/gcc-qcs404.c index e12c04c09a6a..567140709c7d 100644 --- a/drivers/clk/qcom/gcc-qcs404.c +++ b/drivers/clk/qcom/gcc-qcs404.c @@ -330,7 +330,7 @@ static struct clk_alpha_pll gpll0_ao_out_main = { .parent_names = (const char *[]){ "cxo" }, .num_parents = 1, .flags = CLK_IS_CRITICAL, - .ops = &clk_alpha_pll_ops, + .ops = &clk_alpha_pll_fixed_ops, }, }, }; From patchwork Mon Aug 26 16:45:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jorge Ramirez-Ortiz X-Patchwork-Id: 172175 Delivered-To: patch@linaro.org Received: by 2002:a92:d204:0:0:0:0:0 with SMTP id y4csp4596954ily; Mon, 26 Aug 2019 09:45:20 -0700 (PDT) X-Google-Smtp-Source: APXvYqw6c36P2SDgmwbNbasYxs3xjJ34MdxXi2GNYG+b/FmytHNj4XJVgXOOIU2EFqMEJuXdQzZo X-Received: by 2002:a63:a66:: with SMTP id z38mr17728158pgk.247.1566837920122; Mon, 26 Aug 2019 09:45:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566837920; cv=none; d=google.com; s=arc-20160816; b=kLfPe0GqUGXvtiaiexJoDUQRGzq8wZezdtS/nLZD9iTYw3cdS0SdBZqtryBoG18uAN 39MXCNUU8emTHVN0fR0hf47cq2qCpoWkNJReh/SuhlxSQKP656x4BeKyf7IpXto/UFu8 nlmkJs2CtADWf5U5ioeh6DRVEZoIt/8jaNbvOZQJEfN77h/55wgZ1Nh58dUKgYvVHXj7 5zjmO08S1FP6eLFHhsFF2b8XxaMSBCD9sKghLCoPMsIpOBkqqgwVrXNkMIlbvR/GOsk4 YLsg8SR4fV7GQ+qvV+0Y7qK6iN8nIURlkKZrMB9W2dwVa8K6RKAvVbXdk9BHbapILZa6 eoag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Cw8s/YHZ7PvnoGSE9VFOJmJ7OcBZMxXJRhzFX2CFS/0=; b=FNPzTlf5rzukkfjlhO5qre0wVskcjIcj05dem0O//t7rnnUdh6v4ogq3xgFX3/G3ZW WOOVv9+FxGK946FovswCBIu8O6eZBRmlyn2k63nVlfTFVlRo5XKqriauNxqD9C49LLDG c9G7/OdJJu4f8/rkwLUlmpvfsHer0ctVIxWs7Qzz0sTbKk0BXNqXXzSu6uCC8iXm64C0 BifjSHZnulzzMa/9rDq6HvtH9iq9QbxfxC3JamtVTYOdiIit3ikT3pbL/IL2Pgv2pu9g FGleRDXjAz/ksZ/AheIxTthM2BqQb1JQUuXQ2g9NKFaZR6SV/pOBstvrkbXFVbSQXJGu tj0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=W+SxFN6U; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-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. [209.132.180.67]) by mx.google.com with ESMTP id r8si9371958pgr.243.2019.08.26.09.45.19; Mon, 26 Aug 2019 09:45:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=W+SxFN6U; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-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 S1732610AbfHZQpR (ORCPT + 16 others); Mon, 26 Aug 2019 12:45:17 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:51372 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732728AbfHZQpR (ORCPT ); Mon, 26 Aug 2019 12:45:17 -0400 Received: by mail-wm1-f67.google.com with SMTP id k1so193780wmi.1 for ; Mon, 26 Aug 2019 09:45: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:in-reply-to:references :mime-version:content-transfer-encoding; bh=Cw8s/YHZ7PvnoGSE9VFOJmJ7OcBZMxXJRhzFX2CFS/0=; b=W+SxFN6UOnhMQyfKYi//GVhcYoZ3i/nD7OtSMRn5jp7t/KwVidshqc3GGhsEelYCS/ bka02/KN4t8bjYa/TDX+woe/EE53FiG8xCNCJvwzfyJjX7FRDDVKR6IUkcynrIanziVm p76IcKZrk8LC1mr63MLlRIkEqYk4vmRVho6v5i2kRiTuG4yujVFh4wKFmgiQHU0VpxHB 1y0UeMI0pHRjUzyCky6UKE34gzrxy20ZHC+dQpRgSuWOOwN7JLJcHCM6ld6z0ebFr0PK 5tArhVKZkmYvIXu9hIqEzuDAGjRFmo93BnY59OCELg3wfsFC49d839C8QBz689yKzLor XPbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Cw8s/YHZ7PvnoGSE9VFOJmJ7OcBZMxXJRhzFX2CFS/0=; b=LfMS/8DLb0FHsHsO51wOLSIo8TjA/UFC2fZsN5rDaiVBbyWcFYillTbCRca2aJzbCR ymzGq+5beLUshOMyQrs89MLFTATJ5c3podbLyIV+v2tbGrnuOf2DBgP3HkkHEKA0ZVBO S8vIlm9zmi1/CoMTYPT/iDpF3r1VIp0Kd10Bwsxg8xDqFYLEopHf4FQWfPDdqyA96Zux cMR8U0bwHLuIWh2dCia7XKZgdxEHlyLmjfwQverm2W9zEP2cHsA4ylqxCd0d0bjeOrLN PdhzYrJqVVlaiyDAqq/I+taP9ud8o+QhQFOr7jXAZ9HllF5eKSscuNqFPsjjG7o8I8sg 664Q== X-Gm-Message-State: APjAAAWBBIfQ0CHcX2k2QuyKcDTiqVRTm4r3lZj0uPh8km3uBLluEOa8 5GKwwKIDuOqlmpaqdw6Egzh6xw== X-Received: by 2002:a1c:494:: with SMTP id 142mr22155343wme.12.1566837915356; Mon, 26 Aug 2019 09:45:15 -0700 (PDT) Received: from localhost.localdomain (124.red-83-36-179.dynamicip.rima-tde.net. [83.36.179.124]) by smtp.gmail.com with ESMTPSA id l62sm77872wml.13.2019.08.26.09.45.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 26 Aug 2019 09:45:14 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez-ortiz@linaro.org, sboyd@kernel.org, agross@kernel.org, mturquette@baylibre.com Cc: bjorn.andersson@linaro.org, niklas.cassel@linaro.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/5] clk: qcom: apcs-msm8916: get parent clock names from DT Date: Mon, 26 Aug 2019 18:45:07 +0200 Message-Id: <20190826164510.6425-2-jorge.ramirez-ortiz@linaro.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190826164510.6425-1-jorge.ramirez-ortiz@linaro.org> References: <20190826164510.6425-1-jorge.ramirez-ortiz@linaro.org> MIME-Version: 1.0 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Allow accessing the parent clock names required for the driver operation by using the device tree node. This permits extending the driver to other platforms without having to modify its source code. For backwards compatibility leave previous values as default. Co-developed-by: Niklas Cassel Signed-off-by: Niklas Cassel Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Bjorn Andersson --- drivers/clk/qcom/apcs-msm8916.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) -- 2.22.0 diff --git a/drivers/clk/qcom/apcs-msm8916.c b/drivers/clk/qcom/apcs-msm8916.c index a6c89a310b18..dd82eb1e5202 100644 --- a/drivers/clk/qcom/apcs-msm8916.c +++ b/drivers/clk/qcom/apcs-msm8916.c @@ -19,7 +19,7 @@ static const u32 gpll0_a53cc_map[] = { 4, 5 }; -static const char * const gpll0_a53cc[] = { +static const char *gpll0_a53cc[] = { "gpll0_vote", "a53pll", }; @@ -50,6 +50,8 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev) struct regmap *regmap; struct clk_init_data init = { }; int ret = -ENODEV; + const char *parents[2]; + int pll_index = 0; regmap = dev_get_regmap(parent, NULL); if (!regmap) { @@ -61,6 +63,16 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev) if (!a53cc) return -ENOMEM; + /* legacy bindings only defined the pll parent clock (index = 0) with no + * name; when both of the parents are specified in the bindings, the + * pll is the second one (index = 1). + */ + if (of_clk_parent_fill(parent->of_node, parents, 2) == 2) { + gpll0_a53cc[0] = parents[0]; + gpll0_a53cc[1] = parents[1]; + pll_index = 1; + } + init.name = "a53mux"; init.parent_names = gpll0_a53cc; init.num_parents = ARRAY_SIZE(gpll0_a53cc); @@ -76,10 +88,11 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev) a53cc->src_shift = 8; a53cc->parent_map = gpll0_a53cc_map; - a53cc->pclk = devm_clk_get(parent, NULL); + a53cc->pclk = of_clk_get(parent->of_node, pll_index); if (IS_ERR(a53cc->pclk)) { ret = PTR_ERR(a53cc->pclk); - dev_err(dev, "failed to get clk: %d\n", ret); + if (ret != -EPROBE_DEFER) + dev_err(dev, "failed to get clk: %d\n", ret); return ret; } @@ -87,6 +100,7 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev) ret = clk_notifier_register(a53cc->pclk, &a53cc->clk_nb); if (ret) { dev_err(dev, "failed to register clock notifier: %d\n", ret); + clk_put(a53cc->pclk); return ret; } @@ -109,6 +123,8 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev) err: clk_notifier_unregister(a53cc->pclk, &a53cc->clk_nb); + clk_put(a53cc->pclk); + return ret; } @@ -117,6 +133,7 @@ static int qcom_apcs_msm8916_clk_remove(struct platform_device *pdev) struct clk_regmap_mux_div *a53cc = platform_get_drvdata(pdev); clk_notifier_unregister(a53cc->pclk, &a53cc->clk_nb); + clk_put(a53cc->pclk); return 0; } From patchwork Mon Aug 26 16:45:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jorge Ramirez-Ortiz X-Patchwork-Id: 172176 Delivered-To: patch@linaro.org Received: by 2002:a92:d204:0:0:0:0:0 with SMTP id y4csp4597252ily; Mon, 26 Aug 2019 09:45:33 -0700 (PDT) X-Google-Smtp-Source: APXvYqzqHp5vzj+W2J0j+z/8lehT3Ppof3qYqbU7Bc9g5AM6oa9QFNHhzsaqKy6u8dIzELWVcgO9 X-Received: by 2002:aa7:8488:: with SMTP id u8mr21509575pfn.229.1566837927614; Mon, 26 Aug 2019 09:45:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566837920; cv=none; d=google.com; s=arc-20160816; b=mtO6vLEPP/R2Jrt7R4xBIKXS0q1hnJICLtrZFCH0bLMt3cY7Zcylh0r1LnoB9FUi81 iWSJq1J8WbbCBvk3djCgiPB6AOq5p3nb40f0tsLnPEL9Y+d690C9Bj9u/mlEXrIIC8LI mNC96gIlJCRvM7Sm1M1kT8DwG0eMp3Slw9Mqc21TvwBJteIONGBDdtT5kmOR2CIa4bah uUassdczwDdjFicRq2gQzlPiZzRTAlOX3UwMNP7QAZpHqISaA/9GAEjUhnUGJPRUqyTQ L4AiGq7RjHRY2BJnuNh/cVWkA2GXss0AAgbQEw4Pr6pMvlqRrzgGg/sFakP6apXKUWZt kHCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=BoMlESuV3B6tPWN9XWP2L6fpdT8XV6yqfKxT2xNxK2o=; b=ZN3cGW3Id5WXo9u9t8U3bhbknjW6HXmY06GuCw1TPPq1P5/lzhQfDtQEJJO2ekbgU4 CmmazPDRcd/bacSyMj08J+XgPCKPBpbg68rnbmocuIZ98LI1MnZPTt7lXsQXWcXVobSA 4YRwERM4UWFyPdnfcEytN7107CyfndrJSno/F/ZxOYECBz5BDfNw0X+5HluBlsun9lky XY4IsjrkDH6zGb1ea1T1wWdVSAfPuLsMBg6QBYo7N16aODBUSdo3bKaCav4Fhd1i30jU Y2GjJzFsBFvmJKaQ74Kq47PXzMfICpmojNhBly3kLVy6+QCGqBEQlN+oYv0gdMwCDF2R cMeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KabsJLk1; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-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. [209.132.180.67]) by mx.google.com with ESMTP id r8si9371958pgr.243.2019.08.26.09.45.20; Mon, 26 Aug 2019 09:45:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KabsJLk1; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-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 S1732972AbfHZQpS (ORCPT + 16 others); Mon, 26 Aug 2019 12:45:18 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:46165 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732816AbfHZQpS (ORCPT ); Mon, 26 Aug 2019 12:45:18 -0400 Received: by mail-wr1-f65.google.com with SMTP id z1so15980481wru.13 for ; Mon, 26 Aug 2019 09:45:17 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=BoMlESuV3B6tPWN9XWP2L6fpdT8XV6yqfKxT2xNxK2o=; b=KabsJLk1ZzmKq1DlMZEp/k29ZN2rr4yrR+8FbU+6lJZgjPEJAUiZYYegw4EjL9CI/+ HUracAwaQVCCkTBDakDUb5s4M8ROZsTl3Zz72EdmhuUkE8xP2r+Xrq8kFBZUjwmIxYiF 4SukMlm006PTTDVg8EHnqFDH81vNuIk3jCy+dKF//AF6TRPrgC60ZBONZKv9I4B9NvC+ jEfHHjGd1OlGPoh+dGeRIJnJPHBq+wKiJa6nzTxmailqFW308PmAKHWn5EtbCyIVBFvf 0yMEtDR9P+bt1hi+IWD19RTpVBIovgRJ0hlnV9jz0OLdtnyWZ3nn2SQOrjHtYhg/asOX f5sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BoMlESuV3B6tPWN9XWP2L6fpdT8XV6yqfKxT2xNxK2o=; b=tKCOExluzA6twn6NLIL7kUPG/g7PDL/VE+MOpvAr3cxqT+vE3OwvzP1HXCKBgplg+Z W0RJ+f/bXrk0vvb9V2NSiIPmpNAyQctO8MIgAZRXcDnxYbjF44KVZFDPgOL7g9lWRtoA EIHutiTe20dAXSPAgSMSLy2CS6qjHBlR1tIIBY1XVRzLFdkiy7wcVY/R7fCxkzk9DSJS WN5D8z4C+zXUUaamlPjJU9tLQyu1PVrAes103fwdcWi0cR/+EEI38EC/iSVMz9zWKZLB aPufT1PWQtucy9SccJbqFeGel7zW06kR4SeUDZceLtkBCrNv/w2IB3An/G66Gj/4N75R YZSA== X-Gm-Message-State: APjAAAV09A+QyQnRYAchT4KjPnY6Hlw5QpaXNkqSIMh/cbTZ8SHi6ydy XdUNjIxIveRYGO4TI5Qibl+Gml5TbnE= X-Received: by 2002:a5d:4490:: with SMTP id j16mr23161619wrq.335.1566837916391; Mon, 26 Aug 2019 09:45:16 -0700 (PDT) Received: from localhost.localdomain (124.red-83-36-179.dynamicip.rima-tde.net. [83.36.179.124]) by smtp.gmail.com with ESMTPSA id l62sm77872wml.13.2019.08.26.09.45.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 26 Aug 2019 09:45:15 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez-ortiz@linaro.org, sboyd@kernel.org, agross@kernel.org, mturquette@baylibre.com Cc: bjorn.andersson@linaro.org, niklas.cassel@linaro.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/5] clk: qcom: hfpll: get parent clock names from DT Date: Mon, 26 Aug 2019 18:45:08 +0200 Message-Id: <20190826164510.6425-3-jorge.ramirez-ortiz@linaro.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190826164510.6425-1-jorge.ramirez-ortiz@linaro.org> References: <20190826164510.6425-1-jorge.ramirez-ortiz@linaro.org> MIME-Version: 1.0 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Allow accessing the parent clock name required for the driver operation using the device tree node. This permits extending the driver to other platforms without having to modify its source code. For backwards compatibility leave the previous value as default. Co-developed-by: Niklas Cassel Signed-off-by: Niklas Cassel Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Bjorn Andersson --- drivers/clk/qcom/hfpll.c | 8 ++++++++ 1 file changed, 8 insertions(+) -- 2.22.0 diff --git a/drivers/clk/qcom/hfpll.c b/drivers/clk/qcom/hfpll.c index a6de7101430c..87b7f46d27e0 100644 --- a/drivers/clk/qcom/hfpll.c +++ b/drivers/clk/qcom/hfpll.c @@ -52,6 +52,7 @@ static int qcom_hfpll_probe(struct platform_device *pdev) void __iomem *base; struct regmap *regmap; struct clk_hfpll *h; + struct clk *pclk; struct clk_init_data init = { .parent_names = (const char *[]){ "xo" }, .num_parents = 1, @@ -75,6 +76,13 @@ static int qcom_hfpll_probe(struct platform_device *pdev) 0, &init.name)) return -ENODEV; + /* get parent clock from device tree (optional) */ + pclk = devm_clk_get(dev, "xo"); + if (!IS_ERR(pclk)) + init.parent_names = (const char *[]){ __clk_get_name(pclk) }; + else if (PTR_ERR(pclk) == -EPROBE_DEFER) + return -EPROBE_DEFER; + h->d = &hdata; h->clkr.hw.init = &init; spin_lock_init(&h->lock); From patchwork Mon Aug 26 16:45:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jorge Ramirez-Ortiz X-Patchwork-Id: 172178 Delivered-To: patch@linaro.org Received: by 2002:a92:d204:0:0:0:0:0 with SMTP id y4csp4597303ily; Mon, 26 Aug 2019 09:45:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqyV54BNvLHeZ3NSvjh13qsMsHeCuOaWwdIW9NTB0WqVLzlUMiuZH7N4EZKUrJ/RiHHp5B7a X-Received: by 2002:a63:66c5:: with SMTP id a188mr17196181pgc.127.1566837935555; Mon, 26 Aug 2019 09:45:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566837935; cv=none; d=google.com; s=arc-20160816; b=kjvxd/8uC02/zgALc+sjQyUb/XjR+YNpuq4eGyqBxbcbzMMtkX/o6mCQ92dnYV8ftc 1EgoP18gVODfb98x7QD9ri829Ifmvt7nnq9gukXdZ2Shwsm1qEVLZGJ31hu9bC1dx4HS UJzGwemJXxSmWIxnG69BdJC6xuhpp5OxtiX4DSqH0qi81ormWUJE1sF+ftOkPYLewXLM cT8xarCb0hz0zAPzwSKKq5aHKOJkDOeeq4AFPOylQ0e7zu0MhdfkfbOFqlBnt2CZMXCP QcUzhHWbun76J5dXms7//RtOKgp6+g3uDZ29lcNaq/c4E2QSD7f3VkQ55jhtXlWxNr13 7raQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=onetUiZPcKYw43ltVy2pax5WwMNPrRMe/eAwSVGynt4=; b=zpNXh5FKW0408W1GpzNS2DVV9bPuIcqA6Eb22fqJJv7G40pT+2aA1o4LJ+3FSftv3S 1rdrZxjR42R+xMxfQWo136L6Y7tlzGCMVEmruyN0A8mdFXTtrXbWOSLkE2bCke7Zk1Ca fwWaiNwXdj/2+GULlmOpEO0DZjowyxx1qr6MLLKw/8d10jrrBZqlwLxQUk52coRc5rBe 1c4Had031WkcpKt+Yh5i+eAqG1A6/yb/72AzqeHULOfF8YDmV/2egt1fTqJFs9a6uscu OcDAIzt4JooKFT5YeDVVJMv9P/JEZYokKjQEm/OfuCAyiVfRroLYrDVgZUbF3nAHli/0 G7VA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="VTzy/+S+"; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-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. [209.132.180.67]) by mx.google.com with ESMTP id r8si9371958pgr.243.2019.08.26.09.45.35; Mon, 26 Aug 2019 09:45:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="VTzy/+S+"; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-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 S1733016AbfHZQp1 (ORCPT + 16 others); Mon, 26 Aug 2019 12:45:27 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:37253 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732967AbfHZQpT (ORCPT ); Mon, 26 Aug 2019 12:45:19 -0400 Received: by mail-wm1-f67.google.com with SMTP id d16so181886wme.2 for ; Mon, 26 Aug 2019 09:45:18 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=onetUiZPcKYw43ltVy2pax5WwMNPrRMe/eAwSVGynt4=; b=VTzy/+S+EG6NglyCNwJnyPj3v2a/38li9pyUxYKXw95aeoqEm9GPssQFRmUG5oI5c6 EibgtBUP8JpXh9l/UOZyVKOalAwVOkPO8s9pNn7XDDPcxuydVS9l5FodOV0SUHXsMs/6 a+ShgY60QQ25TmCk+KweofZi35NxEKp9vY/YYEGj1WvkEMsyEAO9pHrsoCjZkIfjqK7C NDsyahCeF26dySxYSNWqn5Sg+1TpbEPNIBwt+txXub1CsghTQ5+TdX76yEufnG9UVhgI w8Qbj+iA35AgTzxoF9TK2WruT0+7K0jCSVJp/6qNba2MXP71JyvQN8RXct+m5qD4Tufm 2dAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=onetUiZPcKYw43ltVy2pax5WwMNPrRMe/eAwSVGynt4=; b=soF2IqAKRMLyrVqEUAxvlL/wF0IS/hmqVFqRLwygqW50OToAJ58q/kxBL5keAD2GRv mC46QrmvozzB8xxF5N603CqNxfahkRLj1B7bsA3MpeY7X/RGdYvMaXxQBm87pZStuAft OKITUdAWccOwdHGEnPPv2jVzltZ+b0l3+zlmhear+7073kOokfV+uevZm+HkvQk5Z+Yo Phgl7y7fixogQzuMr8pCcnNod+jxLEHlLNuMgs4mJUPjGfAE/QU0v69vJIivuGf3G7sJ D12jjsPM3GwEaGlP4ikpC7ZQM9sk8qSdaC3+/lMAW1HpWLEEqB2nA7f3Pse+MdirLKvb bsAA== X-Gm-Message-State: APjAAAWwOAsg7uughAwuLFJW3X33YmfrtDZxMwLop1expc5gKHqz4frK IEVRZpVBzC1UWkzq+c/EkdSS7Q== X-Received: by 2002:a7b:c947:: with SMTP id i7mr23496677wml.77.1566837917375; Mon, 26 Aug 2019 09:45:17 -0700 (PDT) Received: from localhost.localdomain (124.red-83-36-179.dynamicip.rima-tde.net. [83.36.179.124]) by smtp.gmail.com with ESMTPSA id l62sm77872wml.13.2019.08.26.09.45.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 26 Aug 2019 09:45:16 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez-ortiz@linaro.org, sboyd@kernel.org, agross@kernel.org, mturquette@baylibre.com Cc: bjorn.andersson@linaro.org, niklas.cassel@linaro.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/5] clk: qcom: hfpll: register as clock provider Date: Mon, 26 Aug 2019 18:45:09 +0200 Message-Id: <20190826164510.6425-4-jorge.ramirez-ortiz@linaro.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190826164510.6425-1-jorge.ramirez-ortiz@linaro.org> References: <20190826164510.6425-1-jorge.ramirez-ortiz@linaro.org> MIME-Version: 1.0 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Make the output of the high frequency pll a clock provider. On the QCS404 this PLL controls cpu frequency scaling. Co-developed-by: Niklas Cassel Signed-off-by: Niklas Cassel Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Bjorn Andersson Acked-by: Stephen Boyd --- drivers/clk/qcom/hfpll.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) -- 2.22.0 diff --git a/drivers/clk/qcom/hfpll.c b/drivers/clk/qcom/hfpll.c index 87b7f46d27e0..0ffed0d41c50 100644 --- a/drivers/clk/qcom/hfpll.c +++ b/drivers/clk/qcom/hfpll.c @@ -53,6 +53,7 @@ static int qcom_hfpll_probe(struct platform_device *pdev) struct regmap *regmap; struct clk_hfpll *h; struct clk *pclk; + int ret; struct clk_init_data init = { .parent_names = (const char *[]){ "xo" }, .num_parents = 1, @@ -87,7 +88,14 @@ static int qcom_hfpll_probe(struct platform_device *pdev) h->clkr.hw.init = &init; spin_lock_init(&h->lock); - return devm_clk_register_regmap(&pdev->dev, &h->clkr); + ret = devm_clk_register_regmap(dev, &h->clkr); + if (ret) { + dev_err(dev, "failed to register regmap clock: %d\n", ret); + return ret; + } + + return devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, + &h->clkr.hw); } static struct platform_driver qcom_hfpll_driver = {