diff options
-rw-r--r-- | arch/arm/boot/dts/qcom/apq8084.dtsi | 3 | ||||
-rw-r--r-- | arch/arm/boot/dts/qcom/fsm9900.dtsi | 14 | ||||
-rw-r--r-- | arch/arm/boot/dts/qcom/mpq8092-pm.dtsi | 7 | ||||
-rw-r--r-- | arch/arm/boot/dts/qcom/mpq8092.dtsi | 14 | ||||
-rw-r--r-- | arch/arm/boot/dts/qcom/msm8974-v1-pm.dtsi | 7 | ||||
-rw-r--r-- | arch/arm/boot/dts/qcom/msm8974-v2-pm.dtsi | 7 | ||||
-rw-r--r-- | arch/arm/boot/dts/qcom/msm8974.dtsi | 16 | ||||
-rw-r--r-- | arch/arm/boot/dts/qcom/msm8974pro-pm.dtsi | 7 | ||||
-rw-r--r-- | arch/arm/boot/dts/qcom/msmsamarium-pm.dtsi | 7 | ||||
-rw-r--r-- | arch/arm/boot/dts/qcom/msmsamarium.dtsi | 14 | ||||
-rw-r--r-- | drivers/clk/qcom/clock-krait-8974.c | 65 |
11 files changed, 111 insertions, 50 deletions
diff --git a/arch/arm/boot/dts/qcom/apq8084.dtsi b/arch/arm/boot/dts/qcom/apq8084.dtsi index 58967378fa6b..f902b51309c8 100644 --- a/arch/arm/boot/dts/qcom/apq8084.dtsi +++ b/arch/arm/boot/dts/qcom/apq8084.dtsi @@ -2548,8 +2548,7 @@ qcom,bytes-per-beat = <16>; }; - qcom,msm-cpufreq@0 { - reg = <0 4>; + qcom,msm-cpufreq { compatible = "qcom,msm-cpufreq"; clock-names = "l2_clk", "cpu0_clk", "cpu1_clk", "cpu2_clk", "cpu3_clk"; diff --git a/arch/arm/boot/dts/qcom/fsm9900.dtsi b/arch/arm/boot/dts/qcom/fsm9900.dtsi index 819c93cb0df5..6afa9e3f9c9d 100644 --- a/arch/arm/boot/dts/qcom/fsm9900.dtsi +++ b/arch/arm/boot/dts/qcom/fsm9900.dtsi @@ -11,6 +11,7 @@ */ #include "skeleton64.dtsi" +#include <dt-bindings/clock/msm-clocks-krait.h> / { model = "Qualcomm FSM9900"; @@ -657,9 +658,15 @@ < 6103 /* 800 MHz */ >; }; - qcom,msm-cpufreq@0 { - reg = <0 4>; + qcom,msm-cpufreq { compatible = "qcom,msm-cpufreq"; + clock-names = "l2_clk", "cpu0_clk", "cpu1_clk", "cpu2_clk", + "cpu3_clk"; + clocks = <&clock_krait clk_l2_clk>, + <&clock_krait clk_krait0_clk>, + <&clock_krait clk_krait1_clk>, + <&clock_krait clk_krait2_clk>, + <&clock_krait clk_krait3_clk>; qcom,cpufreq-table = < 300000 300000 572 >, < 422400 422400 1144 >, @@ -677,7 +684,7 @@ < 2265600 1651200 6103 >; }; - qcom,clock-krait@f9016000 { + clock_krait: qcom,clock-krait@f9016000 { compatible = "qcom,clock-krait-8974"; reg = <0xf9016000 0x20>, <0xf908a000 0x20>, @@ -699,6 +706,7 @@ qcom,hfpll-config-val = <0x04D0405D>; qcom,hfpll-user-vco-mask = <0x00100000>; qcom,pvs-config-ver = <0>; + #clock-cells = <1>; qcom,l2-fmax = diff --git a/arch/arm/boot/dts/qcom/mpq8092-pm.dtsi b/arch/arm/boot/dts/qcom/mpq8092-pm.dtsi index a142402b4bdc..5360d77f3fed 100644 --- a/arch/arm/boot/dts/qcom/mpq8092-pm.dtsi +++ b/arch/arm/boot/dts/qcom/mpq8092-pm.dtsi @@ -287,6 +287,13 @@ reg = <0xfe805664 0x40>; qcom,pc-mode = "tz_l2_int"; qcom,use-sync-timer; + clock-names = "l2_clk", "cpu0_clk", "cpu1_clk", "cpu2_clk", + "cpu3_clk"; + clocks = <&clock_krait clk_l2_clk>, + <&clock_krait clk_krait0_clk>, + <&clock_krait clk_krait1_clk>, + <&clock_krait clk_krait2_clk>, + <&clock_krait clk_krait3_clk>; qcom,pm-snoc-client { compatible = "qcom,pm-snoc-client"; diff --git a/arch/arm/boot/dts/qcom/mpq8092.dtsi b/arch/arm/boot/dts/qcom/mpq8092.dtsi index aaf5b2d050b7..bd18aa8174d5 100644 --- a/arch/arm/boot/dts/qcom/mpq8092.dtsi +++ b/arch/arm/boot/dts/qcom/mpq8092.dtsi @@ -11,6 +11,7 @@ */ #include "skeleton.dtsi" +#include <dt-bindings/clock/msm-clocks-krait.h> / { model = "Qualcomm MPQ8092"; @@ -281,7 +282,7 @@ }; }; - qcom,clock-krait@f9016000 { + clock_krait: qcom,clock-krait@f9016000 { compatible = "qcom,clock-krait-8974"; reg = <0xf9016000 0x20>, <0xf908a000 0x20>, @@ -303,6 +304,7 @@ qcom,hfpll-config-val = <0x04D0405D>; qcom,hfpll-user-vco-mask = <0x00100000>; qcom,pvs-config-ver = <1>; + #clock-cells = <1>; qcom,l2-fmax = < 0 0 >, @@ -701,9 +703,15 @@ < 8117 /* 532 MHz */ >; }; - qcom,msm-cpufreq@0 { - reg = <0 4>; + qcom,msm-cpufreq { compatible = "qcom,msm-cpufreq"; + clock-names = "l2_clk", "cpu0_clk", "cpu1_clk", "cpu2_clk", + "cpu3_clk"; + clocks = <&clock_krait clk_l2_clk>, + <&clock_krait clk_krait0_clk>, + <&clock_krait clk_krait1_clk>, + <&clock_krait clk_krait2_clk>, + <&clock_krait clk_krait3_clk>; qcom,cpufreq-table = < 300000 300000 8117 >, < 345600 345600 8117 >, diff --git a/arch/arm/boot/dts/qcom/msm8974-v1-pm.dtsi b/arch/arm/boot/dts/qcom/msm8974-v1-pm.dtsi index 7d0f0fd63451..8ed871f5b39c 100644 --- a/arch/arm/boot/dts/qcom/msm8974-v1-pm.dtsi +++ b/arch/arm/boot/dts/qcom/msm8974-v1-pm.dtsi @@ -306,6 +306,13 @@ ranges; reg = <0xfe805664 0x40>; qcom,use-sync-timer; + clock-names = "l2_clk", "cpu0_clk", "cpu1_clk", "cpu2_clk", + "cpu3_clk"; + clocks = <&clock_krait clk_l2_clk>, + <&clock_krait clk_krait0_clk>, + <&clock_krait clk_krait1_clk>, + <&clock_krait clk_krait2_clk>, + <&clock_krait clk_krait3_clk>; }; qcom,cpu-sleep-status@f9088008 { diff --git a/arch/arm/boot/dts/qcom/msm8974-v2-pm.dtsi b/arch/arm/boot/dts/qcom/msm8974-v2-pm.dtsi index 40f1ebd57b9f..fda9e6a89b0d 100644 --- a/arch/arm/boot/dts/qcom/msm8974-v2-pm.dtsi +++ b/arch/arm/boot/dts/qcom/msm8974-v2-pm.dtsi @@ -319,6 +319,13 @@ ranges; reg = <0xfe805664 0x40>; qcom,use-sync-timer; + clock-names = "l2_clk", "cpu0_clk", "cpu1_clk", "cpu2_clk", + "cpu3_clk"; + clocks = <&clock_krait clk_l2_clk>, + <&clock_krait clk_krait0_clk>, + <&clock_krait clk_krait1_clk>, + <&clock_krait clk_krait2_clk>, + <&clock_krait clk_krait3_clk>; qcom,pm-snoc-client { compatible = "qcom,pm-snoc-client"; diff --git a/arch/arm/boot/dts/qcom/msm8974.dtsi b/arch/arm/boot/dts/qcom/msm8974.dtsi index b9eebe2b5983..1fe7b692a6d4 100644 --- a/arch/arm/boot/dts/qcom/msm8974.dtsi +++ b/arch/arm/boot/dts/qcom/msm8974.dtsi @@ -12,6 +12,7 @@ #include "skeleton.dtsi" #include <dt-bindings/clock/msm-clocks-8974.h> +#include <dt-bindings/clock/msm-clocks-krait.h> / { model = "Qualcomm MSM 8974"; @@ -192,6 +193,8 @@ compatible = "qcom,cc-debug-8974"; reg = <0xfc401880 0x4>; #clock-cells = <1>; + clock-names = "kpss_debug_mux"; + clocks = <&clock_krait clk_kpss_debug_pri_mux>; }; wcd9xxx_intc: wcd9xxx-irq { @@ -810,7 +813,7 @@ qcom,master-id = <86>; }; - qcom,clock-krait@f9016000 { + clock_krait: qcom,clock-krait@f9016000 { compatible = "qcom,clock-krait-8974"; reg = <0xf9016000 0x20>, <0xf908a000 0x20>, @@ -832,6 +835,7 @@ qcom,hfpll-config-val = <0x04D0405D>; qcom,hfpll-user-vco-mask = <0x00100000>; qcom,pvs-config-ver = <1>; + #clock-cells = <1>; qcom,l2-fmax = < 0 0 >, @@ -1457,9 +1461,15 @@ qcom,bytes-per-beat = <8>; }; - qcom,msm-cpufreq@0 { - reg = <0 4>; + qcom,msm-cpufreq { compatible = "qcom,msm-cpufreq"; + clock-names = "l2_clk", "cpu0_clk", "cpu1_clk", "cpu2_clk", + "cpu3_clk"; + clocks = <&clock_krait clk_l2_clk>, + <&clock_krait clk_krait0_clk>, + <&clock_krait clk_krait1_clk>, + <&clock_krait clk_krait2_clk>, + <&clock_krait clk_krait3_clk>; qcom,cpufreq-table = < 300000 300000 572 >, < 422400 422400 1144 >, diff --git a/arch/arm/boot/dts/qcom/msm8974pro-pm.dtsi b/arch/arm/boot/dts/qcom/msm8974pro-pm.dtsi index 2db2d8f8987e..9498ae660e36 100644 --- a/arch/arm/boot/dts/qcom/msm8974pro-pm.dtsi +++ b/arch/arm/boot/dts/qcom/msm8974pro-pm.dtsi @@ -321,6 +321,13 @@ #size-cells = <1>; ranges; reg = <0xfe805664 0x40>; + clock-names = "l2_clk", "cpu0_clk", "cpu1_clk", "cpu2_clk", + "cpu3_clk"; + clocks = <&clock_krait clk_l2_clk>, + <&clock_krait clk_krait0_clk>, + <&clock_krait clk_krait1_clk>, + <&clock_krait clk_krait2_clk>, + <&clock_krait clk_krait3_clk>; qcom,pm-snoc-client { compatible = "qcom,pm-snoc-client"; diff --git a/arch/arm/boot/dts/qcom/msmsamarium-pm.dtsi b/arch/arm/boot/dts/qcom/msmsamarium-pm.dtsi index 399adea8e8ef..80271735c0d7 100644 --- a/arch/arm/boot/dts/qcom/msmsamarium-pm.dtsi +++ b/arch/arm/boot/dts/qcom/msmsamarium-pm.dtsi @@ -298,6 +298,13 @@ ranges; reg = <0xfe805664 0x40>; qcom,use-sync-timer; + clock-names = "l2_clk", "cpu0_clk", "cpu1_clk", "cpu2_clk", + "cpu3_clk"; + clocks = <&clock_krait clk_l2_clk>, + <&clock_krait clk_krait0_clk>, + <&clock_krait clk_krait1_clk>, + <&clock_krait clk_krait2_clk>, + <&clock_krait clk_krait3_clk>; qcom,pm-snoc-client { compatible = "qcom,pm-snoc-client"; diff --git a/arch/arm/boot/dts/qcom/msmsamarium.dtsi b/arch/arm/boot/dts/qcom/msmsamarium.dtsi index 2f8220d6fedc..7c83fd991ff9 100644 --- a/arch/arm/boot/dts/qcom/msmsamarium.dtsi +++ b/arch/arm/boot/dts/qcom/msmsamarium.dtsi @@ -11,6 +11,7 @@ */ #include "skeleton.dtsi" +#include <dt-bindings/clock/msm-clocks-krait.h> / { model = "Qualcomm MSM SAMARIUM"; @@ -405,7 +406,7 @@ qcom,master-id = <86>; }; - qcom,clock-krait@f9016000 { + clock_krait: qcom,clock-krait@f9016000 { compatible = "qcom,clock-krait-8974"; reg = <0xf9016000 0x20>, <0xf908a000 0x20>, @@ -425,6 +426,7 @@ hfpll-dig-supply = <&pma8084_s2_corner_ao>; hfpll-analog-supply = <&pma8084_l12_ao>; qcom,hfpll-config-val = <0x7805C665>; + #clock-cells = <1>; qcom,l2-fmax = < 0 0 >, @@ -1071,9 +1073,15 @@ < 4066 /* 533 MHz */ >; }; - qcom,msm-cpufreq@0 { - reg = <0 4>; + qcom,msm-cpufreq { compatible = "qcom,msm-cpufreq"; + clock-names = "l2_clk", "cpu0_clk", "cpu1_clk", "cpu2_clk", + "cpu3_clk"; + clocks = <&clock_krait clk_l2_clk>, + <&clock_krait clk_krait0_clk>, + <&clock_krait clk_krait1_clk>, + <&clock_krait clk_krait2_clk>, + <&clock_krait clk_krait3_clk>; qcom,cpufreq-table = < 300000 300000 572 >, < 384000 384000 572 >, diff --git a/drivers/clk/qcom/clock-krait-8974.c b/drivers/clk/qcom/clock-krait-8974.c index 445433681ee6..3afb0ea1e53a 100644 --- a/drivers/clk/qcom/clock-krait-8974.c +++ b/drivers/clk/qcom/clock-krait-8974.c @@ -442,42 +442,35 @@ static struct mux_clk kpss_debug_pri_mux = { }; static struct clk_lookup kpss_clocks_8974[] = { - CLK_LOOKUP_OF("", hfpll_src_clk, ""), - CLK_LOOKUP_OF("", acpu_aux_clk, ""), - CLK_LOOKUP_OF("", hfpll0_clk, ""), - CLK_LOOKUP_OF("", hfpll0_div_clk, ""), - CLK_LOOKUP_OF("", hfpll0_clk, ""), - CLK_LOOKUP_OF("", hfpll1_div_clk, ""), - CLK_LOOKUP_OF("", hfpll1_clk, ""), - CLK_LOOKUP_OF("", hfpll2_div_clk, ""), - CLK_LOOKUP_OF("", hfpll2_clk, ""), - CLK_LOOKUP_OF("", hfpll3_div_clk, ""), - CLK_LOOKUP_OF("", hfpll3_clk, ""), - CLK_LOOKUP_OF("", hfpll_l2_div_clk, ""), - CLK_LOOKUP_OF("", hfpll_l2_clk, ""), - CLK_LOOKUP_OF("", krait0_sec_mux_clk, ""), - CLK_LOOKUP_OF("", krait1_sec_mux_clk, ""), - CLK_LOOKUP_OF("", krait2_sec_mux_clk, ""), - CLK_LOOKUP_OF("", krait3_sec_mux_clk, ""), - CLK_LOOKUP_OF("", l2_sec_mux_clk, ""), - CLK_LOOKUP_OF("", krait0_pri_mux_clk, ""), - CLK_LOOKUP_OF("", krait1_pri_mux_clk, ""), - CLK_LOOKUP_OF("", krait2_pri_mux_clk, ""), - CLK_LOOKUP_OF("", krait3_pri_mux_clk, ""), - CLK_LOOKUP_OF("", l2_pri_mux_clk, ""), - CLK_LOOKUP_OF("l2_clk", l2_clk, "0.qcom,msm-cpufreq"), - CLK_LOOKUP_OF("cpu0_clk", krait0_clk, "0.qcom,msm-cpufreq"), - CLK_LOOKUP_OF("cpu1_clk", krait1_clk, "0.qcom,msm-cpufreq"), - CLK_LOOKUP_OF("cpu2_clk", krait2_clk, "0.qcom,msm-cpufreq"), - CLK_LOOKUP_OF("cpu3_clk", krait3_clk, "0.qcom,msm-cpufreq"), - CLK_LOOKUP_OF("l2_clk", l2_clk, "fe805664.qcom,pm"), - CLK_LOOKUP_OF("cpu0_clk", krait0_clk, "fe805664.qcom,pm"), - CLK_LOOKUP_OF("cpu1_clk", krait1_clk, "fe805664.qcom,pm"), - CLK_LOOKUP_OF("cpu2_clk", krait2_clk, "fe805664.qcom,pm"), - CLK_LOOKUP_OF("cpu3_clk", krait3_clk, "fe805664.qcom,pm"), - - CLK_LOOKUP_OF("kpss_debug_mux", kpss_debug_pri_mux, - "fc401880.qcom,cc-debug"), + CLK_LIST(hfpll_src_clk), + CLK_LIST(acpu_aux_clk), + CLK_LIST(hfpll0_div_clk), + CLK_LIST(hfpll0_clk), + CLK_LIST(hfpll1_div_clk), + CLK_LIST(hfpll1_clk), + CLK_LIST(hfpll2_div_clk), + CLK_LIST(hfpll2_clk), + CLK_LIST(hfpll3_div_clk), + CLK_LIST(hfpll3_clk), + CLK_LIST(hfpll_l2_div_clk), + CLK_LIST(hfpll_l2_clk), + CLK_LIST(krait0_sec_mux_clk), + CLK_LIST(krait1_sec_mux_clk), + CLK_LIST(krait2_sec_mux_clk), + CLK_LIST(krait3_sec_mux_clk), + CLK_LIST(l2_sec_mux_clk), + CLK_LIST(krait0_pri_mux_clk), + CLK_LIST(krait1_pri_mux_clk), + CLK_LIST(krait2_pri_mux_clk), + CLK_LIST(krait3_pri_mux_clk), + CLK_LIST(l2_pri_mux_clk), + CLK_LIST(l2_clk), + CLK_LIST(krait0_clk), + CLK_LIST(krait1_clk), + CLK_LIST(krait2_clk), + CLK_LIST(krait3_clk), + + CLK_LIST(kpss_debug_pri_mux), }; static struct clk *cpu_clk[] = { |