From patchwork Wed Jan 11 20:01:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 641402 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C48DEC63797 for ; Wed, 11 Jan 2023 20:05:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239643AbjAKUFW (ORCPT ); Wed, 11 Jan 2023 15:05:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35160 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235383AbjAKUE7 (ORCPT ); Wed, 11 Jan 2023 15:04:59 -0500 Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com [IPv6:2a00:1450:4864:20::12d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 51CEC43A1F for ; Wed, 11 Jan 2023 12:01:31 -0800 (PST) Received: by mail-lf1-x12d.google.com with SMTP id f34so25168098lfv.10 for ; Wed, 11 Jan 2023 12:01:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=X1ASsGHKR4g4CL9h7lZg2fjHvPvUGBMoSRXi8aiWL9Y=; b=q6QvlWvpc+I/UFMgOrF72FBjP9/gHbyqnY9vd6VHx0PMznYAYQaBr5Ty3Ou9rdGnSC zLuInp2zpjHsa2022aKJ7dY2ymDfTzcBWXymtnIAPhSzrnAP84rwZtmuVpKZAcrO8lUi +t8uQ7Y2Vt1fQzwK4vzALyFQ71/uOPyOJHF0WE9tAo2KN4Ju2svnknDahb7bLp5lzmgW J0e6G3NDsWjPGzkbndP2QdRQB4ipxYsnL11fXCRaLmKqAY03DLebopICM9Sm9YMfCiD4 NVkxQa0iWQrhXmpd9kSEmkoTapNjM42e+yt/3RejYBTBR6ELK7Nu7lQYAm6kU82T3QeP /1fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X1ASsGHKR4g4CL9h7lZg2fjHvPvUGBMoSRXi8aiWL9Y=; b=wUVVzSiPS0862ixMgyrGM8CX7hWPyqTbUN1BgymR2HHNiZknWoxC2BitQ22Vru+/w8 M4UCPBsTfkoDLOcaQ1k86Afg5I7aRRFjYs/aFF37QaiBSBaZuxZzFgVWb2KqejyxOwvO WFzwHDx8lDDKo9Q2jarUSCiS5xkQZAQmHBZ47v4FFMWNyXy8HduagfOUUzH/2HAQ5dDT CCxoTy3Ud1emzgLVWVCAb3kAJgfYlTvJGLBF7WQpDPeSlUsdBiUY8d+JhVA27j8Rb3FN qcbsWRY5KuqHbEWfLgbxQ2LS9tWKxp1kLwCUzsJNazD0T0L4xSeAVZg5W1q1Fd3xaezR pMlg== X-Gm-Message-State: AFqh2krQb+8x34VuC56Rl5UNknad8ETeU6enECcPErVQYCbK9iiX7Wj4 432PPt9a9K88fnR6U+WoMHsdZA== X-Google-Smtp-Source: AMrXdXusoRB/zu8OQvNTrMxPqTtHu9WNrzP+Ui9KgTN++eC8qoxDFNjZtSDbfLDNI4eme+kF/sRjPA== X-Received: by 2002:a05:6512:22c8:b0:4cb:88c:c795 with SMTP id g8-20020a05651222c800b004cb088cc795mr20736546lfu.23.1673467289722; Wed, 11 Jan 2023 12:01:29 -0800 (PST) Received: from umbar.unikie.fi ([192.130.178.91]) by smtp.gmail.com with ESMTPSA id v20-20020a05651203b400b004b4e6dab30esm2881437lfp.222.2023.01.11.12.01.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Jan 2023 12:01:29 -0800 (PST) From: Dmitry Baryshkov To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Stephen Boyd , Michael Turquette , Rob Herring , Krzysztof Kozlowski , Taniya Das Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 01/14] dt-bindings: clock: qcom,msm8996-apcc: add sys_apcs_aux clock Date: Wed, 11 Jan 2023 23:01:15 +0300 Message-Id: <20230111200128.2593359-2-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> References: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org The MSM8996 CPU clock controller can make use of the sys_apcs_aux clock. Add it to the bindings. Signed-off-by: Dmitry Baryshkov --- .../devicetree/bindings/clock/qcom,msm8996-apcc.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/qcom,msm8996-apcc.yaml b/Documentation/devicetree/bindings/clock/qcom,msm8996-apcc.yaml index c4971234fef8..fcace96c72eb 100644 --- a/Documentation/devicetree/bindings/clock/qcom,msm8996-apcc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,msm8996-apcc.yaml @@ -27,10 +27,12 @@ properties: clocks: items: - description: XO source + - description: SYS APCS AUX clock clock-names: items: - const: xo + - const: sys_apcs_aux required: - compatible @@ -48,6 +50,6 @@ examples: reg = <0x6400000 0x90000>; #clock-cells = <1>; - clocks = <&xo_board>; - clock-names = "xo"; + clocks = <&xo_board>, <&apcs_glb>; + clock-names = "xo", "sys_apcs_aux"; }; From patchwork Wed Jan 11 20:01:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 641400 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5E187C46467 for ; Wed, 11 Jan 2023 20:05:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239645AbjAKUFg (ORCPT ); Wed, 11 Jan 2023 15:05:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35290 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239295AbjAKUFJ (ORCPT ); Wed, 11 Jan 2023 15:05:09 -0500 Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [IPv6:2a00:1450:4864:20::130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BC8DF43E77 for ; Wed, 11 Jan 2023 12:01:32 -0800 (PST) Received: by mail-lf1-x130.google.com with SMTP id cf42so25229732lfb.1 for ; Wed, 11 Jan 2023 12:01:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nqckWVN1EW8nGGVGrmVxxAgycA7grXm6YjyhUvZ/LK8=; b=xNeCu+Rd5QdYA1QA4uQJj3yUife2h+H/5njbViWSLG8bRuzhVLviqXXG1z68mQn5FF FkLWHYJ4xaQx8zC6hgZgva0rD4kZM5rH/3ymMNCXxOFkmjv5cDudmwIbcJhu97ZgqdHk ydg9KWAPob4n8DxiGzobiKXxlg/qsaBEv3iqbg2cBFu256OE2AuHUPZlzY/aVl3jrYyv gtB+rZJlUYfmISasC2RUVxXLQRP3lux/TgYPMSBcvMdqBClcNjCb7z8+4Eh++1Ls22N2 dFpMpzQcIYXxlt4bkU+qiH4dPuadHdy2lPwVvR1lHBpPCVcy5W3Qi8elR6y1iDw7LX8S DOYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nqckWVN1EW8nGGVGrmVxxAgycA7grXm6YjyhUvZ/LK8=; b=XkRU7GzIh+dnY9520aApX3HrLpTJBVvmtt4XN2Y7e9RwxVq0P8E6f424TXsvykg0Qs RvMwx6+vb2j1PjUMZnr2ycTdzE1Lnur7mxlGoYfGanOVueEBH5oQSnSJ33gzNpkQuU86 WboP/ri/533EatOvi7fJjaBUpTRal2BUx95sgDLsdrYGssijYCuGesF0bB4Q/7W97Ada MniOhbXfzOXIRLcOAHkSoH2V79bAmpaifDIAKGKxDBlVMGUTpv/4/QM0Cp6OxUnqGITw ouQpB2yBOXCuc3BlPmD5C3136CJTxQhGHyi0MDQqPrAvPHkbVQt8D8v3P9NyZeuGWk9D pFbg== X-Gm-Message-State: AFqh2krf5AFkol37SSjSH6Y1+FJDJU1cH+I3oAvAfdEqDZPIy1UssYte 12UMKOg3RJIpgg3R9V1Az76CHA== X-Google-Smtp-Source: AMrXdXtC1qHCdqhA1iA1ASNLgcAUL6h47wf6APDkjpPlzBB0dwMR54IXsBxt/TSb574g4Zi8vXOkwA== X-Received: by 2002:a19:5517:0:b0:4b5:6042:d136 with SMTP id n23-20020a195517000000b004b56042d136mr19079107lfe.22.1673467291291; Wed, 11 Jan 2023 12:01:31 -0800 (PST) Received: from umbar.unikie.fi ([192.130.178.91]) by smtp.gmail.com with ESMTPSA id v20-20020a05651203b400b004b4e6dab30esm2881437lfp.222.2023.01.11.12.01.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Jan 2023 12:01:30 -0800 (PST) From: Dmitry Baryshkov To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Stephen Boyd , Michael Turquette , Rob Herring , Krzysztof Kozlowski , Taniya Das Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 03/14] clk: qcom: cpu-8996: correct PLL programming Date: Wed, 11 Jan 2023 23:01:17 +0300 Message-Id: <20230111200128.2593359-4-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> References: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Change PLL programming to follow the downstream setup. Signed-off-by: Dmitry Baryshkov --- drivers/clk/qcom/clk-cpu-8996.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/clk/qcom/clk-cpu-8996.c b/drivers/clk/qcom/clk-cpu-8996.c index ee76ef958d31..ed8cb558e1aa 100644 --- a/drivers/clk/qcom/clk-cpu-8996.c +++ b/drivers/clk/qcom/clk-cpu-8996.c @@ -93,12 +93,9 @@ static const u8 prim_pll_regs[PLL_OFF_MAX_REGS] = { static const u8 alt_pll_regs[PLL_OFF_MAX_REGS] = { [PLL_OFF_L_VAL] = 0x04, [PLL_OFF_ALPHA_VAL] = 0x08, - [PLL_OFF_ALPHA_VAL_U] = 0x0c, [PLL_OFF_USER_CTL] = 0x10, - [PLL_OFF_USER_CTL_U] = 0x14, [PLL_OFF_CONFIG_CTL] = 0x18, [PLL_OFF_TEST_CTL] = 0x20, - [PLL_OFF_TEST_CTL_U] = 0x24, [PLL_OFF_STATUS] = 0x28, }; @@ -106,8 +103,10 @@ static const u8 alt_pll_regs[PLL_OFF_MAX_REGS] = { static const struct alpha_pll_config hfpll_config = { .l = 60, - .config_ctl_val = 0x200d4aa8, + .config_ctl_val = 0x200d4828, .config_ctl_hi_val = 0x006, + .test_ctl_val = 0x1c000000, + .test_ctl_hi_val = 0x00004000, .pre_div_mask = BIT(12), .post_div_mask = 0x3 << 8, .post_div_val = 0x1 << 8, From patchwork Wed Jan 11 20:01:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 641398 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9F8AFC46467 for ; Wed, 11 Jan 2023 20:05:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231623AbjAKUFo (ORCPT ); Wed, 11 Jan 2023 15:05:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35100 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235143AbjAKUFL (ORCPT ); Wed, 11 Jan 2023 15:05:11 -0500 Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com [IPv6:2a00:1450:4864:20::12c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BBDAE43E46 for ; Wed, 11 Jan 2023 12:01:33 -0800 (PST) Received: by mail-lf1-x12c.google.com with SMTP id g13so25209570lfv.7 for ; Wed, 11 Jan 2023 12:01:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xw/nftZkBpYy5/CKpZ6ADRGZbB0kdGeQLhoDqoX3D5Y=; b=dShShSvTAUSJ10W6zEI+6/zh53LzYvuTQnttuhVw5TmllFifUjZabUfJ/7qP2nu6HR RCWR620XQotrceLUrhJk1KUnMxQ+3xpw7CRde59wLeWz3vfOhXSEVF/FgOBT3GXalK0U 8OEhctEeW9EfqSIT2LX4KCZD42/o6mel+TWblifveKWAwWij3P0FgXbTGCBc4eWTyNuG OFj5cTqrIXFlpdu4fkCL0lR566qhDmeqU/xErx+5uknwP2SwPLcvuOWanuOhZmxoXaXs X5/azRRPb8QKmajagGylo4gix1/a/0kyiXx7QmW+m0/GED7L7EqUjFpukAyusIwct/+/ l//A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xw/nftZkBpYy5/CKpZ6ADRGZbB0kdGeQLhoDqoX3D5Y=; b=XNF3vHRDlQtJybZOdMpX5JbrAIP4z5Da+tWOXE4J3/BqxQAa6G4sqTSZmkUka8Uu5U EUaIa0k8DcYajQfcRSEjm32htn6dB8tyjqBWg3QfaTNvSWLycy32XI3Ig2nKF9YFTNNA bn3gQzafLxWuwikYhOg5RAj381+sO5QpFzgWJ5cwDQpWKAqsUtgue+LSb7X21Qw3e3i+ uYpdE4VgvOa2kfibonBOzzCtu9opFS1RjkeueN70XLBm0592NUpAZx35TdZ1vWeLw/Ig ySTtPXfpi9AMXPDfKMJ3gkVjEh2qi/49QxmkbeKd4ZIPvusaSJzXko6iqo6e3qewmuo3 o92g== X-Gm-Message-State: AFqh2krkN3BHJRGdd0b/JhKLzljDL4gXvNjlBwAiDyI9mTISjeJePvnx 1SJU78X+9J5IW0H+b7t0lZAc9A== X-Google-Smtp-Source: AMrXdXuBbYBJc3ASFs1f4Duc4EsEJdYqBUE22A6NV5REp2hvuWh8vI2gC9IgZcKTWsh7mXFQKGlKXQ== X-Received: by 2002:ac2:5454:0:b0:4cc:8985:b565 with SMTP id d20-20020ac25454000000b004cc8985b565mr2512508lfn.30.1673467292007; Wed, 11 Jan 2023 12:01:32 -0800 (PST) Received: from umbar.unikie.fi ([192.130.178.91]) by smtp.gmail.com with ESMTPSA id v20-20020a05651203b400b004b4e6dab30esm2881437lfp.222.2023.01.11.12.01.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Jan 2023 12:01:31 -0800 (PST) From: Dmitry Baryshkov To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Stephen Boyd , Michael Turquette , Rob Herring , Krzysztof Kozlowski , Taniya Das Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 04/14] clk: qcom: cpu-8996: fix the init clock rate Date: Wed, 11 Jan 2023 23:01:18 +0300 Message-Id: <20230111200128.2593359-5-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> References: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Change PLL programming to let both power and performance cluster clocks to start from the maximum common frequency. Signed-off-by: Dmitry Baryshkov --- drivers/clk/qcom/clk-cpu-8996.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/qcom/clk-cpu-8996.c b/drivers/clk/qcom/clk-cpu-8996.c index ed8cb558e1aa..d51965fda56d 100644 --- a/drivers/clk/qcom/clk-cpu-8996.c +++ b/drivers/clk/qcom/clk-cpu-8996.c @@ -102,7 +102,7 @@ static const u8 alt_pll_regs[PLL_OFF_MAX_REGS] = { /* PLLs */ static const struct alpha_pll_config hfpll_config = { - .l = 60, + .l = 54, .config_ctl_val = 0x200d4828, .config_ctl_hi_val = 0x006, .test_ctl_val = 0x1c000000, From patchwork Wed Jan 11 20:01:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 641397 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0E304C678D8 for ; Wed, 11 Jan 2023 20:05:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239235AbjAKUFr (ORCPT ); Wed, 11 Jan 2023 15:05:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35102 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234409AbjAKUFK (ORCPT ); Wed, 11 Jan 2023 15:05:10 -0500 Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com [IPv6:2a00:1450:4864:20::12c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BBE3A43E4C for ; Wed, 11 Jan 2023 12:01:34 -0800 (PST) Received: by mail-lf1-x12c.google.com with SMTP id m6so25185366lfj.11 for ; Wed, 11 Jan 2023 12:01:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rCHat37cJtM2Qvwrjq9+VD2WQIcOHoBDwG3chmbNUpY=; b=YvhlSLlldXA1ktk13wJ/O4Gp1RC+o6+9JqJAspbyguImj2C138rOw33Rn6+RfNQiEG BB/hZkVvjEzo/2yafBAhi8TIOek1sw2+aggntqRUlChQfN8q+b37+vU62S+CahLI8vNl 1J2mDFiS7DSGkUdjtRXBIEUZ2cp6dCZCMKfSqXYXxUq+S6wvgWxpC6+AF1Obm3orLg60 LvSUVXMlf05x/qVUUCWD1HdDSE6Tx3daWo2XpgGAl2ODOZ2t7LBy5No1NAZaq7ag7fjk YsIlgJpnNerVEOAqAddzxbqGMXrWRR05w/U2BKKs8NxIA88ESUkzDACOkKK5BeaFnW0b 4tnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rCHat37cJtM2Qvwrjq9+VD2WQIcOHoBDwG3chmbNUpY=; b=FK6g+KpggxDMcGYKBCUiTgALU9Akas2JdhSCdcG+Jy0tITDy5qmwzWz6DJGTCVsVq+ No9fX7D09ab/F43V9P5ULDzwEr5aTacZT2WFyE4O74bnRW4UGFz97uJ58773E2rrwsi7 xYYJTl1V7txNq3ODXkdKTLuHlaUFr2dZPyVWknlvhFeGqwKmnEZMLhJQjr9qbn7GEpgn Z3YHDXvwGp/75lb3yRNZeO9gf8DsKm82i3ku8hdV6ORA6OPzuD6TnN8xfDKQDpUAihec GTwDFXGOU4YHl2XdQE2VrgkGSgwvRIMTJPrvMkFp3M46q5ZX+rsEuuWT0XM8RYe6m/vi ezSw== X-Gm-Message-State: AFqh2krn3EetSLaHuAyhie9ANB6ddev8gMChxnOTTYOu+2wO0v+nYyZ8 3zA24564WTqIc0DPJ7vV/4NMyw== X-Google-Smtp-Source: AMrXdXu58ILgQPiKFsmXUedyxiC7SkBuhOkzFHpC7cly8MPvCBn2S8/B6TUEQ9MaLjuaaNWbZGsSGQ== X-Received: by 2002:ac2:4bd1:0:b0:4a4:6af4:43b7 with SMTP id o17-20020ac24bd1000000b004a46af443b7mr20048900lfq.69.1673467292658; Wed, 11 Jan 2023 12:01:32 -0800 (PST) Received: from umbar.unikie.fi ([192.130.178.91]) by smtp.gmail.com with ESMTPSA id v20-20020a05651203b400b004b4e6dab30esm2881437lfp.222.2023.01.11.12.01.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Jan 2023 12:01:32 -0800 (PST) From: Dmitry Baryshkov To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Stephen Boyd , Michael Turquette , Rob Herring , Krzysztof Kozlowski , Taniya Das Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 05/14] clk: qcom: cpu-8996: support using GPLL0 as SMUX input Date: Wed, 11 Jan 2023 23:01:19 +0300 Message-Id: <20230111200128.2593359-6-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> References: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org In some cases the driver might need using GPLL0 to drive CPU clocks. Bring it in through the sys_apcs_aux clock. Signed-off-by: Dmitry Baryshkov --- drivers/clk/qcom/clk-cpu-8996.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/clk/qcom/clk-cpu-8996.c b/drivers/clk/qcom/clk-cpu-8996.c index d51965fda56d..0e0c00d44c6f 100644 --- a/drivers/clk/qcom/clk-cpu-8996.c +++ b/drivers/clk/qcom/clk-cpu-8996.c @@ -12,6 +12,8 @@ * +-------+ * XO | | * +------------------>0 | + * SYS_APCS_AUX | | + * +------------------>3 | * | | * PLL/2 | SMUX +----+ * +------->1 | | @@ -310,20 +312,29 @@ static const struct clk_ops clk_cpu_8996_pmux_ops = { .determine_rate = clk_cpu_8996_pmux_determine_rate, }; +static const struct parent_map smux_parent_map[] = { + { .cfg = 0, }, /* xo */ + { .cfg = 1, }, /* pll */ + { .cfg = 3, }, /* sys_apcs_aux */ +}; + static const struct clk_parent_data pwrcl_smux_parents[] = { { .fw_name = "xo" }, { .hw = &pwrcl_pll_postdiv.hw }, + { .fw_name = "sys_apcs_aux" }, }; static const struct clk_parent_data perfcl_smux_parents[] = { { .fw_name = "xo" }, { .hw = &perfcl_pll_postdiv.hw }, + { .fw_name = "sys_apcs_aux" }, }; static struct clk_regmap_mux pwrcl_smux = { .reg = PWRCL_REG_OFFSET + MUX_OFFSET, .shift = 2, .width = 2, + .parent_map = smux_parent_map, .clkr.hw.init = &(struct clk_init_data) { .name = "pwrcl_smux", .parent_data = pwrcl_smux_parents, @@ -337,6 +348,7 @@ static struct clk_regmap_mux perfcl_smux = { .reg = PERFCL_REG_OFFSET + MUX_OFFSET, .shift = 2, .width = 2, + .parent_map = smux_parent_map, .clkr.hw.init = &(struct clk_init_data) { .name = "perfcl_smux", .parent_data = perfcl_smux_parents, From patchwork Wed Jan 11 20:01:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 641401 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1324EC46467 for ; Wed, 11 Jan 2023 20:05:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239666AbjAKUF1 (ORCPT ); Wed, 11 Jan 2023 15:05:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35078 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238770AbjAKUFD (ORCPT ); Wed, 11 Jan 2023 15:05:03 -0500 Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [IPv6:2a00:1450:4864:20::130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9725843DA6 for ; Wed, 11 Jan 2023 12:01:34 -0800 (PST) Received: by mail-lf1-x130.google.com with SMTP id y25so25191150lfa.9 for ; Wed, 11 Jan 2023 12:01:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UcTrQNFFbWCL7GgAo7RNP0TzY01GvFcQgkQKLT8ew64=; b=GvnUTovdSaH2y/t2hZgjAMqhy0bL8GpaM2GmZ7CRWjrVpGkVO7YZGCrV2S0bH5/x4R h2YAWuD6xrgAZBG+j+7Dhjb9nmz+YSdRgkUgjApy2zaz+uJJu5Vd0YRm+WIONodwtRpE 7qMrgDab9BAKeROCPZfv2Ty5Tgic/tLqewdIJDGtBAjxLyuaEi8xa/5Y7b6zL2LoCop7 SMKRX72A+2bVNNFJgrmaXYXfwtkaDGKFG+zz9tEzs2yb5MrKuvhr0J81OtfESfHz2Gnr rA0XSDxGmmWQS+E1+iyIGt4bUMo8Qu7Hjg3+273ahAJfXlfzYff1NWmmz/pGbs8pmAya 4Z9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UcTrQNFFbWCL7GgAo7RNP0TzY01GvFcQgkQKLT8ew64=; b=fIYdYDTZGOTh60Jh6r8CoTOGZqJ4woqBbm6eD5PZymcmaUr0PeZHTkisNtj5/6F1sd MB14k5Wgjsw0KWMK9JZDTjssSa2PeuB22GKYSOk22nNA99VpM6Bcn17pD2jL7caGUZxl iUefAMFTENgJ7Otp4PgObqmW8t0V73cUB85CtVbSG2tNB28L0YvH9h+9VZ85xRpthLXD dIoCEWesLgtX+jdtBprXoVmhCkcTCzZE4HW0MWW1ODxbEuCdTMLDvoQ/P6t+u6e6TX+C ttYccRIDzp0VImSVDQRnG3uwaEXtRJ6G9p59f9n7AlUxVgrGUGXrQ7Wkx8rVPF7+4Azh laLA== X-Gm-Message-State: AFqh2kqBvbAqr/gDho0mHTAxbf1PegKN8RqNbTwCjfPggfUt7MliN8ae 8X+8j7hGNDq4CfeJHmsmrJOBHg== X-Google-Smtp-Source: AMrXdXu0iCRkiiReh19/Xr0H079pJ0g71zSpaJfuuYIcqiIji5/Tx9DsEseAgyhkwDvwR//d+1WMfA== X-Received: by 2002:ac2:5df2:0:b0:4aa:7821:8021 with SMTP id z18-20020ac25df2000000b004aa78218021mr24329911lfq.34.1673467293337; Wed, 11 Jan 2023 12:01:33 -0800 (PST) Received: from umbar.unikie.fi ([192.130.178.91]) by smtp.gmail.com with ESMTPSA id v20-20020a05651203b400b004b4e6dab30esm2881437lfp.222.2023.01.11.12.01.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Jan 2023 12:01:32 -0800 (PST) From: Dmitry Baryshkov To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Stephen Boyd , Michael Turquette , Rob Herring , Krzysztof Kozlowski , Taniya Das Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 06/14] clk: qcom: cpu-8996: skip ACD init if the setup is valid Date: Wed, 11 Jan 2023 23:01:20 +0300 Message-Id: <20230111200128.2593359-7-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> References: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Check whether L2 registers contain correct values and skip programming if they are valid. This follows the code present downstream. Signed-off-by: Dmitry Baryshkov --- drivers/clk/qcom/clk-cpu-8996.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/clk/qcom/clk-cpu-8996.c b/drivers/clk/qcom/clk-cpu-8996.c index 0e0c00d44c6f..7e5246ca7e7f 100644 --- a/drivers/clk/qcom/clk-cpu-8996.c +++ b/drivers/clk/qcom/clk-cpu-8996.c @@ -472,10 +472,15 @@ static void __iomem *base; static void qcom_cpu_clk_msm8996_acd_init(void __iomem *base) { u64 hwid; + u32 val; unsigned long flags; spin_lock_irqsave(&qcom_clk_acd_lock, flags); + val = kryo_l2_get_indirect_reg(L2ACDTD_REG); + if (val == 0x00006a11) + goto out; + hwid = read_cpuid_mpidr() & CPU_AFINITY_MASK; kryo_l2_set_indirect_reg(L2ACDTD_REG, 0x00006a11); @@ -492,6 +497,7 @@ static void qcom_cpu_clk_msm8996_acd_init(void __iomem *base) writel(0xf, base + PERFCL_REG_OFFSET + SSSCTL_OFFSET); } +out: spin_unlock_irqrestore(&qcom_clk_acd_lock, flags); } From patchwork Wed Jan 11 20:01:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 641399 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1B63AC54EBC for ; Wed, 11 Jan 2023 20:05:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235054AbjAKUFl (ORCPT ); Wed, 11 Jan 2023 15:05:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35298 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239507AbjAKUFL (ORCPT ); Wed, 11 Jan 2023 15:05:11 -0500 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 BBE9643E4F for ; Wed, 11 Jan 2023 12:01:36 -0800 (PST) Received: by mail-lf1-x12b.google.com with SMTP id f34so25168445lfv.10 for ; Wed, 11 Jan 2023 12:01:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mgj0Y0zyXFwxRkV/6Hy2GDiojJliRCwujI01Gy8nXog=; b=HPWNFQ/rUjMNTJS80QxTyWlEQ2lp/W6uiT4eHLTqToNAo7yu6sCZ3LN0Uirv1Qzn8D ii3+uSeu3P6UVuRtzeOfX8b0hQaFwBaj28bftwrfSjibR+RuE9TrBH1DciL6fo/CCFoE uZGS85RVwIDcUV3wnHO4Z5WcnZQYes5ORWj+Jllk4KeJ0VjoJfjaQB8Ik3YDpTtOVPMX t+b0SlCcYRHulL1ln1aXC0z8MrpCCVYYrR75N8UjbWO3f248OADbcsNfC1H/N1oN0zq/ iTNDcb9WYF7nSv/YPB98NFM/ACATQ3YxpNQr4OMbbP2TZkjmzbNpneGshobkQztD20lb v/lQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mgj0Y0zyXFwxRkV/6Hy2GDiojJliRCwujI01Gy8nXog=; b=UGeQv/ccZ2b9hgFUUvglTooENad1YbH/TjNxtS/maqWa75YVd9dPpbii1Dtfm/y35G OygMHrEIhsZbQmpvRlgv+CIfZ+d/S468TIqNZZeZbDJK5JxKgbzX12b/+678GXUeRABl oltWRhkzRPoVwNc08fNmogXGTE13v9qSq51QYzIk3T+CiuhE/LsGa6Jk2FMqL3SLbHTk W87/PInpMxyrejeq8sB9Fw1lE2zc16RHFZAcmPKgsPHJ3/aP3LVpQeGzoPfXuNC35a04 2uA/cIWmFpXmSh5ZSVv17b3UKNz9eaUBbaJ8RzahnJveXsh2nnoJ8AWf17zW8T4GSOcA Z1PQ== X-Gm-Message-State: AFqh2kq0TGSNHM5rpDVCxFcSLiE91bMnDIelZ6boBoqlRbMiUGz2krGA /v4J/wFzR3VXfFmQjY19vvE9xcGFQH8dNwc/ X-Google-Smtp-Source: AMrXdXto6yuzAqiVpxMSLy5LppR5sqcC57QdrTTjp8I/cXJ0AuRLok3WczQnLFTHMjt3JYK9a7SdRA== X-Received: by 2002:a05:6512:340d:b0:4b5:69f1:61b1 with SMTP id i13-20020a056512340d00b004b569f161b1mr20884604lfr.42.1673467295246; Wed, 11 Jan 2023 12:01:35 -0800 (PST) Received: from umbar.unikie.fi ([192.130.178.91]) by smtp.gmail.com with ESMTPSA id v20-20020a05651203b400b004b4e6dab30esm2881437lfp.222.2023.01.11.12.01.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Jan 2023 12:01:34 -0800 (PST) From: Dmitry Baryshkov To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Stephen Boyd , Michael Turquette , Rob Herring , Krzysztof Kozlowski , Taniya Das Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 09/14] clk: qcom: cpu-8996: move qcom_cpu_clk_msm8996_acd_init call Date: Wed, 11 Jan 2023 23:01:23 +0300 Message-Id: <20230111200128.2593359-10-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> References: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Initialize ACD configuration from qcom_cpu_clk_msm8996_register_clks(), before registering all clocks. This way we can be sure that the clock is fully configured before letting CCF touch it. Signed-off-by: Dmitry Baryshkov --- drivers/clk/qcom/clk-cpu-8996.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/clk/qcom/clk-cpu-8996.c b/drivers/clk/qcom/clk-cpu-8996.c index e390f4aadff1..571ed52b3026 100644 --- a/drivers/clk/qcom/clk-cpu-8996.c +++ b/drivers/clk/qcom/clk-cpu-8996.c @@ -425,6 +425,8 @@ static struct clk_regmap *cpu_msm8996_clks[] = { &perfcl_pmux.clkr, }; +static void qcom_cpu_clk_msm8996_acd_init(struct regmap *regmap); + static int qcom_cpu_clk_msm8996_register_clks(struct device *dev, struct regmap *regmap) { @@ -435,6 +437,8 @@ static int qcom_cpu_clk_msm8996_register_clks(struct device *dev, clk_alpha_pll_configure(&pwrcl_alt_pll, regmap, &altpll_config); clk_alpha_pll_configure(&perfcl_alt_pll, regmap, &altpll_config); + qcom_cpu_clk_msm8996_acd_init(regmap); + for (i = 0; i < ARRAY_SIZE(cpu_msm8996_hw_clks); i++) { ret = devm_clk_hw_register(dev, cpu_msm8996_hw_clks[i]); if (ret) @@ -467,9 +471,8 @@ static int qcom_cpu_clk_msm8996_register_clks(struct device *dev, #define L2ACDSSCR_REG 0x589ULL static DEFINE_SPINLOCK(qcom_clk_acd_lock); -static void __iomem *base; -static void qcom_cpu_clk_msm8996_acd_init(void __iomem *base) +static void qcom_cpu_clk_msm8996_acd_init(struct regmap *regmap) { u64 hwid; u32 val; @@ -488,13 +491,13 @@ static void qcom_cpu_clk_msm8996_acd_init(void __iomem *base) kryo_l2_set_indirect_reg(L2ACDSSCR_REG, 0x00000601); if (PWRCL_CPU_REG_MASK == (hwid | PWRCL_CPU_REG_MASK)) { - writel(0xf, base + PWRCL_REG_OFFSET + SSSCTL_OFFSET); + regmap_write(regmap, PWRCL_REG_OFFSET + SSSCTL_OFFSET, 0xf); kryo_l2_set_indirect_reg(L2ACDCR_REG, 0x002c5ffd); } if (PERFCL_CPU_REG_MASK == (hwid | PERFCL_CPU_REG_MASK)) { kryo_l2_set_indirect_reg(L2ACDCR_REG, 0x002c5ffd); - writel(0xf, base + PERFCL_REG_OFFSET + SSSCTL_OFFSET); + regmap_write(regmap, PERFCL_REG_OFFSET + SSSCTL_OFFSET, 0xf); } out: @@ -509,7 +512,7 @@ static int cpu_clk_notifier_cb(struct notifier_block *nb, unsigned long event, switch (event) { case PRE_RATE_CHANGE: - qcom_cpu_clk_msm8996_acd_init(base); + qcom_cpu_clk_msm8996_acd_init(cpuclk->clkr.regmap); /* * Avoid overvolting. clk_core_set_rate_nolock() walks from top @@ -538,6 +541,7 @@ static int cpu_clk_notifier_cb(struct notifier_block *nb, unsigned long event, static int qcom_cpu_clk_msm8996_driver_probe(struct platform_device *pdev) { + static void __iomem *base; struct regmap *regmap; struct clk_hw_onecell_data *data; struct device *dev = &pdev->dev; @@ -559,8 +563,6 @@ static int qcom_cpu_clk_msm8996_driver_probe(struct platform_device *pdev) if (ret) return ret; - qcom_cpu_clk_msm8996_acd_init(base); - data->hws[0] = &pwrcl_pmux.clkr.hw; data->hws[1] = &perfcl_pmux.clkr.hw; data->num = 2; From patchwork Wed Jan 11 20:01:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 641396 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F29BFC46467 for ; Wed, 11 Jan 2023 20:05:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235351AbjAKUFs (ORCPT ); Wed, 11 Jan 2023 15:05:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239487AbjAKUFJ (ORCPT ); Wed, 11 Jan 2023 15:05:09 -0500 Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [IPv6:2a00:1450:4864:20::12a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BC20343E55 for ; Wed, 11 Jan 2023 12:01:37 -0800 (PST) Received: by mail-lf1-x12a.google.com with SMTP id bf43so25213525lfb.6 for ; Wed, 11 Jan 2023 12:01:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PZ2p731vN2U20cHBeIyCq9fuCWOHPzhzPfBzUh6W44Y=; b=BzwdXy4C9+bn81/EMPx5hzqqsRMLi0MPIGDUeJh7FCpmLthigreTIKQXXFbAtktRj/ gkoJA5UFMcbFWRI98EPgN1eYwJXhS84nT7aNE+6zFpdlSee4DxE8VLa9lo518CfyGT8Z oDCKBYB4lEHTpfvailV+UfJNXTCh146iU4TY4dzxueU/p5CB5WmHTe7YKbUs/UsBIxI/ ecpxs/ft4ACZGM0uLcl+ob3HccwUVSv5NnJL8M+d6j5bTzp6PLOxJ71Gm/z2Q99Ls9lK zijUtOpatBZWB95eTVaA9GUIMDz3HtEX9bbh8mSs7/iV/cGdX0DSU7iBbULf4EJzOn2o FqXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PZ2p731vN2U20cHBeIyCq9fuCWOHPzhzPfBzUh6W44Y=; b=zyxXzduunsoANYkxxyYypFV1LjsyRhicDzvajVIZVnDnRu8GWqX1mBj0jWZEVOqqeK fFzxlTkOpA5sXwLSfi9Z7njlK1ifC/s4mEwCE6e/WEW0zoZ70k1KxOTNwoeomc9Pn1Du /kkPwuG0Sw/C7DwT1a3lkvmvO6JGY13TyR3YwjbbE/sV1yn9Oa0IfhpSo86bN97DsIXs qE0lD7kv9JCNRumI2c+caLxt2VeTvVYi01QNJ0Oe/pu4Vi600GB22Izcuoj8wWpEZJJB xOEDj6zY2kfSuPhqhHwldTKUbGqLgIVjBwoy+EqiBFCLccYeBHKPXT+7eIItNZaDtGg4 7sPg== X-Gm-Message-State: AFqh2krEtWucUdpoMIcWgPYryrgq0JIBmhHWad18FYPN7HRPgTVcYkAZ hskntB+YFJNSzzY8V7HEnMSdAw== X-Google-Smtp-Source: AMrXdXtmdILMytzI+t7hWZ5YNBsJKVeYJhVtY7573QiGBxYXcEk2jq/CeA1tcJbg7MTriIqD+/xnSA== X-Received: by 2002:a05:6512:3b2a:b0:4b5:5efb:7d26 with SMTP id f42-20020a0565123b2a00b004b55efb7d26mr25667474lfv.37.1673467296024; Wed, 11 Jan 2023 12:01:36 -0800 (PST) Received: from umbar.unikie.fi ([192.130.178.91]) by smtp.gmail.com with ESMTPSA id v20-20020a05651203b400b004b4e6dab30esm2881437lfp.222.2023.01.11.12.01.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Jan 2023 12:01:35 -0800 (PST) From: Dmitry Baryshkov To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Stephen Boyd , Michael Turquette , Rob Herring , Krzysztof Kozlowski , Taniya Das Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 10/14] clk: qcom: cpu-8996: fix PLL configuration sequence Date: Wed, 11 Jan 2023 23:01:24 +0300 Message-Id: <20230111200128.2593359-11-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> References: <20230111200128.2593359-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Switch both power and performance clocks to the GPLL0/2 (sys_apcs_aux) before PLL configuration. Switch them to the ACD afterwards. Signed-off-by: Dmitry Baryshkov --- drivers/clk/qcom/clk-cpu-8996.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/clk/qcom/clk-cpu-8996.c b/drivers/clk/qcom/clk-cpu-8996.c index 571ed52b3026..47c58bb5f21a 100644 --- a/drivers/clk/qcom/clk-cpu-8996.c +++ b/drivers/clk/qcom/clk-cpu-8996.c @@ -432,13 +432,27 @@ static int qcom_cpu_clk_msm8996_register_clks(struct device *dev, { int i, ret; + /* Select GPLL0 for 300MHz for the both clusters */ + regmap_write(regmap, PERFCL_REG_OFFSET + MUX_OFFSET, 0xc); + regmap_write(regmap, PWRCL_REG_OFFSET + MUX_OFFSET, 0xc); + + /* Ensure write goes through before PLLs are reconfigured */ + udelay(5); + clk_alpha_pll_configure(&pwrcl_pll, regmap, &hfpll_config); clk_alpha_pll_configure(&perfcl_pll, regmap, &hfpll_config); clk_alpha_pll_configure(&pwrcl_alt_pll, regmap, &altpll_config); clk_alpha_pll_configure(&perfcl_alt_pll, regmap, &altpll_config); + /* Wait for PLL(s) to lock */ + udelay(50); + qcom_cpu_clk_msm8996_acd_init(regmap); + /* Switch clusters to use the ACD leg */ + regmap_write(regmap, PWRCL_REG_OFFSET + MUX_OFFSET, 0x2); + regmap_write(regmap, PERFCL_REG_OFFSET + MUX_OFFSET, 0x2); + for (i = 0; i < ARRAY_SIZE(cpu_msm8996_hw_clks); i++) { ret = devm_clk_hw_register(dev, cpu_msm8996_hw_clks[i]); if (ret)