/* Copyright (c) 2018, 2020, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include &soc { qcom,spm@b012000 { compatible = "qcom,spm-v2"; #address-cells = <1>; #size-cells = <1>; reg = <0xb012000 0x1000>; qcom,name = "perf-l2"; qcom,saw2-ver-reg = <0xfd0>; qcom,saw2-cfg = <0x14>; qcom,saw2-spm-dly= <0x3C11840A>; qcom,saw2-spm-ctl = <0xe>; qcom,cpu-vctl-list = <&CPU0 &CPU1 &CPU2 &CPU3>; qcom,vctl-timeout-us = <500>; qcom,vctl-port = <0x0>; qcom,vctl-port-ub = <0x1>; qcom,pfm-port = <0x02>; }; 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 = "perf"; qcom,psci-mode-shift = <4>; qcom,psci-mode-mask = <0xf>; qcom,pm-cluster-level@0{ reg = <0>; label = "perf-l2-wfi"; qcom,psci-mode = <1>; qcom,entry-latency-us = <125>; qcom,exit-latency-us = <180>; qcom,min-residency-us = <305>; }; qcom,pm-cluster-level@1{ reg = <1>; label = "perf-l2-gdhs"; qcom,psci-mode = <4>; qcom,entry-latency-us = <240>; qcom,exit-latency-us = <280>; qcom,min-residency-us = <806>; qcom,min-child-idx = <1>; qcom,reset-level = ; }; qcom,pm-cluster-level@2{ reg = <2>; label = "perf-l2-retention"; qcom,psci-mode = <2>; qcom,entry-latency-us = <700>; qcom,exit-latency-us = <650>; qcom,min-residency-us = <1972>; qcom,min-child-idx = <1>; qcom,reset-level = ; }; qcom,pm-cluster-level@3{ reg = <3>; label = "perf-l2-pc"; qcom,psci-mode = <5>; qcom,entry-latency-us = <700>; qcom,exit-latency-us = <1000>; qcom,min-residency-us = <6500>; qcom,min-child-idx = <1>; qcom,is-reset; qcom,notify-rpm; qcom,reset-level = ; }; 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 { reg = <0>; qcom,psci-cpu-mode = <0>; label = "wfi"; qcom,entry-latency-us = <13>; qcom,exit-latency-us = <12>; qcom,min-residency-us = <25>; }; qcom,pm-cpu-level@1 { reg = <1>; qcom,psci-cpu-mode = <3>; label = "pc"; qcom,entry-latency-us = <125>; qcom,exit-latency-us = <180>; qcom,min-residency-us = <595>; qcom,use-broadcast-timer; qcom,is-reset; qcom,reset-level = ; }; }; }; }; 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@60150 { compatible = "qcom,rpm-master-stats"; reg = <0x60150 0x5000>; qcom,masters = "APSS", "MPSS", "LPASS", "CDSP", "TZ"; qcom,master-stats-version = <2>; qcom,master-offset = <4096>; }; };