From nobody Mon Feb 9 09:00:32 2026 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 4D28CC001E0 for ; Mon, 31 Jul 2023 19:21:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231517AbjGaTVx (ORCPT ); Mon, 31 Jul 2023 15:21:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53624 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231532AbjGaTVl (ORCPT ); Mon, 31 Jul 2023 15:21:41 -0400 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 C7D991718 for ; Mon, 31 Jul 2023 12:21:39 -0700 (PDT) Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-4fe2d152f62so3107688e87.0 for ; Mon, 31 Jul 2023 12:21:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1690831298; x=1691436098; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=fgiy1L5xFFXzTL6vBU06WTwPPyk+2wiDw9CMMBxoAqU=; b=BDN5aHHLy5f+8ZqWeFKahTozUsHMkbDIzeox+LKbsAUEdlRMAhTtlSid6HPBqTS3ah YWA1H1rvCd9Yxtropqa6pGlppKi3xPL1VbOgHBS4HhCL8g8G4ZwZC7l7O24bMXw2RgMM mwa+2Zm2xp3lsmT7U83U7TcLw+nDkXUxHWu68f1+nQ1TgGTLzC4DFAt2IxCyuuv3mk1N TTqIjU7Yu7NmCB3cLIxGp4HhC57kbNgdhaoc2LFbABvxNK0CQAPFhj27EJm9RRoDUGLl 0HkHLuwRBrHwYkWhT/E7yA1sgyOPTPWY/WpGow9lVtYitKsoyC95OC9E5NMcumP/4JfY Y+Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690831298; x=1691436098; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fgiy1L5xFFXzTL6vBU06WTwPPyk+2wiDw9CMMBxoAqU=; b=gRp5yLW2LdlhyK2BZxBfICyw15KG7QBycEtcWtRlFKBkHGKwcznfTMTJfsaI2o07yk NjPS8ZnYx1aa6r6ZuBbtuFncit9rhhZIB9+gKZNvIF7IsLViVzBYHjoDnAfAMSuosUDD sw4FlqGPb4/fOntGtvLXz8OFSyhVUAteEb0UczBwSu057t1DEFr70Hzq/58l4WFR5Stl FthRT739LthOR2eomMHdF5t/1ZExMqXr6U56aERXrUxxxxiBGYOJKY5xWfFDA7xpmcir jaCg0PM9hmDXsJ66Yn0F2dRh7oDkdc6VyReqjGoB1qNMdBPsC7ry2gXu4T8GJuRo86Vw FiaA== X-Gm-Message-State: ABy/qLY7srNd4Vc3ScyTJyTKfCv21ePVV9m5/uKXkOYWJkSHDn6UVRjy 0JZG9M/aDkufvUVphTqe88NbeA== X-Google-Smtp-Source: APBJJlFpN3Bb8twZNdS+ZKYDc6oIsWZ5yeH4TbKtJjzw2AzrHWElVbmYnMr0mMKxrFe8Bm/BJVXAbQ== X-Received: by 2002:a05:6512:5cd:b0:4fb:9a1e:125c with SMTP id o13-20020a05651205cd00b004fb9a1e125cmr439606lfo.45.1690831297882; Mon, 31 Jul 2023 12:21:37 -0700 (PDT) Received: from [192.168.1.101] (abyk53.neoplus.adsl.tpnet.pl. [83.9.30.53]) by smtp.gmail.com with ESMTPSA id ep28-20020a056512485c00b004fe1bac4080sm2024882lfb.222.2023.07.31.12.21.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Jul 2023 12:21:37 -0700 (PDT) From: Konrad Dybcio Date: Mon, 31 Jul 2023 21:21:32 +0200 Subject: [PATCH v2 1/2] dt-bindings: clock: qcom,sm8350-videocc: Add SC8280XP MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230703-topic-8280_videocc-v2-1-c88269806269@linaro.org> References: <20230703-topic-8280_videocc-v2-0-c88269806269@linaro.org> In-Reply-To: <20230703-topic-8280_videocc-v2-0-c88269806269@linaro.org> To: Bjorn Andersson , Andy Gross , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio , Krzysztof Kozlowski X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1690831295; l=908; i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; bh=09vaheOwPFgSKvoFFPC1+TxzhpnRaLHei7up05bRFww=; b=eWW9amWrxG5uiuQwj6XKg0uo9aY6AR9mGVP8x/iG039uc295/S37S4cgVj1KL+C4d8j5Brp+s lnKXQA4nY58CcHkmht1o3PFfQN9ew+5aVVk6FoC6zVfQz7iqv4hjrdI X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SC8280XP reuses the SM8350 video clock controller block, changing just a couple tunables. Docuemnt it. Acked-by: Krzysztof Kozlowski Signed-off-by: Konrad Dybcio --- Documentation/devicetree/bindings/clock/qcom,sm8350-videocc.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/clock/qcom,sm8350-videocc.ya= ml b/Documentation/devicetree/bindings/clock/qcom,sm8350-videocc.yaml index 23505c8c3dbd..2114664978e1 100644 --- a/Documentation/devicetree/bindings/clock/qcom,sm8350-videocc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,sm8350-videocc.yaml @@ -19,7 +19,9 @@ description: | =20 properties: compatible: - const: qcom,sm8350-videocc + enum: + - qcom,sc8280xp-videocc + - qcom,sm8350-videocc =20 clocks: items: --=20 2.41.0 From nobody Mon Feb 9 09:00:32 2026 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 40F61C001E0 for ; Mon, 31 Jul 2023 19:22:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231710AbjGaTWA (ORCPT ); Mon, 31 Jul 2023 15:22:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231553AbjGaTVq (ORCPT ); Mon, 31 Jul 2023 15:21:46 -0400 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 DC8111982 for ; Mon, 31 Jul 2023 12:21:40 -0700 (PDT) Received: by mail-lf1-x12f.google.com with SMTP id 2adb3069b0e04-4fe07f0636bso7882990e87.1 for ; Mon, 31 Jul 2023 12:21:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1690831299; x=1691436099; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=PH18c6fQCGlXIcWcVtPWcBFP7H4EemWa9GS7wznpGb8=; b=UXRqATWltySUPqaR1HiGQaOLF9a471W0U00WWaBgT7YrHR8eNU9tpiGnEFCxZrChh1 9WGmsAGMbvHA62gNGcpEGQTo51vfgNHa9ofsSskkmnN0vFt/OindKHQ2F+txl9AvhUfc 1ih4ReqvagvwRDz49/AkMzYG5G/WmGHFkAArJaQyCXYNMmpzOUbfxbTQvqyI2T4SJqlb uxE0wLBQyctkO5ylRyPYIt4euNiMj/IJMsrwfKYFu0+p7xn3uJz0pDotltqZ6UHG5Lv3 sRChh/ME3Vb3x1zTK+TutY95x4Vz0pXaFOPyoEIL9c1OhpV1xSoB3YW9L3MAHA5NWEkf XHig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690831299; x=1691436099; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PH18c6fQCGlXIcWcVtPWcBFP7H4EemWa9GS7wznpGb8=; b=aatOtTxTma7/LAy6SJMgUbpLQjE2HiX7am8cpyz4HhWpZTV4PWuApG+Gqe8okD/5W9 ZnhtD+XBElKY9vACWZbAKRPGE1MgpS3u5D5ni0JkwL4VMtJOvoUOTlExRihIUcFg5TU+ 7nPRorCSno2cVHH2rB9rpRuO9h8jXx2MPWD6Yqt5oaJMZOS5E43csmM4aKAzRfmsv1qb 3C8vyqWBJJUrwUjJ1xaZs2FrTU54ZXk4+KqF7GJoRegJLfdiK9RV8bSZKnCWqj2mXbtR A54cXHcxg6Y8qWO4/Gmht6DqimNlYosSFR6NO5i9fPm/znHokSX+gvRTYtZqK+c+nCsv ULlw== X-Gm-Message-State: ABy/qLaSII517arLM+M46c/p2KAIDzJTnLHq0VCY+1WXWVH/wcicAtdQ g36OZS2C2k70YEMGospl9SP9eg== X-Google-Smtp-Source: APBJJlG6VXtLarcsIVyYIR1fVvdn+qR2nYOLYfz3zVMaRj/0h6A3heIh/jX8GFK6xJuti9UDU42Vpg== X-Received: by 2002:a05:6512:1591:b0:4f8:752f:df48 with SMTP id bp17-20020a056512159100b004f8752fdf48mr653255lfb.29.1690831299247; Mon, 31 Jul 2023 12:21:39 -0700 (PDT) Received: from [192.168.1.101] (abyk53.neoplus.adsl.tpnet.pl. [83.9.30.53]) by smtp.gmail.com with ESMTPSA id ep28-20020a056512485c00b004fe1bac4080sm2024882lfb.222.2023.07.31.12.21.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Jul 2023 12:21:38 -0700 (PDT) From: Konrad Dybcio Date: Mon, 31 Jul 2023 21:21:33 +0200 Subject: [PATCH v2 2/2] clk: qcom: videocc-sm8350: Add SC8280XP support MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230703-topic-8280_videocc-v2-2-c88269806269@linaro.org> References: <20230703-topic-8280_videocc-v2-0-c88269806269@linaro.org> In-Reply-To: <20230703-topic-8280_videocc-v2-0-c88269806269@linaro.org> To: Bjorn Andersson , Andy Gross , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio , Dmitry Baryshkov X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1690831295; l=3984; i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; bh=o5bVSx2gpTMciO9+T8/74+UVoyE1JD3fP/a+IZWVKbg=; b=ZGbEbtkrYDpuq6H+9Oj/I0FpRhjvMeWlMmYt6iYbz989Pu2/4tIBrqVbdfNoqgOrlcN3n0E5R GpYndhxqGTAAsstEIWon11A/mBN5nw3FnYGKP6gRbJRfDik2GABlMFM X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SC8280XP, being a partial derivative of SM8350, shares almost the exact same videocc block. Extend the 8350 driver to support the bigger brother. The only notable changes are higher possible frequencies on some clocks and some switcheroo within the XO/sleep registers (probably due to some different board crystal configuration). Reviewed-by: Dmitry Baryshkov Signed-off-by: Konrad Dybcio --- drivers/clk/qcom/videocc-sm8350.c | 42 +++++++++++++++++++++++++++++++++++= +++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/drivers/clk/qcom/videocc-sm8350.c b/drivers/clk/qcom/videocc-s= m8350.c index b148877fc73d..7246f3c99492 100644 --- a/drivers/clk/qcom/videocc-sm8350.c +++ b/drivers/clk/qcom/videocc-sm8350.c @@ -41,6 +41,10 @@ static const struct pll_vco lucid_5lpe_vco[] =3D { { 249600000, 1750000000, 0 }, }; =20 +static const struct pll_vco lucid_5lpe_vco_8280xp[] =3D { + { 249600000, 1800000000, 0 }, +}; + static const struct alpha_pll_config video_pll0_config =3D { .l =3D 0x25, .alpha =3D 0x8000, @@ -159,6 +163,16 @@ static const struct freq_tbl ftbl_video_cc_mvs0_clk_sr= c[] =3D { { } }; =20 +static const struct freq_tbl ftbl_video_cc_mvs0_clk_src_8280xp[] =3D { + F(720000000, P_VIDEO_PLL0_OUT_MAIN, 1, 0, 0), + F(1014000000, P_VIDEO_PLL0_OUT_MAIN, 1, 0, 0), + F(1098000000, P_VIDEO_PLL0_OUT_MAIN, 1, 0, 0), + F(1332000000, P_VIDEO_PLL0_OUT_MAIN, 1, 0, 0), + F(1599000000, P_VIDEO_PLL0_OUT_MAIN, 1, 0, 0), + F(1680000000, P_VIDEO_PLL0_OUT_MAIN, 1, 0, 0), + { } +}; + static struct clk_rcg2 video_cc_mvs0_clk_src =3D { .cmd_rcgr =3D 0xb94, .mnd_width =3D 0, @@ -181,6 +195,15 @@ static const struct freq_tbl ftbl_video_cc_mvs1_clk_sr= c[] =3D { { } }; =20 +static const struct freq_tbl ftbl_video_cc_mvs1_clk_src_8280xp[] =3D { + F(840000000, P_VIDEO_PLL1_OUT_MAIN, 1, 0, 0), + F(1098000000, P_VIDEO_PLL1_OUT_MAIN, 1, 0, 0), + F(1332000000, P_VIDEO_PLL1_OUT_MAIN, 1, 0, 0), + F(1600000000, P_VIDEO_PLL1_OUT_MAIN, 1, 0, 0), + F(1800000000, P_VIDEO_PLL1_OUT_MAIN, 1, 0, 0), + { } +}; + static struct clk_rcg2 video_cc_mvs1_clk_src =3D { .cmd_rcgr =3D 0xbb4, .mnd_width =3D 0, @@ -499,6 +522,7 @@ static struct qcom_cc_desc video_cc_sm8350_desc =3D { =20 static int video_cc_sm8350_probe(struct platform_device *pdev) { + u32 video_cc_xo_clk_cbcr =3D 0xeec; struct regmap *regmap; int ret; =20 @@ -510,6 +534,21 @@ static int video_cc_sm8350_probe(struct platform_devic= e *pdev) if (ret) return ret; =20 + if (of_device_is_compatible(pdev->dev.of_node, "qcom,sc8280xp-videocc")) { + video_cc_sleep_clk_src.cmd_rcgr =3D 0xf38; + video_cc_sleep_clk.halt_reg =3D 0xf58; + video_cc_sleep_clk.clkr.enable_reg =3D 0xf58; + video_cc_xo_clk_src.cmd_rcgr =3D 0xf14; + video_cc_xo_clk_cbcr =3D 0xf34; + + video_pll0.vco_table =3D video_pll1.vco_table =3D lucid_5lpe_vco_8280xp; + /* No change, but assign it for completeness */ + video_pll0.num_vco =3D video_pll1.num_vco =3D ARRAY_SIZE(lucid_5lpe_vco_= 8280xp); + + video_cc_mvs0_clk_src.freq_tbl =3D ftbl_video_cc_mvs0_clk_src_8280xp; + video_cc_mvs1_clk_src.freq_tbl =3D ftbl_video_cc_mvs1_clk_src_8280xp; + } + regmap =3D qcom_cc_map(pdev, &video_cc_sm8350_desc); if (IS_ERR(regmap)) { pm_runtime_put(&pdev->dev); @@ -525,7 +564,7 @@ static int video_cc_sm8350_probe(struct platform_device= *pdev) * video_cc_xo_clk */ regmap_update_bits(regmap, 0xe58, BIT(0), BIT(0)); - regmap_update_bits(regmap, 0xeec, BIT(0), BIT(0)); + regmap_update_bits(regmap, video_cc_xo_clk_cbcr, BIT(0), BIT(0)); =20 ret =3D qcom_cc_really_probe(pdev, &video_cc_sm8350_desc, regmap); pm_runtime_put(&pdev->dev); @@ -534,6 +573,7 @@ static int video_cc_sm8350_probe(struct platform_device= *pdev) } =20 static const struct of_device_id video_cc_sm8350_match_table[] =3D { + { .compatible =3D "qcom,sc8280xp-videocc" }, { .compatible =3D "qcom,sm8350-videocc" }, { } }; --=20 2.41.0