@@ -2026,6 +2026,66 @@ llcc: system-cache-controller@1100000 {
interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>;
};
+ pmu@1436400 {
+ compatible = "qcom,sdm845-cpu-bwmon";
+ reg = <0 0x01436400 0 0x600>;
+
+ interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>;
+
+ interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
+ <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
+ interconnect-names = "ddr", "l3c";
+
+ operating-points-v2 = <&cpu_bwmon_opp_table>;
+
+ cpu_bwmon_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ /*
+ * The interconnect paths bandwidths calculated
+ * from msm-4.9 downstream kernel:
+ * - the gladiator_noc-mem_noc from bandwidth
+ * table of qcom,llccbw (property qcom,bw-tbl);
+ * bus width: 4 bytes;
+ * - the OSM L3 from bandiwdth table of
+ * qcom,cpu4-l3lat-mon (qcom,core-dev-table);
+ * bus width: 16 bytes;
+ */
+ opp-0 {
+ opp-peak-kBps = <800000 4800000>;
+ opp-avg-kBps = <800000 4800000>;
+ };
+ opp-1 {
+ opp-peak-kBps = <1804000 9216000>;
+ opp-avg-kBps = <1804000 9216000>;
+ };
+ opp-2 {
+ opp-peak-kBps = <2188000 11980800>;
+ opp-avg-kBps = <2188000 11980800>;
+ };
+ opp-3 {
+ opp-peak-kBps = <3072000 15052800>;
+ opp-avg-kBps = <3072000 15052800>;
+ };
+ opp-4 {
+ opp-peak-kBps = <4068000 19353600>;
+ opp-avg-kBps = <4068000 19353600>;
+ };
+ opp-5 {
+ opp-peak-kBps = <5412000 20889600>;
+ opp-avg-kBps = <5412000 20889600>;
+ };
+ opp-6 {
+ opp-peak-kBps = <6220000 22425600>;
+ opp-avg-kBps = <6220000 22425600>;
+ };
+ opp-7 {
+ opp-peak-kBps = <7216000 25497600>;
+ opp-avg-kBps = <7216000 25497600>;
+ };
+ };
+ };
+
pcie0: pci@1c00000 {
compatible = "qcom,pcie-sdm845";
reg = <0 0x01c00000 0 0x2000>,