diff --git a/qcom/diwali.dtsi b/qcom/diwali.dtsi index 5e6e22af..e49d6fb7 100644 --- a/qcom/diwali.dtsi +++ b/qcom/diwali.dtsi @@ -561,6 +561,12 @@ apps_bcm_voter: bcm_voter { compatible = "qcom,bcm-voter"; }; + + dcvs_fp: qcom,dcvs-fp { + compatible = "qcom,dcvs-fp"; + qcom,ddr-bcm-name = "MC3"; + qcom,llcc-bcm-name = "SH5"; + }; }; cluster-device { @@ -822,6 +828,451 @@ #reset-cells = <1>; }; + llcc_pmu: llcc-pmu@19095000 { + compatible = "qcom,llcc-pmu-ver2"; + reg = <0x19095000 0x300>; + reg-names = "lagg-base"; + }; + + qcom_pmu: qcom,pmu { + compatible = "qcom,pmu"; + qcom,long-counter; + qcom,pmu-events-tbl = + < 0x0008 0xFF 0x02 0xFF >, + < 0x0011 0xFF 0x01 0xFF >, + < 0x0017 0xFF 0xFF 0xFF >, + < 0x0018 0xFF 0xFF 0xFF >, + < 0x002A 0xFF 0xFF 0xFF >, + < 0x002B 0xFF 0xFF 0xFF >, + < 0x1000 0xFF 0xFF 0xFF >; + }; + + ddr_freq_table: ddr-freq-table { + ddr4 { + qcom,ddr-type = <7>; + qcom,freq-tbl = + < 547000 >, + < 768000 >, + < 1017000 >, + < 1353600 >, + < 1555000 >, + < 1708000 >, + < 2092000 >; + }; + + ddr5 { + qcom,ddr-type = <8>; + qcom,freq-tbl = + < 547000 >, + < 768000 >, + < 1555000 >, + < 1708000 >, + < 2092000 >, + < 2736000 >, + < 3196000 >; + }; + }; + + llcc_freq_table: llcc-freq-table { + qcom,freq-tbl = + < 300000 >, + < 466000 >, + < 600000 >, + < 806000 >, + < 933000 >, + < 1066000 >; + }; + + ddrqos_freq_table: ddrqos-freq-table { + qcom,freq-tbl = + < 0 >, + < 1 >; +}; + + qcom_dcvs: qcom,dcvs { + compatible = "qcom,dcvs"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + qcom_l3_dcvs_hw: l3 { + compatible = "qcom,dcvs-hw"; + qcom,dcvs-hw-type = <2>; + qcom,bus-width = <32>; + reg = <0x17d90000 0x4000>, <0x17d90100 0xa0>; + reg-names = "l3-base", "l3tbl-base"; + + l3_dcvs_sp: sp { + compatible = "qcom,dcvs-path"; + qcom,dcvs-path-type = <0>; + qcom,shared-offset = <0x0090>; + }; + }; + + qcom_ddr_dcvs_hw: ddr { + compatible = "qcom,dcvs-hw"; + qcom,dcvs-hw-type = <0>; + qcom,bus-width = <4>; + qcom,freq-tbl = <&ddr_freq_table>; + + ddr_dcvs_sp: sp { + compatible = "qcom,dcvs-path"; + qcom,dcvs-path-type = <0>; + interconnects = <&mc_virt MASTER_LLCC + &mc_virt SLAVE_EBI1>; + }; + + ddr_dcvs_fp: fp { + compatible = "qcom,dcvs-path"; + qcom,dcvs-path-type = <1>; + qcom,fp-voter = <&dcvs_fp>; + }; + + }; + + qcom_llcc_dcvs_hw: llcc { + compatible = "qcom,dcvs-hw"; + qcom,dcvs-hw-type = <1>; + qcom,bus-width = <16>; + qcom,freq-tbl = <&llcc_freq_table>; + + llcc_dcvs_sp: sp { + compatible = "qcom,dcvs-path"; + qcom,dcvs-path-type = <0>; + interconnects = <&gem_noc MASTER_APPSS_PROC + &gem_noc SLAVE_LLCC>; + }; + + llcc_dcvs_fp: fp { + compatible = "qcom,dcvs-path"; + qcom,dcvs-path-type = <1>; + qcom,fp-voter = <&dcvs_fp>; + }; + + }; + + qcom_ddrqos_dcvs_hw: ddrqos { + compatible = "qcom,dcvs-hw"; + qcom,dcvs-hw-type = <3>; + qcom,bus-width = <1>; + qcom,freq-tbl = <&ddrqos_freq_table>; + + ddrqos_dcvs_sp: sp { + compatible = "qcom,dcvs-path"; + qcom,dcvs-path-type = <0>; + interconnects = <&mc_virt MASTER_LLCC + &mc_virt SLAVE_EBI1>; + }; + }; + }; + + qcom_memlat: qcom,memlat { + compatible = "qcom,memlat"; + + ddr { + compatible = "qcom,memlat-grp"; + qcom,target-dev = <&qcom_ddr_dcvs_hw>; + qcom,sampling-path = <&ddr_dcvs_fp>; + qcom,miss-ev = <0x1000>; + + silver { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>; + ddr4-tbl { + qcom,ddr-type = <7>; + qcom,cpufreq-memfreq-tbl = + < 1094400 547000 >, + < 1555200 768000 >, + < 1804000 1017000 >; + qcom,sampling-enabled; + }; + + ddr5-tbl { + qcom,ddr-type = <8>; + qcom,cpufreq-memfreq-tbl = + < 1094400 547000 >, + < 1555200 768000 >, + < 1804000 1555000 >; + qcom,sampling-enabled; + }; + }; + + gold { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU4 &CPU5 &CPU6>; + ddr4-tbl { + qcom,ddr-type = <7>; + qcom,cpufreq-memfreq-tbl = + < 940800 547000 >, + < 1132800 1017000 >, + < 1651200 1555000 >, + < 2208000 1708000 >, + < 2361600 2092000 >; + qcom,sampling-enabled; + }; + + ddr5-tbl { + qcom,ddr-type = <8>; + qcom,cpufreq-memfreq-tbl = + < 940800 547000 >, + < 1132800 768000 >, + < 1651200 1555000 >, + < 1804000 1708000 >, + < 2208000 2092000 >, + < 2361600 3196000 >; + qcom,sampling-enabled; + }; + }; + + prime { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU7>; + ddr4-tbl { + qcom,ddr-type = <7>; + qcom,cpufreq-memfreq-tbl = + < 940800 547000 >, + < 1132800 1017000 >, + < 1651200 1555000 >, + < 2208000 1708000 >, + < 2400000 2092000 >; + qcom,sampling-enabled; + }; + + ddr5-tbl { + qcom,ddr-type = <8>; + qcom,cpufreq-memfreq-tbl = + < 940800 547000 >, + < 1132800 768000 >, + < 1651200 1555000 >, + < 1900000 1708000 >, + < 2208000 2092000 >, + < 2400000 3196000 >; + qcom,sampling-enabled; + }; + }; + + silver-compute { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>; + ddr4-tbl { + qcom,ddr-type = <7>; + qcom,cpufreq-memfreq-tbl = + < 1552000 547000 >, + < 1804000 768000 >; + qcom,sampling-enabled; + qcom,compute-mon; + }; + + ddr5-tbl { + qcom,ddr-type = <8>; + qcom,cpufreq-memfreq-tbl = + < 1552000 547000 >, + < 1804000 768000 >; + qcom,sampling-enabled; + qcom,compute-mon; + }; + }; + + gold-compute { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>; + ddr4-tbl { + qcom,ddr-type = <7>; + qcom,cpufreq-memfreq-tbl = + < 940800 547000 >, + < 1132800 768000 >, + < 1651200 1017000 >, + < 1804000 1555000 >, + < 2208000 1708000 >, + < 2361600 2092000 >; + qcom,sampling-enabled; + qcom,compute-mon; + }; + + ddr5-tbl { + qcom,ddr-type = <8>; + qcom,cpufreq-memfreq-tbl = + < 940800 547000 >, + < 1132800 768000 >, + < 1651200 1555000 >, + < 1804000 1708000 >, + < 2208000 2092000 >, + < 2361600 3196000 >; + qcom,sampling-enabled; + qcom,compute-mon; + }; + }; + + prime-latfloor { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU7>; + ddr4-tbl { + qcom,ddr-type = <7>; + qcom,cpufreq-memfreq-tbl = + < 2284800 547000 >, + < 2707200 2092300 >; + qcom,sampling-enabled; + }; + + ddr5-tbl { + qcom,ddr-type = <8>; + qcom,cpufreq-memfreq-tbl = + < 2284800 547000 >, + < 2707200 3196000 >; + qcom,sampling-enabled; + }; + }; + }; + + llcc { + compatible = "qcom,memlat-grp"; + qcom,target-dev = <&qcom_llcc_dcvs_hw>; + qcom,sampling-path = <&llcc_dcvs_fp>; + qcom,miss-ev = <0x2A>; + + silver { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>; + qcom,cpufreq-memfreq-tbl = + < 1094400 300000 >, + < 1555200 466000 >, + < 1804000 600000 >; + qcom,sampling-enabled; + }; + + gold { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>; + qcom,cpufreq-memfreq-tbl = + < 652800 300000 >, + < 940800 466000 >, + < 1382400 600000 >, + < 1651200 806000 >, + < 2208000 933000 >, + < 2361600 1066000 >; + qcom,sampling-enabled; + }; + + gold-compute { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>; + qcom,cpufreq-memfreq-tbl = + < 1977600 150000 >, + < 2707200 600000 >; + qcom,sampling-enabled; + qcom,compute-mon; + }; + }; + + l3 { + compatible = "qcom,memlat-grp"; + qcom,target-dev = <&qcom_l3_dcvs_hw>; + qcom,sampling-path = <&l3_dcvs_sp>; + qcom,miss-ev = <0x17>; + + silver { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>; + qcom,cpufreq-memfreq-tbl = + < 403200 300000 >, + < 614400 537000 >, + < 806400 652000 >, + < 902400 748000 >, + < 1094400 844000 >, + < 1228800 1065000 >, + < 1353200 1209000 >, + < 1555200 1344000 >, + < 1651000 1612800 >, + < 1804000 1670400 >; + qcom,sampling-enabled; + }; + + gold { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU4 &CPU5 &CPU6>; + qcom,cpufreq-memfreq-tbl = + < 940800 537600 >, + < 1132800 748000 >, + < 1382400 979200 >, + < 1651200 1209000 >, + < 1804000 1344000 >, + < 2054400 1612800 >, + < 2208000 1670000 >; + qcom,sampling-enabled; + }; + + prime { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU7>; + qcom,cpufreq-memfreq-tbl = + < 1094400 537600 >, + < 1401600 748000 >, + < 1766400 1209000 >, + < 1977600 1344000 >, + < 2169600 1612800 >, + < 2400000 1670400 >; + qcom,sampling-enabled; + }; + + prime-compute { + + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU7>; + qcom,cpufreq-memfreq-tbl = + < 1977600 300000 >, + < 2707200 1344000 >; + qcom,sampling-enabled; + qcom,compute-mon; + }; + }; + + ddrqos { + compatible = "qcom,memlat-grp"; + qcom,target-dev = <&qcom_ddrqos_dcvs_hw>; + qcom,sampling-path = <&ddrqos_dcvs_sp>; + qcom,miss-ev = <0x1000>; + + ddrqos_gold_lat: gold { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>; + qcom,cpufreq-memfreq-tbl = + < 2169600 0 >, + < 2707200 1 >; + qcom,sampling-enabled; + }; + + ddrqos_prime_latfloor: prime-latfloor { + compatible = "qcom,memlat-mon"; + qcom,cpulist = <&CPU7>; + qcom,cpufreq-memfreq-tbl = + < 2169600 0 >, + < 2707200 1 >; + qcom,sampling-enabled; + }; + }; + }; + + bwmon_llcc: qcom,bwmon-llcc@190b6400 { + compatible = "qcom,bwmon4"; + reg = <0x190b6400 0x300>, <0x190b6300 0x200>; + reg-names = "base", "global_base"; + interrupts = ; + qcom,mport = <0>; + qcom,hw-timer-hz = <19200000>; + qcom,count-unit = <0x10000>; + qcom,target-dev = <&qcom_llcc_dcvs_hw>; + }; + + bwmon_ddr: qcom,bwmon-ddr@19091000 { + compatible = "qcom,bwmon5"; + reg = <0x19091000 0x1000>; + reg-names = "base"; + interrupts = ; + qcom,hw-timer-hz = <19200000>; + qcom,count-unit = <0x10000>; + qcom,target-dev = <&qcom_ddr_dcvs_hw>; + }; + qcom,msm-rtb { compatible = "qcom,msm-rtb"; qcom,rtb-size = <0x100000>;