#include &soc { qcom,spm@178120000 { compatible = "qcom,spm-v2"; #address-cells = <1>; #size-cells = <1>; reg = <0x17812000 0x1000>; qcom,name = "gold-l2"; /* Gold L2 SAW */ qcom,saw2-ver-reg = <0xfd0>; qcom,cpu-vctl-list = <&CPU4 &CPU5 &CPU6 &CPU7>; qcom,vctl-timeout-us = <500>; qcom,vctl-port = <0x0>; qcom,phase-port = <0x1>; qcom,saw2-avs-ctl = <0x1010031>; qcom,saw2-avs-limit = <0x4580458>; qcom,pfm-port = <0x2>; }; qcom,spm@179120000 { compatible = "qcom,spm-v2"; #address-cells = <1>; #size-cells = <1>; reg = <0x17912000 0x1000>; qcom,name = "silver-l2"; /* Silver L2 SAW */ qcom,saw2-ver-reg = <0xfd0>; qcom,cpu-vctl-list = <&CPU0 &CPU1 &CPU2 &CPU3>; qcom,vctl-timeout-us = <500>; qcom,vctl-port = <0x0>; qcom,phase-port = <0x1>; qcom,saw2-avs-ctl = <0x1010031>; qcom,saw2-avs-limit = <0x4580458>; qcom,pfm-port = <0x2>; }; qcom,lpm-levels { compatible = "qcom,lpm-levels"; qcom,use-psci; #address-cells = <1>; #size-cells = <0>; qcom,pm-cluster@0 { reg = <0>; #address-cells = <1>; #size-cells = <0>; label = "system"; qcom,spm-device-names = "cci"; qcom,psci-mode-shift = <8>; qcom,psci-mode-mask = <0xf>; qcom,pm-cluster-level@0{ reg = <0>; label = "system-wfi"; qcom,psci-mode = <0x0>; qcom,entry-latency-us = <640>; qcom,exit-latency-us = <1654>; qcom,min-residency-us = <2294>; }; qcom,pm-cluster-level@1{ /* E3 */ reg = <1>; label = "system-pc"; qcom,psci-mode = <0x3>; qcom,entry-latency-us = <10831>; qcom,exit-latency-us = <4506>; qcom,min-residency-us = <15337>; qcom,min-child-idx = <3>; qcom,is-reset; qcom,notify-rpm; }; qcom,pm-cluster@0{ reg = <0>; #address-cells = <1>; #size-cells = <0>; label = "pwr"; qcom,spm-device-names = "l2"; qcom,cpu = <&CPU0 &CPU1 &CPU2 &CPU3>; qcom,psci-mode-shift = <4>; qcom,psci-mode-mask = <0xf>; qcom,pm-cluster-level@0{ /* D1 */ reg = <0>; label = "pwr-l2-wfi"; qcom,psci-mode = <0x1>; qcom,entry-latency-us = <38>; qcom,exit-latency-us = <51>; qcom,min-residency-us = <89>; }; qcom,pm-cluster-level@1{ /* D2D */ reg = <1>; label = "pwr-l2-dynret"; qcom,psci-mode = <0x2>; qcom,entry-latency-us = <360>; qcom,exit-latency-us = <421>; qcom,min-residency-us = <781>; qcom,min-child-idx = <1>; }; qcom,pm-cluster-level@2{ /* D2E */ reg = <2>; label = "pwr-l2-ret"; qcom,psci-mode = <0x3>; qcom,entry-latency-us = <800>; qcom,exit-latency-us = <517>; qcom,min-residency-us = <922>; qcom,min-child-idx = <2>; }; qcom,pm-cluster-level@3{ /* D4 */ reg = <3>; label = "pwr-l2-pc"; qcom,psci-mode = <0x4>; qcom,entry-latency-us = <800>; qcom,exit-latency-us = <2118>; qcom,min-residency-us = <2918>; qcom,min-child-idx = <2>; qcom,is-reset; }; qcom,pm-cpu { #address-cells = <1>; #size-cells = <0>; qcom,psci-mode-shift = <0>; qcom,psci-mode-mask = <0xf>; qcom,disable-ipi-prediction; qcom,cpu = <&CPU0 &CPU1 &CPU2 &CPU3>; qcom,pm-cpu-level@0 { /* C1 */ reg = <0>; label = "wfi"; qcom,psci-cpu-mode = <0x1>; qcom,entry-latency-us = <49>; qcom,exit-latency-us = <42>; qcom,min-residency-us = <91>; }; qcom,pm-cpu-level@1 { /* C2D */ reg = <1>; qcom,psci-cpu-mode = <2>; label = "ret"; qcom,entry-latency-us = <70>; qcom,exit-latency-us = <63>; qcom,min-residency-us = <172>; }; qcom,pm-cpu-level@2 { /* C3 */ reg = <2>; label = "pc"; qcom,psci-cpu-mode = <0x3>; qcom,entry-latency-us = <290>; qcom,exit-latency-us = <376>; qcom,min-residency-us = <666>; qcom,is-reset; qcom,use-broadcast-timer; }; }; }; qcom,pm-cluster@1{ reg = <1>; #address-cells = <1>; #size-cells = <0>; label = "perf"; qcom,spm-device-names = "l2"; qcom,psci-mode-shift = <4>; qcom,psci-mode-mask = <0xf>; qcom,pm-cluster-level@0{ /* D1 */ reg = <0>; label = "perf-l2-wfi"; qcom,psci-mode = <0x1>; qcom,entry-latency-us = <38>; qcom,exit-latency-us = <51>; qcom,min-residency-us = <89>; }; qcom,pm-cluster-level@1{ /* D2D */ reg = <1>; label = "perf-l2-dynret"; qcom,psci-mode = <2>; qcom,entry-latency-us = <314>; qcom,exit-latency-us = <345>; qcom,min-residency-us = <659>; qcom,min-child-idx = <1>; }; qcom,pm-cluster-level@2{ /* D2E */ reg = <2>; label = "perf-l2-ret"; qcom,psci-mode = <3>; qcom,entry-latency-us = <375>; qcom,exit-latency-us = <419>; qcom,min-residency-us = <737>; qcom,min-child-idx = <2>; }; qcom,pm-cluster-level@3{ /* D4 */ reg = <3>; label = "perf-l2-pc"; qcom,psci-mode = <0x4>; qcom,entry-latency-us = <640>; qcom,exit-latency-us = <1654>; qcom,min-residency-us = <2294>; qcom,min-child-idx = <2>; qcom,is-reset; }; qcom,pm-cpu { #address-cells = <1>; #size-cells = <0>; qcom,psci-mode-shift = <0>; qcom,psci-mode-mask = <0xf>; qcom,disable-ipi-prediction; qcom,cpu = <&CPU4 &CPU5 &CPU6 &CPU7>; qcom,pm-cpu-level@0 { /* C1 */ reg = <0>; label = "wfi"; qcom,psci-cpu-mode = <0x1>; qcom,entry-latency-us = <29>; qcom,exit-latency-us = <39>; qcom,min-residency-us = <68>; }; qcom,pm-cpu-level@1 { /* C2D */ reg = <1>; qcom,psci-cpu-mode = <2>; label = "ret"; qcom,entry-latency-us = <50>; qcom,exit-latency-us = <60>; qcom,min-residency-us = <181>; }; qcom,pm-cpu-level@2 { /* C3 */ reg = <2>; label = "pc"; qcom,psci-cpu-mode = <0x3>; qcom,entry-latency-us = <297>; qcom,exit-latency-us = <324>; qcom,min-residency-us = <621>; qcom,is-reset; qcom,use-broadcast-timer; }; }; }; }; }; qcom,rpm-stats@200000 { compatible = "qcom,rpm-stats"; reg = <0x200000 0x1000>, <0x290014 0x4>, <0x29001c 0x4>; reg-names = "phys_addr_base", "offset_addr", "heap_phys_addrbase"; qcom,sleep-stats-version = <2>; }; qcom,rpm-master-stats@778150 { compatible = "qcom,rpm-master-stats"; reg = <0x778150 0x5000>; qcom,masters = "APSS", "MPSS", "ADSP", "CDSP", "TZ"; qcom,master-stats-version = <2>; qcom,master-offset = <4096>; }; /* TODO review changed values */ rpm_msg_ram: memory@0x778000 { compatible = "qcom,rpm-msg-ram"; reg = <0x778000 0x7000>; }; rpm_code_ram: rpm-memory@0x778000 { compatible = "qcom,rpm-code-ram"; reg = <0x778000 0x5000>; }; qcom,system-stats { compatible = "qcom,system-stats"; qcom,rpm-msg-ram = <&rpm_msg_ram>; qcom,rpm-code-ram = <&rpm_code_ram>; qcom,masters = "APSS", "MPSS", "ADSP", "CDSP", "TZ"; }; };