linux/Documentation/devicetree/bindings/arm
Lorenzo Pieralisi 3f8161b260 Documentation: arm: define DT idle states bindings
ARM based platforms implement a variety of power management schemes that
allow processors to enter idle states at run-time.
The parameters defining these idle states vary on a per-platform basis forcing
the OS to hardcode the state parameters in platform specific static tables
whose size grows as the number of platforms supported in the kernel increases
and hampers device drivers standardization.

Therefore, this patch aims at standardizing idle state device tree bindings
for ARM platforms. Bindings define idle state parameters inclusive of entry
methods and state latencies, to allow operating systems to retrieve the
configuration entries from the device tree and initialize the related power
management drivers, paving the way for common code in the kernel to deal with
idle states and removing the need for static data in current and previous
kernel versions.

ARM64 platforms require the DT to define an entry-method property
for idle states.

On system implementing PSCI as an enable-method to enter low-power
states the PSCI CPU suspend method requires the power_state parameter to
be passed to the PSCI CPU suspend function.

This parameter is specific to a power state and platform specific,
therefore must be provided by firmware to the OS in order to enable
proper call sequence.

Thus, this patch also adds a property in the PSCI bindings that
describes how the PSCI CPU suspend power_state parameter should be
defined in DT in all device nodes that rely on PSCI CPU suspend method usage.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Sebastian Capella <sebcape@gmail.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2014-09-12 10:48:55 +01:00
..
altera Documentation: dt: reset: move socfpga-reset 2014-05-05 22:33:17 -05:00
bcm devicetree: bindings: document Broadcom CPU enable method 2014-07-28 09:41:05 -04:00
calxeda ARM: dts: calxeda: move memory-controller node out of ecx-common.dtsi 2013-11-04 17:01:05 -06:00
cpu-enable-method Documentation: bindings: add the marvell,berlin-smp CPU enable method 2014-06-16 13:17:52 +02:00
davinci mtd: nand: davinci: move bindings under mtd 2014-01-03 11:22:25 -08:00
exynos ARM: EXYNOS: Add support for clock handling in power domain 2014-07-11 08:03:19 +09:00
firmware of: add Trusted Foundations bindings documentation 2013-12-13 12:50:30 -07:00
hisilicon ARM: hisi: enable hix5hd2 SoC 2014-07-30 22:32:20 -07:00
keystone ARM: dts: keystone: use common "ti,keystone" compatible instead of -evm 2014-03-20 17:00:27 -04:00
mrvl ARM: MM: Add DT binding for Feroceon L2 cache 2014-02-22 20:43:49 +00:00
msm devicetree: bindings: Document qcom,saw2 node 2014-02-11 15:00:39 -06:00
omap Merge branch 'for-v3.17/omap2-use-dt-clks' of http://github.com/t-kristo/linux-pm into omap-for-v3.17/dt 2014-07-09 04:58:54 -07:00
rockchip ARM: rockchip: add power-management-unit 2014-03-01 17:21:53 +01:00
samsung ARM: SoC device-tree changes for 3.17 2014-08-08 11:16:58 -07:00
spear
tegra ARM: tegra: add missing clock documentation to DT bindings 2013-12-11 16:41:55 -07:00
vt8500
adapteva.txt Documentation: devicetree: Adapteva boards 2014-07-25 09:45:44 +02:00
arch_timer.txt clocksource: arch_arm_timer: Fix age-old arch timer C3STOP detection issue 2014-04-29 15:06:36 +02:00
arm-boards dt/bindings: arm-boards: add binding for Versatile core module 2014-06-24 14:16:02 -05:00
armada-38x.txt ARM: mvebu: Fix the improper use of the compatible string armada38x using a wildcard 2014-06-24 11:33:24 +00:00
armada-370-xp-pmsu.txt ARM: mvebu: add Armada 38x compatible string to pmsu 2014-05-08 16:08:38 +00:00
armada-370-xp.txt
armada-375.txt ARM: mvebu: add initial support for the Armada 375 SOCs 2014-02-22 00:41:10 +00:00
armada-380-mpcore-soc-ctrl.txt ARM: mvebu: add CA9 MPcore SoC Controller node 2014-07-16 12:34:22 +00:00
armada-cpu-reset.txt ARM: mvebu: introduce CPU reset code 2014-04-24 05:24:02 +00:00
armadeus.txt
atmel-at91.txt ARM: SoC DT updates for 3.14 2014-01-23 18:45:38 -08:00
atmel-pmc.txt Documentation: dt: document all the atmel pmc compatibles 2014-07-09 19:05:10 +02:00
axxia.txt ARM: Add platform support for LSI AXM55xx SoC 2014-05-23 18:18:39 +02:00
bcm2835.txt
bcm4708.txt ARM: BCM5301X: initial support for the BCM5301X/BCM470X SoCs with ARM CPU 2014-03-06 00:36:02 -05:00
brcm-brcmstb.txt ARM: brcmstb: add misc. DT bindings for brcmstb 2014-07-28 10:01:09 -04:00
calxeda.txt
cci.txt ARM: dts: Document the CCI PMU DT bindings 2013-09-17 12:02:15 +01:00
ccn.txt bus: ARM CCN PMU driver 2014-07-23 22:14:43 +02:00
coherency-fabric.txt ARM: mvebu: add Armada 38x support to the coherency code 2014-04-24 05:00:38 +00:00
cpus.txt Documentation: arm: define DT idle states bindings 2014-09-12 10:48:55 +01:00
davinci.txt
fsl.txt
gic-v3.txt arm64: GICv3 device tree binding documentation 2014-07-11 04:57:30 -07:00
gic.txt ARM: brcmstb: gic: add compatible string for Broadcom Brahma15 2014-07-28 10:01:28 -04:00
global_timer.txt documentaion: DT: allow a A5 compatible string in global timer 2014-04-22 11:44:25 +02:00
idle-states.txt Documentation: arm: define DT idle states bindings 2014-09-12 10:48:55 +01:00
insignal-boards.txt
kirkwood.txt
l2cc.txt ARM: 8076/1: mm: add support for HW coherent systems in PL310 cache 2014-06-29 10:26:37 +01:00
lpc32xx-mic.txt
lpc32xx.txt
marvell,berlin.txt Documentation: bindings: add the Berlin CPU control doc 2014-06-16 13:17:51 +02:00
marvell,dove.txt devicetree: bindings: add missing Marvell Dove SoC documentation 2014-02-25 18:54:02 +01:00
marvell,kirkwood.txt DT: bindings: add missing Marvell Kirkwood SoC documentation 2014-04-14 12:23:04 -05:00
mediatek.txt dt-bindings: add documentation for Mediatek SoC 2014-07-22 17:52:38 +02:00
moxart.txt ARM: moxart: add MOXA ART SoC device tree files 2013-12-22 11:57:57 -08:00
mvebu-system-controller.txt ARM: mvebu: add Armada 375 support to the system-controller driver 2014-02-22 00:41:09 +00:00
nspire.txt
olimex.txt
picoxcell.txt
pmu.txt ARM: 8054/1: perf: add support for the Cortex-A17 PMU 2014-05-25 23:49:43 +01:00
primecell.txt
psci.txt Documentation: arm: define DT idle states bindings 2014-09-12 10:48:55 +01:00
rockchip.txt ARM: dts: rockchip: add root compatible properties 2014-05-10 01:38:00 +02:00
rtsm-dcscb.txt
samsung-boards.txt
sirf.txt
spear-misc.txt ARM: SPEAr13xx: Add bindings and dt node for misc block 2014-07-14 11:04:42 +05:30
spear-timer.txt
spear.txt
ste-nomadik.txt
ste-u300.txt
sti.txt ARM: STi: Add STiH407 SoC support 2014-05-17 10:22:30 +02:00
tegra.txt ARM: tegra: initial support for apalis t30 2014-07-17 15:02:09 +02:00
topology.txt ARM: topology: Make it clear that all CPUs need to be described 2014-04-02 12:14:16 +01:00
twd.txt
versatile-fpga-irq.txt irqchip: versatile FPGA: support cascaded interrupts from DT 2014-01-03 22:26:13 +01:00
vexpress-scc.txt
vexpress-sysreg.txt mfd: vexpress: Define the device as MFD cells 2014-05-15 17:02:19 +01:00
vexpress.txt mfd: vexpress: Convert custom func API to regmap 2014-05-15 17:02:18 +01:00
vic.txt
vt8500.txt
xen.txt
xilinx.txt ARM: zynq: DT: Clarify Xilinx Zynq platform 2014-07-30 13:26:54 +02:00