Loading Documentation/devicetree/bindings/interrupt-controller/qti,pdc.txt +1 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ Properties: * "qcom,pdc-sdm845": For sdm845 pin data * "qcom,pdc-sdm845-v2": For sdm845 v2 pin data * "qcom,pdc-sdm670": For sdm670 pin data * "qcom,pdc-sdxpoorwills": For sdxpoorwills pin data - reg: Usage: required Loading arch/arm/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ config ARM select ARCH_USE_BUILTIN_BSWAP select ARCH_USE_CMPXCHG_LOCKREF select ARCH_WANT_IPC_PARSE_VERSION select ARM_PSCI_FW if PM select BUILDTIME_EXTABLE_SORT if MMU select CLONE_BACKWARDS select CPU_PM if (SUSPEND || CPU_IDLE) Loading arch/arm/boot/dts/qcom/sdxpoorwills-pinctrl.dtsi +3 −1 Original line number Diff line number Diff line Loading @@ -13,11 +13,13 @@ &soc { tlmm: pinctrl@3900000 { compatible = "qcom,sdxpoorwills-pinctrl"; reg = <0x3900000 0x300000>; reg = <0x3900000 0x300000>, <0xB204900 0x280>; interrupts = <0 212 0>; gpio-controller; #gpio-cells = <2>; interrupt-controller; interrupt-parent = <&pdc>; #interrupt-cells = <2>; uart2_console_active: uart2_console_active { Loading arch/arm/boot/dts/qcom/sdxpoorwills-pm.dtsi 0 → 100644 +95 −0 Original line number Diff line number Diff line /* Copyright (c) 2018, 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 <dt-bindings/interrupt-controller/arm-gic.h> &soc { qcom,lpm-levels { compatible = "qcom,lpm-levels"; #address-cells = <1>; #size-cells = <0>; qcom,pm-cluster@0{ #address-cells = <1>; #size-cells = <0>; reg = <0>; label = "system"; qcom,psci-mode-shift = <0>; qcom,psci-mode-mask = <0xf>; qcom,pm-cluster-level@0 { reg = <0>; label = "cx_active"; qcom,psci-mode = <0x0>; qcom,latency-us = <270>; qcom,ss-power = <455>; qcom,energy-overhead = <270621>; qcom,time-overhead = <500>; }; qcom,pm-cluster-level@1 { reg = <1>; label = "cx_min"; qcom,psci-mode = <0x0>; qcom,latency-us = <285>; qcom,ss-power = <442>; qcom,energy-overhead = <306621>; qcom,time-overhead = <540>; qcom,min-child-idx = <2>; qcom,notify-rpm; qcom,is-reset; }; qcom,pm-cpu@0 { #address-cells = <1>; #size-cells = <0>; qcom,psci-mode-shift = <0>; qcom,psci-mode-mask = <0xf>; qcom,cpu = <&CPU0>; qcom,pm-cpu-level@0{ reg = <0>; label = "wfi"; qcom,psci-cpu-mode = <0x1>; qcom,latency-us = <1>; qcom,ss-power = <473>; qcom,energy-overhead = <100000>; qcom,time-overhead = <25>; }; qcom,pm-cpu-level@1 { reg = <1>; label ="standalone_pc"; qcom,psci-cpu-mode = <0x4>; qcom,latency-us = <240>; qcom,ss-power = <467>; qcom,energy-overhead = <202781>; qcom,time-overhead = <420>; qcom,use-broadcast-timer; qcom,is-reset; }; qcom,pm-cpu-level@2 { reg = <2>; label = "system-pc"; qcom,psci-cpu-mode = <0x8>; qcom,latency-us = <270>; qcom,ss-power = <455>; qcom,energy-overhead = <270621>; qcom,time-overhead = <500>; qcom,use-broadcast-timer; qcom,is-reset; }; }; }; }; }; arch/arm/boot/dts/qcom/sdxpoorwills.dtsi +29 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ model = "Qualcomm Technologies, Inc. SDX POORWILLS"; compatible = "qcom,sdxpoorwills"; qcom,msm-id = <334 0x0>, <335 0x0>; interrupt-parent = <&intc>; interrupt-parent = <&pdc>; reserved-memory { #address-cells = <1>; Loading Loading @@ -70,6 +70,7 @@ CPU0: cpu@0 { device_type = "cpu"; compatible = "arm,cortex-a7"; enable-method = "psci"; reg = <0x0>; #cooling-cells = <2>; }; Loading @@ -81,6 +82,11 @@ sdhc1 = &sdhc_1; /* SDC1 eMMC/SD/SDIO slot */ }; psci { compatible = "arm,psci-1.0"; method = "smc"; }; soc: soc { }; }; Loading @@ -96,6 +102,15 @@ #interrupt-cells = <3>; reg = <0x17800000 0x1000>, <0x17802000 0x1000>; interrupt-parent = <&intc>; }; pdc: interrupt-controller@b210000{ compatible = "qcom,pdc-sdxpoorwills"; reg = <0xb210000 0x30000>; #interrupt-cells = <3>; interrupt-parent = <&intc>; interrupt-controller; }; timer { Loading Loading @@ -834,3 +849,16 @@ }; }; }; #include "pmxpoorwills.dtsi" #include "sdxpoorwills-blsp.dtsi" #include "sdxpoorwills-regulator.dtsi" #include "sdxpoorwills-smp2p.dtsi" #include "sdxpoorwills-usb.dtsi" #include "sdxpoorwills-pcie.dtsi" #include "sdxpoorwills-bus.dtsi" #include "sdxpoorwills-thermal.dtsi" #include "sdxpoorwills-audio.dtsi" #include "sdxpoorwills-ion.dtsi" #include "msm-arm-smmu-sdxpoorwills.dtsi" #include "sdxpoorwills-pm.dtsi" Loading
Documentation/devicetree/bindings/interrupt-controller/qti,pdc.txt +1 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ Properties: * "qcom,pdc-sdm845": For sdm845 pin data * "qcom,pdc-sdm845-v2": For sdm845 v2 pin data * "qcom,pdc-sdm670": For sdm670 pin data * "qcom,pdc-sdxpoorwills": For sdxpoorwills pin data - reg: Usage: required Loading
arch/arm/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ config ARM select ARCH_USE_BUILTIN_BSWAP select ARCH_USE_CMPXCHG_LOCKREF select ARCH_WANT_IPC_PARSE_VERSION select ARM_PSCI_FW if PM select BUILDTIME_EXTABLE_SORT if MMU select CLONE_BACKWARDS select CPU_PM if (SUSPEND || CPU_IDLE) Loading
arch/arm/boot/dts/qcom/sdxpoorwills-pinctrl.dtsi +3 −1 Original line number Diff line number Diff line Loading @@ -13,11 +13,13 @@ &soc { tlmm: pinctrl@3900000 { compatible = "qcom,sdxpoorwills-pinctrl"; reg = <0x3900000 0x300000>; reg = <0x3900000 0x300000>, <0xB204900 0x280>; interrupts = <0 212 0>; gpio-controller; #gpio-cells = <2>; interrupt-controller; interrupt-parent = <&pdc>; #interrupt-cells = <2>; uart2_console_active: uart2_console_active { Loading
arch/arm/boot/dts/qcom/sdxpoorwills-pm.dtsi 0 → 100644 +95 −0 Original line number Diff line number Diff line /* Copyright (c) 2018, 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 <dt-bindings/interrupt-controller/arm-gic.h> &soc { qcom,lpm-levels { compatible = "qcom,lpm-levels"; #address-cells = <1>; #size-cells = <0>; qcom,pm-cluster@0{ #address-cells = <1>; #size-cells = <0>; reg = <0>; label = "system"; qcom,psci-mode-shift = <0>; qcom,psci-mode-mask = <0xf>; qcom,pm-cluster-level@0 { reg = <0>; label = "cx_active"; qcom,psci-mode = <0x0>; qcom,latency-us = <270>; qcom,ss-power = <455>; qcom,energy-overhead = <270621>; qcom,time-overhead = <500>; }; qcom,pm-cluster-level@1 { reg = <1>; label = "cx_min"; qcom,psci-mode = <0x0>; qcom,latency-us = <285>; qcom,ss-power = <442>; qcom,energy-overhead = <306621>; qcom,time-overhead = <540>; qcom,min-child-idx = <2>; qcom,notify-rpm; qcom,is-reset; }; qcom,pm-cpu@0 { #address-cells = <1>; #size-cells = <0>; qcom,psci-mode-shift = <0>; qcom,psci-mode-mask = <0xf>; qcom,cpu = <&CPU0>; qcom,pm-cpu-level@0{ reg = <0>; label = "wfi"; qcom,psci-cpu-mode = <0x1>; qcom,latency-us = <1>; qcom,ss-power = <473>; qcom,energy-overhead = <100000>; qcom,time-overhead = <25>; }; qcom,pm-cpu-level@1 { reg = <1>; label ="standalone_pc"; qcom,psci-cpu-mode = <0x4>; qcom,latency-us = <240>; qcom,ss-power = <467>; qcom,energy-overhead = <202781>; qcom,time-overhead = <420>; qcom,use-broadcast-timer; qcom,is-reset; }; qcom,pm-cpu-level@2 { reg = <2>; label = "system-pc"; qcom,psci-cpu-mode = <0x8>; qcom,latency-us = <270>; qcom,ss-power = <455>; qcom,energy-overhead = <270621>; qcom,time-overhead = <500>; qcom,use-broadcast-timer; qcom,is-reset; }; }; }; }; };
arch/arm/boot/dts/qcom/sdxpoorwills.dtsi +29 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ model = "Qualcomm Technologies, Inc. SDX POORWILLS"; compatible = "qcom,sdxpoorwills"; qcom,msm-id = <334 0x0>, <335 0x0>; interrupt-parent = <&intc>; interrupt-parent = <&pdc>; reserved-memory { #address-cells = <1>; Loading Loading @@ -70,6 +70,7 @@ CPU0: cpu@0 { device_type = "cpu"; compatible = "arm,cortex-a7"; enable-method = "psci"; reg = <0x0>; #cooling-cells = <2>; }; Loading @@ -81,6 +82,11 @@ sdhc1 = &sdhc_1; /* SDC1 eMMC/SD/SDIO slot */ }; psci { compatible = "arm,psci-1.0"; method = "smc"; }; soc: soc { }; }; Loading @@ -96,6 +102,15 @@ #interrupt-cells = <3>; reg = <0x17800000 0x1000>, <0x17802000 0x1000>; interrupt-parent = <&intc>; }; pdc: interrupt-controller@b210000{ compatible = "qcom,pdc-sdxpoorwills"; reg = <0xb210000 0x30000>; #interrupt-cells = <3>; interrupt-parent = <&intc>; interrupt-controller; }; timer { Loading Loading @@ -834,3 +849,16 @@ }; }; }; #include "pmxpoorwills.dtsi" #include "sdxpoorwills-blsp.dtsi" #include "sdxpoorwills-regulator.dtsi" #include "sdxpoorwills-smp2p.dtsi" #include "sdxpoorwills-usb.dtsi" #include "sdxpoorwills-pcie.dtsi" #include "sdxpoorwills-bus.dtsi" #include "sdxpoorwills-thermal.dtsi" #include "sdxpoorwills-audio.dtsi" #include "sdxpoorwills-ion.dtsi" #include "msm-arm-smmu-sdxpoorwills.dtsi" #include "sdxpoorwills-pm.dtsi"