Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: qcom: clk-rpm: add missing rpm clk for ipq806x

Add missing definition of rpm clk for ipq806x soc

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Acked-by: John Crispin <john@phrozen.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lkml.kernel.org/r/20200310143756.244-1-ansuelsmth@gmail.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>

authored by

Ansuel Smith and committed by
Stephen Boyd
eec15273 3e577092

+40
+1
Documentation/devicetree/bindings/clock/qcom,rpmcc.txt
··· 16 16 "qcom,rpmcc-msm8974", "qcom,rpmcc" 17 17 "qcom,rpmcc-msm8976", "qcom,rpmcc" 18 18 "qcom,rpmcc-apq8064", "qcom,rpmcc" 19 + "qcom,rpmcc-ipq806x", "qcom,rpmcc" 19 20 "qcom,rpmcc-msm8996", "qcom,rpmcc" 20 21 "qcom,rpmcc-msm8998", "qcom,rpmcc" 21 22 "qcom,rpmcc-qcs404", "qcom,rpmcc"
+35
drivers/clk/qcom/clk-rpm.c
··· 543 543 .num_clks = ARRAY_SIZE(apq8064_clks), 544 544 }; 545 545 546 + /* ipq806x */ 547 + DEFINE_CLK_RPM(ipq806x, afab_clk, afab_a_clk, QCOM_RPM_APPS_FABRIC_CLK); 548 + DEFINE_CLK_RPM(ipq806x, cfpb_clk, cfpb_a_clk, QCOM_RPM_CFPB_CLK); 549 + DEFINE_CLK_RPM(ipq806x, daytona_clk, daytona_a_clk, QCOM_RPM_DAYTONA_FABRIC_CLK); 550 + DEFINE_CLK_RPM(ipq806x, ebi1_clk, ebi1_a_clk, QCOM_RPM_EBI1_CLK); 551 + DEFINE_CLK_RPM(ipq806x, sfab_clk, sfab_a_clk, QCOM_RPM_SYS_FABRIC_CLK); 552 + DEFINE_CLK_RPM(ipq806x, sfpb_clk, sfpb_a_clk, QCOM_RPM_SFPB_CLK); 553 + DEFINE_CLK_RPM(ipq806x, nss_fabric_0_clk, nss_fabric_0_a_clk, QCOM_RPM_NSS_FABRIC_0_CLK); 554 + DEFINE_CLK_RPM(ipq806x, nss_fabric_1_clk, nss_fabric_1_a_clk, QCOM_RPM_NSS_FABRIC_1_CLK); 555 + 556 + static struct clk_rpm *ipq806x_clks[] = { 557 + [RPM_APPS_FABRIC_CLK] = &ipq806x_afab_clk, 558 + [RPM_APPS_FABRIC_A_CLK] = &ipq806x_afab_a_clk, 559 + [RPM_CFPB_CLK] = &ipq806x_cfpb_clk, 560 + [RPM_CFPB_A_CLK] = &ipq806x_cfpb_a_clk, 561 + [RPM_DAYTONA_FABRIC_CLK] = &ipq806x_daytona_clk, 562 + [RPM_DAYTONA_FABRIC_A_CLK] = &ipq806x_daytona_a_clk, 563 + [RPM_EBI1_CLK] = &ipq806x_ebi1_clk, 564 + [RPM_EBI1_A_CLK] = &ipq806x_ebi1_a_clk, 565 + [RPM_SYS_FABRIC_CLK] = &ipq806x_sfab_clk, 566 + [RPM_SYS_FABRIC_A_CLK] = &ipq806x_sfab_a_clk, 567 + [RPM_SFPB_CLK] = &ipq806x_sfpb_clk, 568 + [RPM_SFPB_A_CLK] = &ipq806x_sfpb_a_clk, 569 + [RPM_NSS_FABRIC_0_CLK] = &ipq806x_nss_fabric_0_clk, 570 + [RPM_NSS_FABRIC_0_A_CLK] = &ipq806x_nss_fabric_0_a_clk, 571 + [RPM_NSS_FABRIC_1_CLK] = &ipq806x_nss_fabric_1_clk, 572 + [RPM_NSS_FABRIC_1_A_CLK] = &ipq806x_nss_fabric_1_a_clk, 573 + }; 574 + 575 + static const struct rpm_clk_desc rpm_clk_ipq806x = { 576 + .clks = ipq806x_clks, 577 + .num_clks = ARRAY_SIZE(ipq806x_clks), 578 + }; 579 + 546 580 static const struct of_device_id rpm_clk_match_table[] = { 547 581 { .compatible = "qcom,rpmcc-msm8660", .data = &rpm_clk_msm8660 }, 548 582 { .compatible = "qcom,rpmcc-apq8060", .data = &rpm_clk_msm8660 }, 549 583 { .compatible = "qcom,rpmcc-apq8064", .data = &rpm_clk_apq8064 }, 584 + { .compatible = "qcom,rpmcc-ipq806x", .data = &rpm_clk_ipq806x }, 550 585 { } 551 586 }; 552 587 MODULE_DEVICE_TABLE(of, rpm_clk_match_table);
+4
include/dt-bindings/clock/qcom,rpmcc.h
··· 37 37 #define RPM_XO_A0 27 38 38 #define RPM_XO_A1 28 39 39 #define RPM_XO_A2 29 40 + #define RPM_NSS_FABRIC_0_CLK 30 41 + #define RPM_NSS_FABRIC_0_A_CLK 31 42 + #define RPM_NSS_FABRIC_1_CLK 32 43 + #define RPM_NSS_FABRIC_1_A_CLK 33 40 44 41 45 /* SMD RPM clocks */ 42 46 #define RPM_SMD_XO_CLK_SRC 0