From patchwork Fri Jan 13 12:05:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642710 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 55D17C678D4 for ; Fri, 13 Jan 2023 12:12:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241159AbjAMMMu (ORCPT ); Fri, 13 Jan 2023 07:12:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47476 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240935AbjAMMLn (ORCPT ); Fri, 13 Jan 2023 07:11:43 -0500 Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DEEF87D9E5 for ; Fri, 13 Jan 2023 04:06:08 -0800 (PST) Received: by mail-lf1-x12e.google.com with SMTP id bu8so32807608lfb.4 for ; Fri, 13 Jan 2023 04:06:08 -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=SZDEolcQGnwFUL0b6SHhXtES+/x7b+VoQjgO/oUXinA=; b=Y3c2aTu+lBZqLf1pQVj3HOvZZCtBBotxEjVIzeC4sx0LsyrEBsF2icS/6sxA0B1eLy vmGi42Lim8Zbft+SBXAu9r7k/0swA6HMfml2gx31iSvREWVYdu5yBYIbnMDlbTJDZRmW RqDvOvNdE3hT8aC5gxB3ctSSk9J1IzOQkQEPmYdM5qFdSpdG0Nm8HQXZp0dqR6p4FSpV 1mU2VpOvMWKlGmRzJZzJpBVax5IhRcA2vW6/DfwF38tf4KOWGmCoNLBDFzkBPioHYvQ6 bZygaYe0At+62GYN+QqkjhdWY90ZOkA1tk1/vIBo92EDSbz5vEamj+BHs/87GQlzXYG/ OQrQ== 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=SZDEolcQGnwFUL0b6SHhXtES+/x7b+VoQjgO/oUXinA=; b=l+8YCVby3yptFjm7pa5YOfU9bq0h4YMSfo70Yp70fH6yvG3wfrKIfc52lgC3vvuDuz AVXaZTwYoqkjQewmLrHJMbku5ivM7zBd3kwfnX82KsN/rxGWouBnEm5426VnNjMv7txd TUiOVI6bLG+abzPL+jHCxZOd5usk+NHbRjA2H0oHr0Ta4eXLa83kre/IG96/ahCTGPyj pnLKZQK+FFMrAiNG9zHj/eoWEGIl2GJOXx/ltOKOSW4t6jTBrTaIcR7IoCNgvIQI0FCi bmGdKbWQM2UdaD6uZfTFNAycd6olNwPhTqBknt/N4beeU2EZcnyzX8KROzCUFFdJn+pQ UtfQ== X-Gm-Message-State: AFqh2krKqJxzI+vP7eBWAI6oNivjmqwkq06eh1T5LoAsGBCg7Pb+5Nsh XPniaS2laegGoE3vx1WJt0qeHQ== X-Google-Smtp-Source: AMrXdXv8GG9odTGIrhCZqfj1TTqxoGwIdULKDVy4O/xURU+JJ9F0/EC9Jd39q1WPUgU0fGNG/bSphA== X-Received: by 2002:a19:7008:0:b0:4b5:7d49:4a05 with SMTP id h8-20020a197008000000b004b57d494a05mr20313749lfc.0.1673611567319; Fri, 13 Jan 2023 04:06:07 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.06.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:06:06 -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, Krzysztof Kozlowski Subject: [PATCH v3 01/14] dt-bindings: clock: qcom,msm8996-apcc: add sys_apcs_aux clock Date: Fri, 13 Jan 2023 14:05:31 +0200 Message-Id: <20230113120544.59320-2-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org The MSM8996 CPU clock controller can make use of the sys_apcs_aux clock. Add it to the bindings. Acked-by: Krzysztof Kozlowski 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 Fri Jan 13 12:05:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642133 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 131A1C54EBE for ; Fri, 13 Jan 2023 12:12:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232678AbjAMMMw (ORCPT ); Fri, 13 Jan 2023 07:12:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47876 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238573AbjAMMLr (ORCPT ); Fri, 13 Jan 2023 07:11:47 -0500 Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [IPv6:2a00:1450:4864:20::12f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AADF07DE0A for ; Fri, 13 Jan 2023 04:06:12 -0800 (PST) Received: by mail-lf1-x12f.google.com with SMTP id y25so32813123lfa.9 for ; Fri, 13 Jan 2023 04:06:12 -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=mmxbEU7yNm32Cz9XwGJP6LlPVKtTRmfgxQ+3IPRboCA=; b=RgOWW5w6/FtVAooz9c1Wm+dFGjj/5RU9DrqMWd63dhcOSGts0cqiahNtYvUS4TU39f 1TS5hGPWncrwTzQ/xK5PmrMTIjFrGe0H5MwCJTlAxUtUxRvtrgQGaAVGO8smOrpKUfch y1hI14wgyVr2xJAFOc9Z9TdZJIU4YoUmaKUClu0NC8eiSIZmi/A7D25LUg1pdot0RvZ8 kklAV8cBL/rDmXWXE/NrLZXufi4JSiOYav2pZKrtcn8zALdqQxQgDZ+wJjlbNfc1z2iY gi+MwzhvO7SPpR2Om0Pd2R3jA4sUBKNTAvRCKOM2qvkEUIjDkQhoI6sMWryQ2W8i+El4 RXbA== 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=mmxbEU7yNm32Cz9XwGJP6LlPVKtTRmfgxQ+3IPRboCA=; b=xGlh3gINrHAHRnyGSagyqahEKFcUFUdKmMCAfV1LdyypKe8Ge/YyF6R+lW25FsIbO6 4XnXspegDTFirbbpkEyRpKaH2gbJE5UxUoLsnRKApuaeFAU+se4ALWZQ8eVkA3DmneLo YbJt8VhQGJTMntX4kDJkZwaINYqLc+XRXY95005gH+eejLInaSRnzlSfIhN8QIGSd0Zs AumAP8TcyBfkcFlX/9X1ALvK2GgG/JCkPGwN7gN7hVAkje0ts24mxpd1fLtS3+EcAxCm U2f31ZNHJIJm95hv4ivi2gS9L4UQSI8048NDfAUkvkJML2uCOn9FSar1TVgg9cdL7kkA ZaFA== X-Gm-Message-State: AFqh2krlA0G7PqkdJ4MSRoYHgTVtGmKBHY/R/3eqgvJyW9xNCiPqXDpU yzaHzyuMp9gKkAoGfEHt3rr85Q== X-Google-Smtp-Source: AMrXdXtLYd/k7aJYj73HtecfF31AhEXVeOHWBBDIKrBb2k1+Wjp3Vgedt0G4DHRiJN6FCsRSk97fPw== X-Received: by 2002:a05:6512:2344:b0:4cb:90d:41b1 with SMTP id p4-20020a056512234400b004cb090d41b1mr21249865lfu.56.1673611571086; Fri, 13 Jan 2023 04:06:11 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.06.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:06:10 -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 v3 02/14] clk: qcom: clk-alpha-pll: program PLL_TEST/PLL_TEST_U if required Date: Fri, 13 Jan 2023 14:05:32 +0200 Message-Id: <20230113120544.59320-3-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Program PLL_TEST and PLL_TEST_U registers if required by the pll configuration. Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- drivers/clk/qcom/clk-alpha-pll.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/clk/qcom/clk-alpha-pll.c b/drivers/clk/qcom/clk-alpha-pll.c index f9e4cfd7261c..e266379427f2 100644 --- a/drivers/clk/qcom/clk-alpha-pll.c +++ b/drivers/clk/qcom/clk-alpha-pll.c @@ -358,6 +358,11 @@ void clk_alpha_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap, regmap_update_bits(regmap, PLL_USER_CTL(pll), mask, val); + clk_alpha_pll_write_config(regmap, PLL_TEST_CTL(pll), + config->test_ctl_val); + clk_alpha_pll_write_config(regmap, PLL_TEST_CTL_U(pll), + config->test_ctl_hi_val); + if (pll->flags & SUPPORTS_FSM_MODE) qcom_pll_set_fsm_mode(regmap, PLL_MODE(pll), 6, 0); } From patchwork Fri Jan 13 12:05:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642709 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 60D6BC54EBD for ; Fri, 13 Jan 2023 12:12:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233554AbjAMMMy (ORCPT ); Fri, 13 Jan 2023 07:12:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47910 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241215AbjAMMLt (ORCPT ); Fri, 13 Jan 2023 07:11:49 -0500 Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [IPv6:2a00:1450:4864:20::12f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EFD1C7DE30 for ; Fri, 13 Jan 2023 04:06:15 -0800 (PST) Received: by mail-lf1-x12f.google.com with SMTP id v25so32789478lfe.12 for ; Fri, 13 Jan 2023 04:06:15 -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=9cmnuPgg6nrYuVy6oT9pdU5a4QKL5OlhnalZq+EKhBE=; b=mZxeFbl0loKEWYflwP6nYQLdu5mXdKBvOd+FMJG3rA+vqhmOBTD2uKZOm6c+W15NhH mhCOIHOau6L0Ok3Q09g14YT6pr/oS4UHbb8rAbrVbX8WpVuSNmsWDLHV9IZSKYuYy85T wya6TZ92vl4VUmCOQYLy5ydFClekSHtTL4M9Wr2yJwlYbkuPcPamWXFP1NXFSsWMQWs7 wRD/iuCYsrq4GDhrJi8p3odSwyKFVEd4lC4Oa9fafMWytOYGbro7BKRhFfD3zV1fH1aN +ajzXWRtK71akQ6QsG+c8Bc4Ezxq0owM797GfPkSzNuvfPecPeCSv34e3JEjBPpMbNpX S7mQ== 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=9cmnuPgg6nrYuVy6oT9pdU5a4QKL5OlhnalZq+EKhBE=; b=nstAxD827oEiertfh9YXQkObRufZq/tP7i2xa4e6COLeTlKiL+XrPfXxODVtuoBUEv OUyK25XVoxbI20O67dPvZWRlS1XcxnIhT7AkVxZ3RKs+FAHwyZ+G82kYxEh1iv4IkEKf cP8paoSnj2uG5hiTo/Z4YHjsYKiiIqsEQZ35FyqZ8eH0iwgl+j5NPrTMkrOga2XjqZXw QKA75mjuKHk50AV8JPgCOS6tK5KHzmmZiZpZi0Dhv5ypGtjonLp5O6KsEtVeaC4wPggr TcH2RbdUakmuChTqB64Qt2mH94hlkJRKBTVC85PENt91p0XWNaGnoTJVfnGiGNPRSRqK 3SvQ== X-Gm-Message-State: AFqh2koWxULlLatssCTtKOUR3ACSnFEsqcUUtGAy++3MK80CyBEjl6CI vVCCFQhI63lBW49kkqrNZLiVBg== X-Google-Smtp-Source: AMrXdXvyNW46RX6TBbQcQg2ZW+l5U4DNtpuHFj072THT8O/3v6PwPrWr+fMiT7nIKvugTwAIJWCkBA== X-Received: by 2002:a05:6512:31d6:b0:4b5:7817:419d with SMTP id j22-20020a05651231d600b004b57817419dmr26783383lfe.41.1673611574238; Fri, 13 Jan 2023 04:06:14 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.06.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:06:13 -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 v3 03/14] clk: qcom: cpu-8996: correct PLL programming Date: Fri, 13 Jan 2023 14:05:33 +0200 Message-Id: <20230113120544.59320-4-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Change PLL programming to follow the downstream setup. Reviewed-by: Konrad Dybcio 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 Fri Jan 13 12:05:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642132 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 C2661C54EBE for ; Fri, 13 Jan 2023 12:13:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241212AbjAMMNA (ORCPT ); Fri, 13 Jan 2023 07:13:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47580 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233011AbjAMML6 (ORCPT ); Fri, 13 Jan 2023 07:11:58 -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 966497DE00 for ; Fri, 13 Jan 2023 04:06:46 -0800 (PST) Received: by mail-lf1-x12a.google.com with SMTP id bu8so32810009lfb.4 for ; Fri, 13 Jan 2023 04:06:46 -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=cRgpyNZCiNK2oXTfGshioMNKAIlSBJK8yHdZdNBFUDg=; b=aoSjh2COawFwiwBbo0LtMpdLFZPDkhiPLt2JAas3Daz8GvO+W1UNtM6feIifCHJL0R L6cjZlV6SqdbEgMxkgD6mxUtIzrAPm4Z1wkCkHY5ZAreTAkEgt11fZTPyiRL35CDvpbG 8Eaxj4Vl/858uxh1f1ydEQghiZiwYsWy5HPoSaAS/wr2EUV+uJ8gmhnXx9lD/cvO2OXK WQU7mBkS6yIry0IIDtwLD4HF1g6CZH7yexnijOZdZ8Frr+4KqlW9/Wi9UkImPqerViaS rg4wzc/bwLEpKu9A2HD60cim3jGcElqKJcbBkRFkDAuXZziLDARNrGIpTplkIAP+zhuD J/GA== 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=cRgpyNZCiNK2oXTfGshioMNKAIlSBJK8yHdZdNBFUDg=; b=CfLzUQswe5plngHKznFdFtEQJYvFPj8gtwIcukYWe4ZOM1QnlmZDE2J9NZskjD2zdx /RNdX2AEGgldjYoA0mzyzrAYbXBPu2OkJq8QNxrbEGee7zDa3JKIcpBDLPZ4mwHSleil OnsyX1rQI/dibHeqakgGLsM7M9KKbfoqHCYlcx4y5xJcmd5QVqYU5Zdk3NhuRfmMm5Tn wiNCl7S6pCpGwh/ToFnnaX8m3e9jpF8Zc/eRl1RYRQ/DOLTR6J8tjVVL5XIbuaLjBMlk d9cIBbWb9NQqHY7nlxu/32Gd2P1tq6x9Dcluc7c2oVP6m9wpfLBTLxDcFciZLumQsnUf KbNw== X-Gm-Message-State: AFqh2krZFfd6FwqrZVzuaztxiVW9nSQQo5rjSbFCgpPK74QORy/ySfwS So/h6IczUfJbdey2/Vzyu/PEcQ== X-Google-Smtp-Source: AMrXdXvxxlLoW2b+XCQojEFe220iqcZDT2wD+GZzrCLDY5PHn/tOBN8mO9AgiQK07M0g8zEkKH5SIg== X-Received: by 2002:a05:6512:ac8:b0:4b5:b06d:4300 with SMTP id n8-20020a0565120ac800b004b5b06d4300mr25095169lfu.29.1673611604983; Fri, 13 Jan 2023 04:06:44 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.06.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:06:44 -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 v3 04/14] clk: qcom: cpu-8996: fix the init clock rate Date: Fri, 13 Jan 2023 14:05:34 +0200 Message-Id: <20230113120544.59320-5-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Current multiplier (60) results in CPU getting the rate which is unlisted in the CPU frequency tables (60 * 19.2 = 1152 MHz). This results in warnings from the cpufreq during startup. Change PLL programming (l = 54) to init CPU clocks to start with the frequency of 54 * 19.2 = 1036.8 MHz which is supported by both power and performance clusters from all speed bins. 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 Fri Jan 13 12:05:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642708 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 2BB2BC61DB3 for ; Fri, 13 Jan 2023 12:13:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240931AbjAMMND (ORCPT ); Fri, 13 Jan 2023 07:13:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47604 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234305AbjAMMMB (ORCPT ); Fri, 13 Jan 2023 07:12:01 -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 363E5116B for ; Fri, 13 Jan 2023 04:07:02 -0800 (PST) Received: by mail-lf1-x12d.google.com with SMTP id j17so32858628lfr.3 for ; Fri, 13 Jan 2023 04:07:02 -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=ksf6wPCM78iDSAnwWvEN2fC3NKtOND1ShZbLm8iD+Xs=; b=ubeSSU7IIZztio2IXXQ0eFrvFYHx3By1DgnBksr+DMIEmucsGZNJZKGi4MfcNNvdDp o8VMzGzH1Vp/Ebed5eSR1Cx9kQkxsw9VqmEMBjB9c6FCsVH13OII3CNL6DahFitapnlA P4/dSVdECqOisJC15I2CPRo4u0fkJPJtIV3gXsCMLhIs+0ECfwNXcHm28iK/meKm0Q34 0AlZrpRACFSUO4/JC9e0jOrld5/gWyd4XH4n+cMwtMYpEJgqgT4O/9r6yljZAyISoCgu 0/nsKO0/wlv0EZFBLi/oUem0Q8H/Vo1X0i9Grg37Pby98U6K7M1vClhPBQY1uH+p8ND2 Ucpg== 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=ksf6wPCM78iDSAnwWvEN2fC3NKtOND1ShZbLm8iD+Xs=; b=0HPONUBZffZYf8IxkOLNWeygZJVNZjh6GBr4eUjla9feAOuqy+831RvAo8aH2IL/jH wxjdSIa1ODtLXR2iV3pDaRyr9t4qulXdQXtpbfFoUu2P6xxHr+J4AsEmylvreEbZ9X11 YKNxjc44kt/RumHXDjWHljQtS1hZ21H584YMHHm2CX1DtFPb5oZV/KCcGdI+7MuHGT7m K/dvgIfD5Xs8wZcXtAl28vf1yTJkedsmm//ZS8kQ0SjB/1vWXuWFDEbnLCqtBGJ0SR+k is0MbkmPIvzHOi4NiNl8r18MfeuwkqL+hTDryBw5E7SoFXDLvL98Rc0bg5i/EmEw7oMi RJ2w== X-Gm-Message-State: AFqh2kqWkjzAU5lZTY9kikNTns7+ebjetagdLGUMtF10mp+v+4DWxFKJ /uMxbV++U9EKWdzxxhqesWdYsw== X-Google-Smtp-Source: AMrXdXtT/+PSu7BZPrSZYRkksoaCDocW8kdf0WVwYm+vo+4pTjBO429VwflQphgVBElX2JGuXGI3AQ== X-Received: by 2002:a05:6512:3f0c:b0:4b5:2ef3:fd2b with SMTP id y12-20020a0565123f0c00b004b52ef3fd2bmr26921445lfa.18.1673611620600; Fri, 13 Jan 2023 04:07:00 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.06.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:07:00 -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 v3 05/14] clk: qcom: cpu-8996: support using GPLL0 as SMUX input Date: Fri, 13 Jan 2023 14:05:35 +0200 Message-Id: <20230113120544.59320-6-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@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. Reviewed-by: Konrad Dybcio 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 Fri Jan 13 12:05:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642131 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 2237CC54EBD for ; Fri, 13 Jan 2023 12:13:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241010AbjAMMNV (ORCPT ); Fri, 13 Jan 2023 07:13:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240987AbjAMMMQ (ORCPT ); Fri, 13 Jan 2023 07:12:16 -0500 Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [IPv6:2a00:1450:4864:20::12f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B7587F47C for ; Fri, 13 Jan 2023 04:07:09 -0800 (PST) Received: by mail-lf1-x12f.google.com with SMTP id g13so32844877lfv.7 for ; Fri, 13 Jan 2023 04:07:09 -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=Hm/qQ8fRN2NQHjAQUuIDga+VQhSDIFkn6c2/qYNneiA=; b=ZFRatt/dxs5o0+wQkcz4uNvrDuRZmQTYPlToVfMr+7HTwl5EqQiKl7jPlkAV5mexc+ gt+8O9lsZfxTNqn7TLo8OKJkW+afnkuYOkFbNzF5/0keHyFucCBEuvJwtpnjgVlFChjf h6YGOmQTI06JeDucA8iWvSnVMg8QykjjEaEQ17TOMsLMPR03jGzTyCNxC7i5eHaXcrbK 6Ss17K0lc3n6wt1mZfjkzRVzO863pRC7VRFl/AjQJlJze+5jaCoeqio4f8ZclkXwm3as 9abAKWybrWoBelHzlO25LrhLZDA1Jz95/TBud2CNt2tQIPh23IZtCjf2e3byNynZQmAw 54CQ== 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=Hm/qQ8fRN2NQHjAQUuIDga+VQhSDIFkn6c2/qYNneiA=; b=x2bVy55hbc9vPf2OWNiXtw4uW1LUhxAwARY3uiJuCFfmd61FXT/z5QBwwFf5sKWUX7 4uUeCr7Zg9kF7mPt923BYB7Ry0B7NITz9WunUpYnuBcu9cn/slTps9hdw/LX805KG57f pZetOcTJBelAERMnbvvcrz1jQuf9xCHjsxLCVDttLlC2Y9xviYKAELctX0wHLjAKxpP2 aGbw1YD8eD0jeXCtp0ovzGTcS50bzXD4RCmfQL80oOhND5rfS/YSbnCPqsdK7jGeUCxr QtkL/ExwFGeJYI+UgI1qgiKkY8yZmDnHB9WUg8Mj57vv0dyvkSsa/DrMgA+Cj/ToMtGs Gp5A== X-Gm-Message-State: AFqh2kr9gODM+1/AuDF9+Es5k+CJa2/bNrXEqyJ7BKwXQIBuHOlPbO+f Lab0aEOeJGnFm8Im8U8yA0VomAAtfp9UfOV0bIG0VQ== X-Google-Smtp-Source: AMrXdXsBRAteX1m4WkeMuLekg73W6xuRSD8lqAflC3cp1BrQ+FO37EJXz6dTlWvKg/GS1z0NVctXIQ== X-Received: by 2002:a05:6512:1111:b0:4b5:43ef:a552 with SMTP id l17-20020a056512111100b004b543efa552mr24324909lfg.16.1673611629271; Fri, 13 Jan 2023 04:07:09 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.07.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:07:08 -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 v3 06/14] clk: qcom: cpu-8996: skip ACD init if the setup is valid Date: Fri, 13 Jan 2023 14:05:36 +0200 Message-Id: <20230113120544.59320-7-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Check whether L2 registers contain correct values and skip programming if they are valid. This follows the code present downstream. Reviewed-by: Konrad Dybcio 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 Fri Jan 13 12:05:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642707 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 EC388C61DB3 for ; Fri, 13 Jan 2023 12:13:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241163AbjAMMNb (ORCPT ); Fri, 13 Jan 2023 07:13:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47726 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230335AbjAMMMn (ORCPT ); Fri, 13 Jan 2023 07:12:43 -0500 Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com [IPv6:2a00:1450:4864:20::131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 55C2580616 for ; Fri, 13 Jan 2023 04:07:13 -0800 (PST) Received: by mail-lf1-x131.google.com with SMTP id d30so27916675lfv.8 for ; Fri, 13 Jan 2023 04:07:13 -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=5MFNWqBH1dgb33/SbdMGGUOEJxNRoxoxCAjFOGyypZg=; b=kyLCDm9JNzTCeJGrVZHp00qlEnRZxXSldgnU3XXFI0M9yWaamRhCONX56rCX937nUy AAmCBQLD0KtJyDH341zw2m63S+E3Zpgv2HyG6vAX+jg1DHVWVNoToPXlU4UPsDFlwobx i9JtRlMu9Rs9ib36VVbi5ZUC2AB5vZncizRNaXTKgiWiJ4EZbCi00LEyB3oy9C6f4T9m //nOr2Zx4Sb6DfkD0W7NHJNGSuJH7YEVo02hbVF04/rOVkrev7h8TwrIeQhDjZSYr4VG Ze7RnpC3HOyFp2M2ZZc3y6waeYfvEIrEBhZLw35wajBr0oeiXBYVPO4Hz8xyvefz5Bu8 U5Tg== 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=5MFNWqBH1dgb33/SbdMGGUOEJxNRoxoxCAjFOGyypZg=; b=m9Y1IVoaq0aZbzeLTYyaXe1ykSGKHzz26Ql23ZwdIqvQJSZrMMMFVi7v98xJjYsuVJ /Tkf2cpgiby2fDcFTOMhDt0e2RuByvbx2nHzPX4JLPuWP0xZ3dVhxFa94FuK7FowokSY RF7rxsn5koBtMLcxJ7GJ4TFVOb8IjmIjKir13xQDkEo7coNFj4xqP3HT9aiTx9VDCtnE IvKkIr0FbezQo2VB0ke9fZNfqidb5rq00GBYZizdFqePClfxqcL74B4mSnbR4Hx5uYMc FoAAC9XV9wpfeixORqCAaEmBqkdsbZbbndKWjFusAKpAnGLu5e5wZPbru+QZ89oVHrim PcEQ== X-Gm-Message-State: AFqh2kr9VP3WjtMob5SjVe+o+3Y4qDKthLT67WgbXDpZrEwNwE+Uj1yc AU3s/wyQfGeuIXeif1Wttmwhfg== X-Google-Smtp-Source: AMrXdXt21JqeKEr+uWTyS6Z1xXpwSoJ7QyfhSDktRj0WOAE8E2K3dzU8EStFOUSXwVWnrcziPfX73A== X-Received: by 2002:ac2:5b41:0:b0:4a4:68b9:66dd with SMTP id i1-20020ac25b41000000b004a468b966ddmr22188001lfp.40.1673611631699; Fri, 13 Jan 2023 04:07:11 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.07.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:07:11 -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 v3 07/14] clk: qcom: cpu-8996: simplify the cpu_clk_notifier_cb Date: Fri, 13 Jan 2023 14:05:37 +0200 Message-Id: <20230113120544.59320-8-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org - Do not use the Alt PLL completely. Switch to smux when necessary to prevent overvolting - Restore the parent in case the rate change aborts for some reason - Do not duplicate resetting the parent in set_parent operation. Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov --- drivers/clk/qcom/clk-cpu-8996.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/drivers/clk/qcom/clk-cpu-8996.c b/drivers/clk/qcom/clk-cpu-8996.c index 7e5246ca7e7f..ee7e18b37832 100644 --- a/drivers/clk/qcom/clk-cpu-8996.c +++ b/drivers/clk/qcom/clk-cpu-8996.c @@ -506,27 +506,34 @@ static int cpu_clk_notifier_cb(struct notifier_block *nb, unsigned long event, { struct clk_cpu_8996_pmux *cpuclk = to_clk_cpu_8996_pmux_nb(nb); struct clk_notifier_data *cnd = data; - int ret; switch (event) { case PRE_RATE_CHANGE: - ret = clk_cpu_8996_pmux_set_parent(&cpuclk->clkr.hw, ALT_INDEX); qcom_cpu_clk_msm8996_acd_init(base); + + /* + * Avoid overvolting. clk_core_set_rate_nolock() walks from top + * to bottom, so it will change the rate of the PLL before + * chaging the parent of PMUX. This can result in pmux getting + * clocked twice the expected rate. + * + * Manually switch to PLL/2 here. + */ + if (cnd->new_rate < DIV_2_THRESHOLD && + cnd->old_rate > DIV_2_THRESHOLD) + clk_cpu_8996_pmux_set_parent(&cpuclk->clkr.hw, SMUX_INDEX); + break; - case POST_RATE_CHANGE: - if (cnd->new_rate < DIV_2_THRESHOLD) - ret = clk_cpu_8996_pmux_set_parent(&cpuclk->clkr.hw, - SMUX_INDEX); - else - ret = clk_cpu_8996_pmux_set_parent(&cpuclk->clkr.hw, - ACD_INDEX); - break; + case ABORT_RATE_CHANGE: + /* Revert manual change */ + if (cnd->new_rate < DIV_2_THRESHOLD && + cnd->old_rate > DIV_2_THRESHOLD) + clk_cpu_8996_pmux_set_parent(&cpuclk->clkr.hw, ACD_INDEX); default: - ret = 0; break; } - return notifier_from_errno(ret); + return NOTIFY_OK; }; static int qcom_cpu_clk_msm8996_driver_probe(struct platform_device *pdev) From patchwork Fri Jan 13 12:05:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642130 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 17778C54EBD for ; Fri, 13 Jan 2023 12:13:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239755AbjAMMNc (ORCPT ); Fri, 13 Jan 2023 07:13:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47742 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240584AbjAMMMp (ORCPT ); Fri, 13 Jan 2023 07:12:45 -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 F24E880610 for ; Fri, 13 Jan 2023 04:07:14 -0800 (PST) Received: by mail-lf1-x12d.google.com with SMTP id bf43so32841966lfb.6 for ; Fri, 13 Jan 2023 04:07:14 -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=XICYznfZYxXiiAhtbbMF4a9r4ilj5DIXP6v6rzvSdU0=; b=zYBTbgr1b7V79zdj/rCoawMIWNLaVnGzAPxjzIm/SpT82IKBOKyQfxVANitULnp3w7 7tyBTwdL2W36fUa6GXBMN8oM8Vp/AbyjNO1VzTj53vJqQCknsafToKq9mCKmS5kb9qgA YYDEoO2MHWScNkYu+adCj7L0dxsbI3c22ZaOpNHs1X1QQJMGHzzrk+o3q9GjZjXi2s9U QbNlTrbtTTyXHaWU+99SrcTuWjjgz2lzngJEHZOZDTymOSliOrcR1dFeINwaFXhSgxVk HbdQw9+POcC2lPMQEnHS8SMacWvAyq1hbIw8j7c/Vk/lt4l6tV9uHjdU6+m1C4xhXgQX YMzQ== 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=XICYznfZYxXiiAhtbbMF4a9r4ilj5DIXP6v6rzvSdU0=; b=EDtMYhXr6DuYBAIBPgyhrHHhbe1DV1tvyNzHcZ5lrf/Fnp/BT5JCTDifo2jgTfqXP9 FXwfkCBCr0+Po6qb3KYsBVITD/DaQ6PzubHxdNr6KLzhWv+O/pwqvjFZsZZCbwsOPZMq 8RPPIMVnRFsZznNZ1B86olVx0J0KaN98m1ARoI6PITck5PznBQ2Owvm/84O3BLaCHKn4 sudOuB0ibEEH/OX2DNkAluyKE0LEJSeL/1e0fhC69q2LeWWXAXn5gEgS2tgwNA2iyCKR /64qQ+PCfH/zUdq0DHgCzpdRuZ6OS0tlSwZd6qWoVgneFosKLuIjKqJB8wEwLadEuvKS rJdw== X-Gm-Message-State: AFqh2kqvQiVPPqhkvEJOnUXdMEawXnuny4zlpE5uhpp69chr/NJDJVu+ y9rKHrS6aWoqWt5AT+zrf8dX8Q== X-Google-Smtp-Source: AMrXdXsrTZC03Rk0/BNnWvhU3wTUb68QUs+BvJd0oC6hGKrmErSiI7mxwZ61cGkgMCxMXL8rdjjv+g== X-Received: by 2002:ac2:4c4a:0:b0:4cc:a19c:1856 with SMTP id o10-20020ac24c4a000000b004cca19c1856mr2097911lfk.61.1673611633286; Fri, 13 Jan 2023 04:07:13 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.07.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:07:12 -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 v3 08/14] clk: qcom: cpu-8996: setup PLLs before registering clocks Date: Fri, 13 Jan 2023 14:05:38 +0200 Message-Id: <20230113120544.59320-9-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Setup all PLLs before registering clocks in the common clock framework. This ensures that the clocks are not accessed before being setup in the known way and that the CCF is in sync with the actual HW programming. Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov --- drivers/clk/qcom/clk-cpu-8996.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/clk/qcom/clk-cpu-8996.c b/drivers/clk/qcom/clk-cpu-8996.c index ee7e18b37832..e390f4aadff1 100644 --- a/drivers/clk/qcom/clk-cpu-8996.c +++ b/drivers/clk/qcom/clk-cpu-8996.c @@ -430,6 +430,11 @@ static int qcom_cpu_clk_msm8996_register_clks(struct device *dev, { int i, ret; + 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); + for (i = 0; i < ARRAY_SIZE(cpu_msm8996_hw_clks); i++) { ret = devm_clk_hw_register(dev, cpu_msm8996_hw_clks[i]); if (ret) @@ -442,11 +447,6 @@ static int qcom_cpu_clk_msm8996_register_clks(struct device *dev, return ret; } - 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); - /* Enable alt PLLs */ clk_prepare_enable(pwrcl_alt_pll.clkr.hw.clk); clk_prepare_enable(perfcl_alt_pll.clkr.hw.clk); From patchwork Fri Jan 13 12:05:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642127 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 7D2FEC67871 for ; Fri, 13 Jan 2023 12:14:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231956AbjAMMO3 (ORCPT ); Fri, 13 Jan 2023 07:14:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51742 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241131AbjAMMMt (ORCPT ); Fri, 13 Jan 2023 07:12:49 -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 4D0D18063B for ; Fri, 13 Jan 2023 04:07:16 -0800 (PST) Received: by mail-lf1-x12a.google.com with SMTP id bq39so32879585lfb.0 for ; Fri, 13 Jan 2023 04:07:16 -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=OWtr3DFJJQf72yrPQBzeCk1JOA6Sdo54gcc/AJ5i2xI=; b=wNCH57Vpt+VmsKwMJVSCoVfxPB2PDmHFoSocF7TPJXm+IZIKsAvlF1Z+9UYhaFSH3W zYC2wcAiWzU09RCNZHVVLepcwjOO1c6a3tJkaUIWBiaic/YlShJOc3daO8G4yEYh4Qcu 2YKfNw5gHest9GRIqMGI+00BchO0o07jQ5BNStQESSXARRqsCWgntMEPloahpMnyWMrq bSNG87qZHtNjXuY8tiVFs8T7cUA8kjq8NXQxaxcyCnfV945ogU5vXGlM2Av3mbHkHCCk kmFP4Lqp1fL/9vU21gk52+jbofSx5cGqrXl6p+u/9EBBafnOnVX8kp1MzRlNMn9ccBWM FSCQ== 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=OWtr3DFJJQf72yrPQBzeCk1JOA6Sdo54gcc/AJ5i2xI=; b=yYG7yYGb17q4I739vjhTRaXi5ydgpO+a3IGHP2kCzJ8UZOZ4ZDPfpmxzW09r027Ai2 15qM15kYkF68ek3nHgjR2IeeGD62cVfiUXkJDFzPfA7/STgMGvI7YC2Qp8E3LraNptFs hKt7awPqVeu/cfkREnoN57yR41Fdx27lN1TbBUGIiH1F3drpNg9j86hU1uJrpxbjMBUs YcJpCnMMj41lWMvl+P3Gyg7ChrQJAh89zTybZA8DOUng7BVxR4d9iH/tKB3CmijbdoEu 96gEorK4EbnCiouFbDBP97ECrPQZ6dc6IUqmoIlzz8Ifef8un32qZQZKFiYbqkpK1yaC wY6A== X-Gm-Message-State: AFqh2krcoiwtUB7mzYmigxXQuo98PPhsimGZzllH15PHPHLhSHVRGIU/ UvhioktKTo8Rmm9BlU98ENy5jw== X-Google-Smtp-Source: AMrXdXtScgOx3kkDaM3ITnGgRWVDsxCcYVL+GeOnvCsPpYeyVcnoUraqid+4g3meWGSAx4Zq7dY9vQ== X-Received: by 2002:a05:6512:3c97:b0:4a5:42ba:d827 with SMTP id h23-20020a0565123c9700b004a542bad827mr24756052lfv.14.1673611634707; Fri, 13 Jan 2023 04:07:14 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.07.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:07:14 -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 v3 09/14] clk: qcom: cpu-8996: move qcom_cpu_clk_msm8996_acd_init call Date: Fri, 13 Jan 2023 14:05:39 +0200 Message-Id: <20230113120544.59320-10-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@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. Reviewed-by: Konrad Dybcio 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 Fri Jan 13 12:05:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642704 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 964CBC54EBD for ; Fri, 13 Jan 2023 12:14:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241112AbjAMMO1 (ORCPT ); Fri, 13 Jan 2023 07:14:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47874 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231252AbjAMMMw (ORCPT ); Fri, 13 Jan 2023 07:12:52 -0500 Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com [IPv6:2a00:1450:4864:20::136]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0283980985 for ; Fri, 13 Jan 2023 04:07:17 -0800 (PST) Received: by mail-lf1-x136.google.com with SMTP id y25so32817197lfa.9 for ; Fri, 13 Jan 2023 04:07:17 -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=0nnTbuOFOQP2s9/06xff8GIHlv+LlltwM1Tm0eqjB58=; b=eEPwM/3xVp46IyeJU7+YhAkgrjCmqQ52bfeHymGX3PhosG1d30ue3C2vBgnWUXiKeb gj1zLOnnytBzl3Sy9Uo8T+lNJSERnei8s9hDrD/RJQnpJp35rRkky4/QJRtrPUwCJw8f fLQbgZcHu8GWd4eL+Lbkjsj/1loTAjbF10YzLEyg5YsXEG1NDGg+D4Ur7ECQpzKEF7OS AC0aiXb2ZuC+Tr6Q2/NY7jsMoHIWHrY6suPgXQo+RGu67hRu4HfFChtbcDIt6xtvAc5g vUR2Vgujaqp3n5X2Y+Ew1+d9yPpPK2HA9iHknXh1TIc9YHA0FeVOcA0kZGPaxaLnbMHv 2G9A== 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=0nnTbuOFOQP2s9/06xff8GIHlv+LlltwM1Tm0eqjB58=; b=SIUBcJmZrTQ4JHkmCtY/3pbNRrZKYNWaDAIwusYqFO2g/QQN4eQ2b1iioWlSOHVJhh 8c74IqjGowUQ1MDiGA6RzAQcVpsaJNnPw6Z2obV49jVkvAXc9ayT4w89rPCHKPwiKOiV rVFd36O59CIz2VVJSBKJvJqU5rfyZIRXacR4kwukiVrI2EAtZ+Yuie0f8M/0GEs45Bpd 50rfw1Nl73NyoiE3gCsefy63Fc8Vl+UhotgydWQ1aIb1C4JrybaqxWCjqZm+M9H46q/r JTVvb0JufrOOHJ629yf+QC++eUo3hF0T8u2/dvbJvNzBg8MsY0YShWwuECegkO8U0Ave wFVQ== X-Gm-Message-State: AFqh2krRmU3jouXXJo3TczRD+GeY+oXoFweu1DEm1QhPGffgfYMB27FE NBTIlodThMwrO8+yWo1A7Q4ALA== X-Google-Smtp-Source: AMrXdXszMan5fFmzE2+Lznlf8tstmmIpFpwJ8UytQ0t7qi/vkFmGe2Sp41K8Bon2M3LVUnU0J1Er1g== X-Received: by 2002:ac2:5604:0:b0:4b5:8507:9ae6 with SMTP id v4-20020ac25604000000b004b585079ae6mr19476402lfd.2.1673611636314; Fri, 13 Jan 2023 04:07:16 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.07.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:07:15 -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 v3 10/14] clk: qcom: cpu-8996: fix PLL configuration sequence Date: Fri, 13 Jan 2023 14:05:40 +0200 Message-Id: <20230113120544.59320-11-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@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..07d59bca741e 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 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) From patchwork Fri Jan 13 12:05:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642706 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 3AAB2C61DB3 for ; Fri, 13 Jan 2023 12:13:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231671AbjAMMNr (ORCPT ); Fri, 13 Jan 2023 07:13:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51804 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232671AbjAMMM4 (ORCPT ); Fri, 13 Jan 2023 07:12:56 -0500 Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [IPv6:2a00:1450:4864:20::12f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 43A9C8098E for ; Fri, 13 Jan 2023 04:07:19 -0800 (PST) Received: by mail-lf1-x12f.google.com with SMTP id g13so32845503lfv.7 for ; Fri, 13 Jan 2023 04:07:19 -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=3EjEKvcykQA4uyk5ga1WESuVjINo+zSzb0UWVoBWmHk=; b=BZK4NU3eyNehga7ckN9Xxqkj1ewsyCp2fpv1yOaylwV2qg/EYlwE/IA4Aloy48XHQI sZ05KUCbD3imqgtQ/iTSzYpzgkMcTydvKcNp2ekzzpmjtVG7HhGpe+cxX1es56kCcHGp 2hiGtlcU2KY1u+EClSTZk3CFtA/F3HUNNrV6Hk/ZnF1yeMhqWz4o5Zvr1DyMYuzuI6zX vtbER/pPXwKQIq7rFP0uWq1CSgtAY2gj+6TkoZJvq+E9F3mPmR3LN/0csE3oupvD/txP PhZ5/hCYX8kVv+jN0EvRdA1sffk/ib+VyNeryT/y5zaiWgOC4rby0gJ0I0OPZMp2vx7j VtZQ== 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=3EjEKvcykQA4uyk5ga1WESuVjINo+zSzb0UWVoBWmHk=; b=qMsW0/HfPXxYUtlbDl6LKiuSQy/nk2X+XH3AvgGIVBbe04jkKwu6jjWioNc8mdWxjt lOr9MwCZ8XWySU+VmLA3TNPgXTvnDwjgOEz26FxNJu40TMBON6bkNYDFWZOeJlBEaOPi Wpv0sejMe5vqNOKA6nkpgX9pLeMBdPEBp0Pm6Mf93d1U7pHz2TMQLGUWjGiA/cjcToqX N0R6ThG1Ir7taKk0naKyzk5sj5UFaCHbu+EEI2I4aAlRnNK9Sawy9PgkwCdSTXWG3o1N 8DeMXa11bwL0R4VWq0y1rwNGN9EZkuRL+IAmuEOV4gC+bbaIADMiUzY9s/Ir/tuXj3oW hCVg== X-Gm-Message-State: AFqh2ko7G5VSckQs9ux617eE+LlO6qfzDNRijn52MLAdx8TFXnx9x+Xn bvAaQbC4p3mIUWTSbFY3gjXj63Do/zW9nVAx/34F2Q== X-Google-Smtp-Source: AMrXdXvNNEWDF8QUVrckhJNBTbwfedEJq5e5lyrtj3Yb0fZDwYg+x3gwbklxezUkUHg67uW5e8tj5w== X-Received: by 2002:a05:6512:3191:b0:4d0:90f0:f81f with SMTP id i17-20020a056512319100b004d090f0f81fmr723771lfe.31.1673611638820; Fri, 13 Jan 2023 04:07:18 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.07.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:07:18 -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 v3 11/14] clk: qcom: cpu-8996: fix ACD initialization Date: Fri, 13 Jan 2023 14:05:41 +0200 Message-Id: <20230113120544.59320-12-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org The vendor kernel applies different order while programming SSSCTL and L2ACDCR registers on power and performance clusters. However it was demonstrated that doing this upstream results in the board reset. Make both clusters use the same sequence, which fixes the reset. Signed-off-by: Dmitry Baryshkov --- drivers/clk/qcom/clk-cpu-8996.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/clk/qcom/clk-cpu-8996.c b/drivers/clk/qcom/clk-cpu-8996.c index 07d59bca741e..c471c6836c63 100644 --- a/drivers/clk/qcom/clk-cpu-8996.c +++ b/drivers/clk/qcom/clk-cpu-8996.c @@ -475,9 +475,9 @@ static int qcom_cpu_clk_msm8996_register_clks(struct device *dev, return ret; } -#define CPU_AFINITY_MASK 0xFFF -#define PWRCL_CPU_REG_MASK 0x3 -#define PERFCL_CPU_REG_MASK 0x103 +#define CPU_CLUSTER_AFFINITY_MASK 0xf00 +#define PWRCL_AFFINITY_MASK 0x000 +#define PERFCL_AFFINITY_MASK 0x100 #define L2ACDCR_REG 0x580ULL #define L2ACDTD_REG 0x581ULL @@ -498,21 +498,17 @@ static void qcom_cpu_clk_msm8996_acd_init(struct regmap *regmap) if (val == 0x00006a11) goto out; - hwid = read_cpuid_mpidr() & CPU_AFINITY_MASK; - kryo_l2_set_indirect_reg(L2ACDTD_REG, 0x00006a11); kryo_l2_set_indirect_reg(L2ACDDVMRC_REG, 0x000e0f0f); kryo_l2_set_indirect_reg(L2ACDSSCR_REG, 0x00000601); - if (PWRCL_CPU_REG_MASK == (hwid | PWRCL_CPU_REG_MASK)) { - regmap_write(regmap, PWRCL_REG_OFFSET + SSSCTL_OFFSET, 0xf); - kryo_l2_set_indirect_reg(L2ACDCR_REG, 0x002c5ffd); - } + 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); + hwid = read_cpuid_mpidr(); + if ((hwid & CPU_CLUSTER_AFFINITY_MASK) == PWRCL_AFFINITY_MASK) + regmap_write(regmap, PWRCL_REG_OFFSET + SSSCTL_OFFSET, 0xf); + else regmap_write(regmap, PERFCL_REG_OFFSET + SSSCTL_OFFSET, 0xf); - } out: spin_unlock_irqrestore(&qcom_clk_acd_lock, flags); From patchwork Fri Jan 13 12:05:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642129 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 51610C54EBE for ; Fri, 13 Jan 2023 12:13:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233109AbjAMMNs (ORCPT ); Fri, 13 Jan 2023 07:13:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51822 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231745AbjAMMM5 (ORCPT ); Fri, 13 Jan 2023 07:12:57 -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 41B1B80995 for ; Fri, 13 Jan 2023 04:07:21 -0800 (PST) Received: by mail-lf1-x12d.google.com with SMTP id bf43so32842482lfb.6 for ; Fri, 13 Jan 2023 04:07:21 -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=VM3uEU/rjB+QCOtTn5z2Z6qfvJKbznw9HG9r7NidXzw=; b=rsZSZU/oiQFwGrlrVnZ6RZkfpTtKnVsx/no09HT9cZZxRIE5FZuhGEiv1vp4Om8xrp TbXMSxrvsGMYhQuJWWkRiAZicHpVQOI1CVxStllSbhblZ4jpBNrmQs9t0G+umHpHutB+ Z2J60sXWZ1cpqIjaVFeMAd9ZlJt37+dcnucTftrTusEzxbW88FGGHjJOeFoZnIh5io5E lJpF88Cj/PTwB603Y6SywDGuO/ZMTRF/0gcMjqiY+UoG631pUKpll368VR9MyKo7/XzE t/MuGBGZp2OTIuIkH4320gEjbp7pdR4NywOrOADVRwX2h8OQgq2VPP+/hE4kNX6ze9N2 HtYA== 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=VM3uEU/rjB+QCOtTn5z2Z6qfvJKbznw9HG9r7NidXzw=; b=OjjrWR9NDPXqppDuEu9PdUd54F0jGfY2xOSKkzri2jvhzSIBks4oV8e26dBN4Wze0J UNhcjnoKGyzPMfXwS4ksbXmW21bRez0E/z4A9JpDrW2E7kLYJqEh6rwWbGMxzeESXz12 uzUOmcrawxM2s738Uqd3zW6gdFcjV2GTYj7MNPK1KcKSrddg7UBxkWk8H+W0x5V0JFun 8XdADELeFFQ7GHZQRKw3ft5pyA2lNvxj7pgFOCjFivVpGoqCJpKyXo4N8uiMbEvKup1u N3TqFnpDU2dvfRpXj2EmMuyqkkeT6Z8Wbo2BXG0vZvouN0dWNrEccbzZDhOSldETTAgZ QFAg== X-Gm-Message-State: AFqh2krdRqyKHLxrUd2P+3dDnB6wc8XZR4a/mNqHvvARcLvIMPjprDX/ rDn8gq5Lh58eMLikf+RFmwjwgQ== X-Google-Smtp-Source: AMrXdXvHwxsexvWyXWUJt0+ydKoQoFEG0P9L6Lf/XP66x2BDV7CqV9+usK6O65cmXX8ktDLRz/LpnQ== X-Received: by 2002:a05:6512:3ba1:b0:4cb:f3d:c47f with SMTP id g33-20020a0565123ba100b004cb0f3dc47fmr21361040lfv.51.1673611640824; Fri, 13 Jan 2023 04:07:20 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.07.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:07:20 -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 v3 12/14] clk: qcom: cpu-8996: fix PLL clock ops Date: Fri, 13 Jan 2023 14:05:42 +0200 Message-Id: <20230113120544.59320-13-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Switch CPU PLLs to use clk_alpha_pll_hwfsm_ops, it seems to suit better. Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- drivers/clk/qcom/clk-cpu-8996.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/clk/qcom/clk-cpu-8996.c b/drivers/clk/qcom/clk-cpu-8996.c index c471c6836c63..b99a47aca478 100644 --- a/drivers/clk/qcom/clk-cpu-8996.c +++ b/drivers/clk/qcom/clk-cpu-8996.c @@ -128,7 +128,7 @@ static struct clk_alpha_pll pwrcl_pll = { .name = "pwrcl_pll", .parent_data = pll_parent, .num_parents = ARRAY_SIZE(pll_parent), - .ops = &clk_alpha_pll_huayra_ops, + .ops = &clk_alpha_pll_hwfsm_ops, }, }; @@ -140,7 +140,7 @@ static struct clk_alpha_pll perfcl_pll = { .name = "perfcl_pll", .parent_data = pll_parent, .num_parents = ARRAY_SIZE(pll_parent), - .ops = &clk_alpha_pll_huayra_ops, + .ops = &clk_alpha_pll_hwfsm_ops, }, }; From patchwork Fri Jan 13 12:05:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642705 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 85FA3C678D7 for ; Fri, 13 Jan 2023 12:13:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233011AbjAMMNv (ORCPT ); Fri, 13 Jan 2023 07:13:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51836 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240570AbjAMMNA (ORCPT ); Fri, 13 Jan 2023 07:13:00 -0500 Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 953D2809AE for ; Fri, 13 Jan 2023 04:07:23 -0800 (PST) Received: by mail-lf1-x129.google.com with SMTP id bp15so32815960lfb.13 for ; Fri, 13 Jan 2023 04:07:23 -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=CN2PzcM58W6wCGs0BEmJi5Hn2KBihcYIZ9Wr9XB+HPc=; b=ldvyTHH9Mo/tG/nreLsDP83Fwr4FbLJidBMUNtEp1UIW7zuvQjbhGOQY91b4mlDSCN ROGGpGqIdTh5Nzo6y2fSlACcmXS15m9fPAer5M0EVvCEIGB9A/yh53+fUnbGluh+QvZZ lX7b1WOsRk5m6c0UM4Y6P1ugxgf97ClAyplEh15nTY+50STytIn703Kd2UHkByinaWrB CkonhBLKfrdTDXIXLPb3NVRQmuwn5GIGrb58o3gNIAYS65h92Gg0zAJ4YbCvS2MyIZ/I VSAiSdw3paT/ZmPq7H9qsaJXgXdPSKFgOfcYZZ5PZ2swSG0Oi1M0ydr+Cogp/49EIekD 1clA== 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=CN2PzcM58W6wCGs0BEmJi5Hn2KBihcYIZ9Wr9XB+HPc=; b=g6ViZb1cP1bNOHyipG9ReoOHt1fBudNY6/IvUDkrwz0Z5AZ9nxEJ9u4iLpZPAYBvKi GNaJ8gnftTkfcFXvuKVt+H7YsE4FZYbJrUDARVZ2a5UhQzw5mLLfIOlgwUOs2lMEu0Uq 9a4PxSJ85IS0HUDGIJPWRJMip0zOG/rgZg/QVTJk6R4nddHr4ND4gEKbdynlDU3xlWQ3 +jYrp4Qh2LcGvvbMERPPBRSG3X/XcbCii5A4FTHHKvhwnUkzltm0ggdyuX666oESNmu7 8Opqk+Ry8iceQQ5K6Kq0EMBXYiqyD4ejq9RHni7nq43ctiS5xRHntp3FJ7aU8N3+qw5M li4Q== X-Gm-Message-State: AFqh2koxndy+7D9PG/0mu4/ytuENHGd0ncuT6DQ6oPz6HDc0lMtJ1pp+ h7XksgvjiQgBzXfhFQgvKHNMlg== X-Google-Smtp-Source: AMrXdXvJq5Lqoxh3IuY5LMBRtdSnfiQl6gneYQISPhacDhBqP0MVIay3QR1t910x+MwIjGnuctTfnQ== X-Received: by 2002:a05:6512:1049:b0:4b6:edce:a192 with SMTP id c9-20020a056512104900b004b6edcea192mr26227516lfb.4.1673611643171; Fri, 13 Jan 2023 04:07:23 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.07.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:07:22 -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 v3 13/14] clk: qcom: cpu-8996: change setup sequence to follow vendor kernel Date: Fri, 13 Jan 2023 14:05:43 +0200 Message-Id: <20230113120544.59320-14-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Add missing register writes to CPU clocks setup procedure. This makes it follow the setup procedure used in msm-3.18 kernel. Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov --- drivers/clk/qcom/clk-cpu-8996.c | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/drivers/clk/qcom/clk-cpu-8996.c b/drivers/clk/qcom/clk-cpu-8996.c index b99a47aca478..2253e11770b9 100644 --- a/drivers/clk/qcom/clk-cpu-8996.c +++ b/drivers/clk/qcom/clk-cpu-8996.c @@ -76,10 +76,16 @@ enum _pmux_input { #define PWRCL_REG_OFFSET 0x0 #define PERFCL_REG_OFFSET 0x80000 #define MUX_OFFSET 0x40 +#define CLK_CTL_OFFSET 0x44 +#define CLK_CTL_AUTO_CLK_SEL BIT(8) #define ALT_PLL_OFFSET 0x100 #define SSSCTL_OFFSET 0x160 +#define PSCTL_OFFSET 0x164 #define PMUX_MASK 0x3 +#define MUX_AUTO_CLK_SEL_ALWAYS_ON_MASK GENMASK(5, 4) +#define MUX_AUTO_CLK_SEL_ALWAYS_ON_GPLL0_SEL \ + FIELD_PREP(MUX_AUTO_CLK_SEL_ALWAYS_ON_MASK, 0x03) static const u8 prim_pll_regs[PLL_OFF_MAX_REGS] = { [PLL_OFF_L_VAL] = 0x04, @@ -439,6 +445,14 @@ static int qcom_cpu_clk_msm8996_register_clks(struct device *dev, /* Ensure write goes through before PLLs are reconfigured */ udelay(5); + /* Set the auto clock sel always-on source to GPLL0/2 (300MHz) */ + regmap_update_bits(regmap, PWRCL_REG_OFFSET + MUX_OFFSET, + MUX_AUTO_CLK_SEL_ALWAYS_ON_MASK, + MUX_AUTO_CLK_SEL_ALWAYS_ON_GPLL0_SEL); + regmap_update_bits(regmap, PERFCL_REG_OFFSET + MUX_OFFSET, + MUX_AUTO_CLK_SEL_ALWAYS_ON_MASK, + MUX_AUTO_CLK_SEL_ALWAYS_ON_GPLL0_SEL); + 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); @@ -447,11 +461,24 @@ static int qcom_cpu_clk_msm8996_register_clks(struct device *dev, /* Wait for PLL(s) to lock */ udelay(50); + /* Enable auto clock selection for both clusters */ + regmap_update_bits(regmap, PWRCL_REG_OFFSET + CLK_CTL_OFFSET, + CLK_CTL_AUTO_CLK_SEL, CLK_CTL_AUTO_CLK_SEL); + regmap_update_bits(regmap, PERFCL_REG_OFFSET + CLK_CTL_OFFSET, + CLK_CTL_AUTO_CLK_SEL, CLK_CTL_AUTO_CLK_SEL); + + /* Ensure write goes through before muxes are switched */ + udelay(5); + qcom_cpu_clk_msm8996_acd_init(regmap); + /* Pulse swallower and soft-start settings */ + regmap_write(regmap, PWRCL_REG_OFFSET + PSCTL_OFFSET, 0x00030005); + regmap_write(regmap, PERFCL_REG_OFFSET + PSCTL_OFFSET, 0x00030005); + /* 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); + regmap_write(regmap, PWRCL_REG_OFFSET + MUX_OFFSET, 0x32); + regmap_write(regmap, PERFCL_REG_OFFSET + MUX_OFFSET, 0x32); for (i = 0; i < ARRAY_SIZE(cpu_msm8996_hw_clks); i++) { ret = devm_clk_hw_register(dev, cpu_msm8996_hw_clks[i]); From patchwork Fri Jan 13 12:05:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 642128 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 35E4AC678D8 for ; Fri, 13 Jan 2023 12:13:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240768AbjAMMNw (ORCPT ); Fri, 13 Jan 2023 07:13:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49816 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240277AbjAMMNE (ORCPT ); Fri, 13 Jan 2023 07:13:04 -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 C3FE5777C3 for ; Fri, 13 Jan 2023 04:07:27 -0800 (PST) Received: by mail-lf1-x12d.google.com with SMTP id b3so32842446lfv.2 for ; Fri, 13 Jan 2023 04:07:27 -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=PCnIJqO2b+9N0OecC4jMTKlWlXg44BUeDV2RJle/2cA=; b=rODXfaGgWChiGLfNjYILyLfGGUftDZsirf7jkRzBivbbExfvp4y757l8fjS4pm5BMf RYfZOQFuJRCmMMXw6il+J8vkTLqv3X1hDK9kPUy85bYcd9C6JKaVLSf6CtRy0hT7S0fO 23e5gxlAEyWF1ZeZa1HuraRDtSbKbBraiwgSU6HmCfikQOR2FgP6poKjzt+y11aZh60C tQv5ARAJyHo1tVGgtzPdK/Gyg1O1wm+T87q3au/khy+hlq4VU8+alaQNSv+mR2S60Uyg 4qVD+5lU+1lKsvF9STWBmESbZLd5LQXb1N6TW2E0sGd3ltthS6z+gCGMh81cTCsEcjai iHHQ== 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=PCnIJqO2b+9N0OecC4jMTKlWlXg44BUeDV2RJle/2cA=; b=EFAAPtqCG0eHvHB/4m0VXoDLViS18jKD5L87c4dhFOBnhpXzhPJ6lkLKZAYSOOI11e e+wzalqxURK5w41FmP2hSNMwBW8Qxe2HY4GcFu9v447RX6IICwZZ1hDBOSnTUTJMcAy5 cvciTZ9zvaZv4d/RL2+yxZv+4tKb4sjUkw+xisoPB3z4bhYi+pIzt//8ByyKJs7cl3Ti d7z763h2b+2vaARM2k81RSP8UPhQIzN5vSDAvpdIc+dRry/w1b6YRiIkmUIDykidsCiu MChHh66JTjQEj7pgXGWbYf7dNF3QXAbSMM+Oy5A67w/1ZwHB0qbzfbsZF3zf4d7rxYuB 8P8Q== X-Gm-Message-State: AFqh2kpZtJ+h2ae2e6cefiPoHDcb6C0fDIzdSyoG7XjeKtXnqQ8fyS0N 5P9QtbOSNIyEvhhKXPOvqYvRmw== X-Google-Smtp-Source: AMrXdXs78wnzCaFL+toZiE7ddpm/BrF3KED/SoDQVCxnGEVvI2ustoLyqHgkXYx0wxDADRNG6eC/wg== X-Received: by 2002:ac2:4ac3:0:b0:4b5:7e4c:dcea with SMTP id m3-20020ac24ac3000000b004b57e4cdceamr26490105lfp.51.1673611646131; Fri, 13 Jan 2023 04:07:26 -0800 (PST) Received: from eriador.lumag.spb.ru ([188.170.82.205]) by smtp.gmail.com with ESMTPSA id i7-20020ac25227000000b004ac6a444b26sm3806290lfl.141.2023.01.13.04.07.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 04:07:25 -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 v3 14/14] arm64: dts: qcom: msm8996: support using GPLL0 as kryocc input Date: Fri, 13 Jan 2023 14:05:44 +0200 Message-Id: <20230113120544.59320-15-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> References: <20230113120544.59320-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@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 --- arch/arm64/boot/dts/qcom/msm8996.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi index fba429fd6919..39d2007e88ff 100644 --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi @@ -2948,8 +2948,8 @@ kryocc: clock-controller@6400000 { compatible = "qcom,msm8996-apcc"; reg = <0x06400000 0x90000>; - clock-names = "xo"; - clocks = <&rpmcc RPM_SMD_BB_CLK1>; + clock-names = "xo", "sys_apcs_aux"; + clocks = <&rpmcc RPM_SMD_BB_CLK1>, <&apcs_glb>; #clock-cells = <1>; };