diff --git a/qcom/katmai-cpu.dtsi b/qcom/katmai-cpu.dtsi new file mode 100644 index 000000000000..32e9e8289b22 --- /dev/null +++ b/qcom/katmai-cpu.dtsi @@ -0,0 +1,335 @@ +/ { + /delete-node/ cpus; +// /delete-node/ energy-costs; + + cpus { + #address-cells = <2>; + #size-cells = <0>; + + CPU0: cpu@0 { + device_type = "cpu"; + compatible = "qcom,kryo"; + reg = <0x0 0x0>; + enable-method = "psci"; + cpu-idle-states = <&SLVR_OFF &SLVR_RAIL_OFF>; + capacity-dmips-mhz = <1024>; + dynamic-power-coefficient = <100>; + qcom,freq-domain = <&cpufreq_hw 0 4>; + next-level-cache = <&L2_0>; + #cooling-cells = <2>; + L2_0: l2-cache { + compatible = "arm,arch-cache"; + cache-level = <2>; + next-level-cache = <&L3_0>; + + L3_0: l3-cache { + compatible = "arm,arch-cache"; + cache-level = <3>; + }; + }; + }; + + CPU1: cpu@100 { + device_type = "cpu"; + compatible = "qcom,kryo"; + reg = <0x0 0x100>; + enable-method = "psci"; + cpu-idle-states = <&SLVR_OFF &SLVR_RAIL_OFF>; + capacity-dmips-mhz = <1024>; + dynamic-power-coefficient = <100>; + qcom,freq-domain = <&cpufreq_hw 0 4>; + next-level-cache = <&L2_1>; + L2_1: l2-cache { + compatible = "arm,arch-cache"; + cache-level = <2>; + next-level-cache = <&L3_0>; + }; + }; + + CPU2: cpu@200 { + device_type = "cpu"; + compatible = "qcom,kryo"; + reg = <0x0 0x200>; + enable-method = "psci"; + cpu-idle-states = <&SLVR_OFF &SLVR_RAIL_OFF>; + capacity-dmips-mhz = <1024>; + dynamic-power-coefficient = <100>; + qcom,freq-domain = <&cpufreq_hw 0 4>; + next-level-cache = <&L2_2>; + L2_2: l2-cache { + compatible = "arm,arch-cache"; + cache-level = <2>; + next-level-cache = <&L3_0>; + }; + }; + + CPU3: cpu@300 { + device_type = "cpu"; + compatible = "qcom,kryo"; + reg = <0x0 0x300>; + enable-method = "psci"; + cpu-idle-states = <&SLVR_OFF &SLVR_RAIL_OFF>; + capacity-dmips-mhz = <1024>; + dynamic-power-coefficient = <100>; + qcom,freq-domain = <&cpufreq_hw 0 4>; + next-level-cache = <&L2_3>; + L2_3: l2-cache { + compatible = "arm,arch-cache"; + cache-level = <2>; + next-level-cache = <&L3_0>; + }; + }; + + CPU4: cpu@400 { + device_type = "cpu"; + compatible = "qcom,kryo"; + reg = <0x0 0x400>; + enable-method = "psci"; + cpu-idle-states = <&GOLD_OFF &GOLD_RAIL_OFF>; + capacity-dmips-mhz = <1946>; + dynamic-power-coefficient = <520>; + qcom,freq-domain = <&cpufreq_hw 1 4>; + next-level-cache = <&L2_4>; + #cooling-cells = <2>; + L2_4: l2-cache { + compatible = "arm,arch-cache"; + cache-level = <2>; + next-level-cache = <&L3_0>; + }; + }; + + CPU5: cpu@500 { + device_type = "cpu"; + compatible = "qcom,kryo"; + reg = <0x0 0x500>; + enable-method = "psci"; + cpu-idle-states = <&GOLD_OFF &GOLD_RAIL_OFF>; + capacity-dmips-mhz = <1946>; + dynamic-power-coefficient = <520>; + qcom,freq-domain = <&cpufreq_hw 1 4>; + next-level-cache = <&L2_5>; + L2_5: l2-cache { + compatible = "arm,arch-cache"; + cache-level = <2>; + next-level-cache = <&L3_0>; + }; + }; + + cpu-map { + cluster0 { + core0 { + cpu = <&CPU0>; + }; + + core1 { + cpu = <&CPU1>; + }; + + core2 { + cpu = <&CPU2>; + }; + + core3 { + cpu = <&CPU3>; + }; + }; + + cluster1 { + core0 { + cpu = <&CPU4>; + }; + + core1 { + cpu = <&CPU5>; + }; + }; + }; + }; +}; + +&soc { + /delete-node/ jtagmm@7640000; + /delete-node/ jtagmm@7740000; + qcom,cpu0-cpugrp { + /delete-property/ qcom,cpulist; + qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3 &CPU4 &CPU5>; + qcom,cpu4-cpu-llcc-latmon { + /delete-property/ qcom,cpulist; + qcom,cpulist = <&CPU4 &CPU5>; + qcom,core-dev-table = + < 691200 MHZ_TO_MBPS( 300, 16) >, + < 940800 MHZ_TO_MBPS( 466, 16) >, + < 1228800 MHZ_TO_MBPS( 600, 16) >, + < 1651200 MHZ_TO_MBPS( 806, 16) >; + }; + + qcom,cpu4-llcc-ddr-latmon { + /delete-property/ qcom,cpulist; + qcom,cpulist = <&CPU4 &CPU5>; + ddr4-map { + qcom,core-dev-table = + < 691200 MHZ_TO_MBPS( 451, 4) >, + < 940800 MHZ_TO_MBPS( 547, 4) >, + < 1228800 MHZ_TO_MBPS(1017, 4) >, + < 1651200 MHZ_TO_MBPS(1555, 4) >; + }; + + ddr5-map { + qcom,core-dev-table = + < 691200 MHZ_TO_MBPS( 451, 4) >, + < 940800 MHZ_TO_MBPS( 547, 4) >, + < 1228800 MHZ_TO_MBPS( 768, 4) >, + < 1651200 MHZ_TO_MBPS(1555, 4) >, + < 1900800 MHZ_TO_MBPS(1708, 4) >; + }; + }; + + qcom,cpu4-computemon { + /delete-property/ qcom,cpulist; + qcom,cpulist = <&CPU4 &CPU5>; + ddr4-map { + qcom,core-dev-table = + < 691200 MHZ_TO_MBPS( 451, 4) >, + < 1228800 MHZ_TO_MBPS( 547, 4) >, + < 1516800 MHZ_TO_MBPS( 768, 4) >, + < 1651200 MHZ_TO_MBPS(1017, 4) >, + < 1900800 MHZ_TO_MBPS(1555, 4) >; + }; + + ddr5-map { + qcom,core-dev-table = + < 691200 MHZ_TO_MBPS( 451, 4) >, + < 1228800 MHZ_TO_MBPS( 547, 4) >, + < 1516800 MHZ_TO_MBPS( 768, 4) >, + < 1651200 MHZ_TO_MBPS(1555, 4) >, + < 1900800 MHZ_TO_MBPS(1708, 4) >; + }; + }; + + qcom,cpu4-llcc-computemon { + /delete-property/ qcom,cpulist; + qcom,cpulist = <&CPU4 &CPU5>; + qcom,core-dev-table = + < 1900800 MHZ_TO_MBPS( 150, 16) >; + }; + + qcom,cpu4-qoslatmon { + /delete-property/ qcom,cpulist; + qcom,cpulist = <&CPU4 &CPU5>; + }; + + + /delete-node/ qcom,cpu7-qoslatmon; + /delete-node/ qcom,cpu7-l3-computemon; + /delete-node/ qcom,cpu7-computemon; + }; + + qcom,cpu4_grp { + /delete-property/ qcom,cpulist; + qcom,cpulist = <&CPU4 &CPU5>; + + qcom,cpu4-rimps-l3-latmon { + /delete-property/ qcom,cpulist; + qcom,cpulist = <&CPU4 &CPU5>; + qcom,core-dev-table = + < 940800 556800000 >, + < 1228800 768000000 >, + < 1651200 1190400000 >, + < 1900800 1401600000 >; + }; + }; + + /delete-node/ qcom,cpu7-cpu-ddr-latfloor; + /delete-node/ qcom,cpu7-cpu-l3-latfloor; + /delete-node/ qcom,cpu7-cpu-ddr-qoslatfloor; + /delete-node/ qcom,cpu7_grp; + /delete-node/ etm@7640000; + /delete-node/ etm@7740000; + /delete-node/ cti@7620000; + /delete-node/ cti@7720000; + + qcom,lpm-levels { + qcom,pm-cluster@0 { + qcom,pm-cpu@1 { + /delete-property/ qcom,cpu; + qcom,cpu = <&CPU4 &CPU5>; + }; + }; + }; +}; + +&cpufreq_hw { + qcom,cpu-isolation { + cpu6_isolate: cpu6-isolate { + /delete-property/ qcom,cpu; + }; + + + cpu7_isolate: cpu7-isolate { + /delete-property/ qcom,cpu; + }; + }; + + qcom,cpu-hotplug { + cpu6_hotplug: cpu6-hotplug { + /delete-property/ qcom,cpu; + }; + + + cpu7_hotplug: cpu7-hotplug { + /delete-property/ qcom,cpu; + }; + }; + + + qcom,cpu-voltage-cdev { + apc1_cluster: qcom,apc1-cluster { + /delete-property/ qcom,cpus; + qcom,cpus = <&CPU4>; + }; + }; +}; + +&funnel_apss { + in-ports { + /delete-node/ port@6; + /delete-node/ port@7; + }; +}; + +&thermal_zones { + cpu-1-4-step { + cooling-maps { + /delete-node/ cpu14_cdev; + /delete-node/ cpu14_cdev2; + }; + }; + + cpu-1-5-step { + cooling-maps { + /delete-node/ cpu15_cdev; + /delete-node/ cpu15_cdev2; + }; + }; + + cpu-1-6-step { + cooling-maps { + /delete-node/ cpu16_cdev; + /delete-node/ cpu16_cdev2; + }; + }; + + cpu-1-7-step { + cooling-maps { + /delete-node/ cpu17_cdev; + /delete-node/ cpu17_cdev2; + }; + }; + + mx-pe-step { + cooling-maps { + /delete-node/ mx_pe_cdev_cpu6; + /delete-node/ mx_pe_cdev_cpu7; + }; + }; +}; diff --git a/qcom/katmai.dtsi b/qcom/katmai.dtsi index 4b1667a64079..c96f538be9ff 100644 --- a/qcom/katmai.dtsi +++ b/qcom/katmai.dtsi @@ -1,4 +1,5 @@ #include "yupik-iot.dtsi" +#include "katmai-cpu.dtsi" / { model = "Qualcomm Technologies, Inc. KATMAI SoC";