Skip to content

Commit

Permalink
Documentation: devicetree: Add new binding for PSCIv0.2
Browse files Browse the repository at this point in the history
The PSCI v0.2+ spec defines standard values for PSCI function IDs.
Add a new binding entry so that pre v0.2 implementations can
use DT entries for function IDs and v0.2+ implementations use
standard entries as defined by the PSCIv0.2 specification.

Signed-off-by: Ashwin Chaugule <ashwin.chaugule@linaro.org>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
  • Loading branch information
Ashwin Chaugule committed May 15, 2014
1 parent e71246a commit e1cd3b3
Showing 1 changed file with 36 additions and 1 deletion.
37 changes: 36 additions & 1 deletion Documentation/devicetree/bindings/arm/psci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,15 @@ to #0.

Main node required properties:

- compatible : Must be "arm,psci"
- compatible : should contain at least one of:

* "arm,psci" : for implementations complying to PSCI versions prior to
0.2. For these cases function IDs must be provided.

* "arm,psci-0.2" : for implementations complying to PSCI 0.2. Function
IDs are not required and should be ignored by an OS with PSCI 0.2
support, but are permitted to be present for compatibility with
existing software when "arm,psci" is later in the compatible list.

- method : The method of calling the PSCI firmware. Permitted
values are:
Expand All @@ -45,6 +53,8 @@ Main node optional properties:

Example:

Case 1: PSCI v0.1 only.

psci {
compatible = "arm,psci";
method = "smc";
Expand All @@ -53,3 +63,28 @@ Example:
cpu_on = <0x95c10002>;
migrate = <0x95c10003>;
};


Case 2: PSCI v0.2 only

psci {
compatible = "arm,psci-0.2";
method = "smc";
};

Case 3: PSCI v0.2 and PSCI v0.1.

A DTB may provide IDs for use by kernels without PSCI 0.2 support,
enabling firmware and hypervisors to support existing and new kernels.
These IDs will be ignored by kernels with PSCI 0.2 support, which will
use the standard PSCI 0.2 IDs exclusively.

psci {
compatible = "arm,psci-0.2", "arm,psci";
method = "hvc";

cpu_on = < arbitrary value >;
cpu_off = < arbitrary value >;

...
};

0 comments on commit e1cd3b3

Please sign in to comment.