clk: qcom: apss-ipq-pll: add support for IPQ8074
authorRobert Marko <robimarko@gmail.com>
Thu, 18 Aug 2022 22:06:26 +0000 (00:06 +0200)
committerBjorn Andersson <andersson@kernel.org>
Tue, 27 Sep 2022 02:40:11 +0000 (21:40 -0500)
Add support for IPQ8074 since it uses the same PLL setup, however it uses
slightly different Alpha PLL config.

Alpha PLL config was obtained by dumping PLL registers from a running
device.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220818220628.339366-7-robimarko@gmail.com
drivers/clk/qcom/apss-ipq-pll.c

index a4016f3..a5aea27 100644 (file)
@@ -49,6 +49,18 @@ static const struct alpha_pll_config ipq6018_pll_config = {
        .test_ctl_hi_val = 0x4000,
 };
 
+static const struct alpha_pll_config ipq8074_pll_config = {
+       .l = 0x48,
+       .config_ctl_val = 0x200d4828,
+       .config_ctl_hi_val = 0x6,
+       .early_output_mask = BIT(3),
+       .aux2_output_mask = BIT(2),
+       .aux_output_mask = BIT(1),
+       .main_output_mask = BIT(0),
+       .test_ctl_val = 0x1c000000,
+       .test_ctl_hi_val = 0x4000,
+};
+
 static const struct regmap_config ipq_pll_regmap_config = {
        .reg_bits               = 32,
        .reg_stride             = 4,
@@ -89,6 +101,7 @@ static int apss_ipq_pll_probe(struct platform_device *pdev)
 
 static const struct of_device_id apss_ipq_pll_match_table[] = {
        { .compatible = "qcom,ipq6018-a53pll", .data = &ipq6018_pll_config },
+       { .compatible = "qcom,ipq8074-a53pll", .data = &ipq8074_pll_config },
        { }
 };
 MODULE_DEVICE_TABLE(of, apss_ipq_pll_match_table);