Patchwork [v9,01/10] dt-bindings: opp: Introduce opp-level bindings

login
register
mail settings
Submitter Rajendra Nayak
Date Jan. 7, 2019, 10:09 a.m.
Message ID <20190107100959.14528-2-rnayak@codeaurora.org>
Download mbox | patch
Permalink /patch/693707/
State New
Headers show

Comments

Rajendra Nayak - Jan. 7, 2019, 10:09 a.m.
On some SoCs (especially from Qualcomm and MediaTek) an OPP
node needs to describe an additional level/corner value
that is then communicated to a remote microprocessor by the CPU, which
then takes some actions (like adjusting voltage values across various rails)
based on the value passed.

Describe these bindings in the opp-level bindings document.

Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
---
 .../devicetree/bindings/opp/opp-level.txt     | 29 +++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/opp/opp-level.txt
Viresh Kumar - Jan. 8, 2019, 4:49 a.m.
On 07-01-19, 15:39, Rajendra Nayak wrote:
> On some SoCs (especially from Qualcomm and MediaTek) an OPP
> node needs to describe an additional level/corner value
> that is then communicated to a remote microprocessor by the CPU, which
> then takes some actions (like adjusting voltage values across various rails)
> based on the value passed.
> 
> Describe these bindings in the opp-level bindings document.
> 
> Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
> ---
>  .../devicetree/bindings/opp/opp-level.txt     | 29 +++++++++++++++++++
>  1 file changed, 29 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/opp/opp-level.txt
> 
> diff --git a/Documentation/devicetree/bindings/opp/opp-level.txt b/Documentation/devicetree/bindings/opp/opp-level.txt
> new file mode 100644
> index 000000000000..f9134ed08164
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/opp/opp-level.txt
> @@ -0,0 +1,29 @@
> +OPP level bindings to descibe OPP nodes with corner/level values
> +
> +OPP tables for devices on some SoCs, especially from Qualcomm and
> +MediaTek require an additional platform specific corner/level
> +value to be specified.
> +This value is passed on to a Power Manager by
> +the CPU, which then takes the necessary actions to set a voltage
> +rail to an appropriate voltage based on the value passed.
> +
> +The bindings are based on top of the operating-points-v2 bindings
> +described in Documentation/devicetree/bindings/opp/opp.txt,
> +with the exception that all of the properties are now optional,
> +including the opp-hz property.
> +
> +Additional properties are described below.
> +
> +* OPP Table Node
> +
> +Required properties:
> +- compatible: Allow OPPs to express their compatibility. It should be:
> +  "operating-points-v2-level"

All this isn't required. Just define it as a regular property in
opp.txt only, just like opp-hz or something else.

Patch

diff --git a/Documentation/devicetree/bindings/opp/opp-level.txt b/Documentation/devicetree/bindings/opp/opp-level.txt
new file mode 100644
index 000000000000..f9134ed08164
--- /dev/null
+++ b/Documentation/devicetree/bindings/opp/opp-level.txt
@@ -0,0 +1,29 @@ 
+OPP level bindings to descibe OPP nodes with corner/level values
+
+OPP tables for devices on some SoCs, especially from Qualcomm and
+MediaTek require an additional platform specific corner/level
+value to be specified.
+This value is passed on to a Power Manager by
+the CPU, which then takes the necessary actions to set a voltage
+rail to an appropriate voltage based on the value passed.
+
+The bindings are based on top of the operating-points-v2 bindings
+described in Documentation/devicetree/bindings/opp/opp.txt,
+with the exception that all of the properties are now optional,
+including the opp-hz property.
+
+Additional properties are described below.
+
+* OPP Table Node
+
+Required properties:
+- compatible: Allow OPPs to express their compatibility. It should be:
+  "operating-points-v2-level"
+
+* OPP Node
+
+Required properties:
+- opp-level: On some SoC platforms an OPP node can describe a positive value
+representing a corner/level that's communicated with a remote microprocessor
+(usually called the power manager) which then translates it into a certain voltage on
+a voltage rail.