summaryrefslogtreecommitdiff
path: root/drivers/clk/qcom/mss-sc7180.c
diff options
context:
space:
mode:
authorStephen Boyd <sboyd@kernel.org>2024-03-09 02:27:48 +0300
committerStephen Boyd <sboyd@kernel.org>2024-03-09 02:27:48 +0300
commit27ec6a1919f41996be59ae5d247a6ce941facd2e (patch)
tree5b6633324cd9df9eb75d8f2a95a8dbae15fdd047 /drivers/clk/qcom/mss-sc7180.c
parent6613476e225e090cc9aad49be7fa504e290dd33d (diff)
parent7d474b43087aa356d714d39870c90d77fc6f1186 (diff)
downloadlinux-27ec6a1919f41996be59ae5d247a6ce941facd2e.tar.xz
Merge tag 'qcom-clk-for-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into clk-qcom
Pull Qualcomm clk driver updates from Bjorn Andersson: - Support for Display, TCSR, GPU, and Camera clock controllers for Qualcomm's X1 Elite SoC - Typo fixes in the IPQ5018 GCC driver - Add "qdss_at" clk on Qualcomm IPQ6018, needed for WiFi - Properly terminate frequency tables in different qcom clk drivers - Add MDSS, crypto, and SDCC resets on Qualcomm MSM8953 - Add missing UFS CLKREF clks on Qualcomm SC8180X - Avoid significant delays during boot by adding a softdep on rpmhpd to SDM845 gcc driver - Add QUPv3 RCGS w/ DFS and video resets to Qualcomm SM8150 GCC driver - Fix the custom GPU GX "do-nothing" method in the GDSC driver - Add an external regulator to GX GDSC on SC8280XP GPU clk driver - Switch display, GPU, video, and camera clock drivers to module_platform_driver() - Set a longer delay for Venus resets on many Qualcomm SoCs - Correct the GDSC wait times in the Qualcomm SDM845 display clk driver - Remove the unused Qualcomm sc7180 modem clk driver * tag 'qcom-clk-for-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (62 commits) clk: qcom: gcc-ipq5018: fix register offset for GCC_UBI0_AXI_ARES reset clk: qcom: gcc-ipq5018: fix 'halt_reg' offset of 'gcc_pcie1_pipe_clk' clk: qcom: gcc-ipq5018: fix 'enable_reg' offset of 'gcc_gmac0_sys_clk' clk: qcom: camcc-x1e80100: Fix missing DT_IFACE enum in x1e80100 camcc clk: qcom: mmcc-msm8974: fix terminating of frequency table arrays clk: qcom: mmcc-apq8084: fix terminating of frequency table arrays clk: qcom: camcc-sc8280xp: fix terminating of frequency table arrays clk: qcom: gcc-ipq9574: fix terminating of frequency table arrays clk: qcom: gcc-ipq8074: fix terminating of frequency table arrays clk: qcom: gcc-ipq6018: fix terminating of frequency table arrays clk: qcom: gcc-ipq5018: fix terminating of frequency table arrays clk: qcom: dispcc-sdm845: Adjust internal GDSC wait times dt-bindings: clk: qcom: drop the SC7180 Modem subsystem clock controller clk: qcom: drop the SC7180 Modem subsystem clock driver clk: qcom: Use qcom_branch_set_clk_en() clk: qcom: branch: Add a helper for setting the enable bit clk: qcom: dispcc-sm8250: Make clk_init_data and pll_vco const clk: qcom: gcc-sc8180x: Add missing UFS QREF clocks clk: qcom: gcc-msm8953: add more resets clk: qcom: videocc-*: switch to module_platform_driver ...
Diffstat (limited to 'drivers/clk/qcom/mss-sc7180.c')
-rw-r--r--drivers/clk/qcom/mss-sc7180.c140
1 files changed, 0 insertions, 140 deletions
diff --git a/drivers/clk/qcom/mss-sc7180.c b/drivers/clk/qcom/mss-sc7180.c
deleted file mode 100644
index d106bc65470e..000000000000
--- a/drivers/clk/qcom/mss-sc7180.c
+++ /dev/null
@@ -1,140 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Copyright (c) 2020, The Linux Foundation. All rights reserved.
- */
-
-#include <linux/clk-provider.h>
-#include <linux/platform_device.h>
-#include <linux/module.h>
-#include <linux/pm_clock.h>
-#include <linux/pm_runtime.h>
-#include <linux/regmap.h>
-
-#include <dt-bindings/clock/qcom,mss-sc7180.h>
-
-#include "clk-regmap.h"
-#include "clk-branch.h"
-#include "common.h"
-
-static struct clk_branch mss_axi_nav_clk = {
- .halt_reg = 0x20bc,
- .halt_check = BRANCH_HALT,
- .clkr = {
- .enable_reg = 0x20bc,
- .enable_mask = BIT(0),
- .hw.init = &(struct clk_init_data){
- .name = "mss_axi_nav_clk",
- .parent_data = &(const struct clk_parent_data){
- .fw_name = "gcc_mss_nav_axi",
- },
- .num_parents = 1,
- .ops = &clk_branch2_ops,
- },
- },
-};
-
-static struct clk_branch mss_axi_crypto_clk = {
- .halt_reg = 0x20cc,
- .halt_check = BRANCH_HALT,
- .clkr = {
- .enable_reg = 0x20cc,
- .enable_mask = BIT(0),
- .hw.init = &(struct clk_init_data){
- .name = "mss_axi_crypto_clk",
- .parent_data = &(const struct clk_parent_data){
- .fw_name = "gcc_mss_mfab_axis",
- },
- .num_parents = 1,
- .ops = &clk_branch2_ops,
- },
- },
-};
-
-static const struct regmap_config mss_regmap_config = {
- .reg_bits = 32,
- .reg_stride = 4,
- .val_bits = 32,
- .fast_io = true,
- .max_register = 0x41aa0cc,
-};
-
-static struct clk_regmap *mss_sc7180_clocks[] = {
- [MSS_AXI_CRYPTO_CLK] = &mss_axi_crypto_clk.clkr,
- [MSS_AXI_NAV_CLK] = &mss_axi_nav_clk.clkr,
-};
-
-static const struct qcom_cc_desc mss_sc7180_desc = {
- .config = &mss_regmap_config,
- .clks = mss_sc7180_clocks,
- .num_clks = ARRAY_SIZE(mss_sc7180_clocks),
-};
-
-static int mss_sc7180_probe(struct platform_device *pdev)
-{
- int ret;
-
- ret = devm_pm_runtime_enable(&pdev->dev);
- if (ret)
- return ret;
-
- ret = devm_pm_clk_create(&pdev->dev);
- if (ret)
- return ret;
-
- ret = pm_clk_add(&pdev->dev, "cfg_ahb");
- if (ret < 0) {
- dev_err(&pdev->dev, "failed to acquire iface clock\n");
- return ret;
- }
-
- ret = pm_runtime_resume_and_get(&pdev->dev);
- if (ret)
- return ret;
-
- ret = qcom_cc_probe(pdev, &mss_sc7180_desc);
- if (ret < 0)
- goto err_put_rpm;
-
- pm_runtime_put(&pdev->dev);
-
- return 0;
-
-err_put_rpm:
- pm_runtime_put_sync(&pdev->dev);
-
- return ret;
-}
-
-static const struct dev_pm_ops mss_sc7180_pm_ops = {
- SET_RUNTIME_PM_OPS(pm_clk_suspend, pm_clk_resume, NULL)
-};
-
-static const struct of_device_id mss_sc7180_match_table[] = {
- { .compatible = "qcom,sc7180-mss" },
- { }
-};
-MODULE_DEVICE_TABLE(of, mss_sc7180_match_table);
-
-static struct platform_driver mss_sc7180_driver = {
- .probe = mss_sc7180_probe,
- .driver = {
- .name = "sc7180-mss",
- .of_match_table = mss_sc7180_match_table,
- .pm = &mss_sc7180_pm_ops,
- },
-};
-
-static int __init mss_sc7180_init(void)
-{
- return platform_driver_register(&mss_sc7180_driver);
-}
-subsys_initcall(mss_sc7180_init);
-
-static void __exit mss_sc7180_exit(void)
-{
- platform_driver_unregister(&mss_sc7180_driver);
-}
-module_exit(mss_sc7180_exit);
-
-MODULE_DESCRIPTION("QTI MSS SC7180 Driver");
-MODULE_LICENSE("GPL v2");