From patchwork Mon Mar 20 09:32:14 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 95520 Delivered-To: patch@linaro.org Received: by 10.140.89.233 with SMTP id v96csp923004qgd; Mon, 20 Mar 2017 05:46:18 -0700 (PDT) X-Received: by 10.98.95.197 with SMTP id t188mr15951650pfb.150.1490013978080; Mon, 20 Mar 2017 05:46:18 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a90si5430046plc.67.2017.03.20.05.46.17; Mon, 20 Mar 2017 05:46:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755019AbdCTMqP (ORCPT + 21 others); Mon, 20 Mar 2017 08:46:15 -0400 Received: from mail-pf0-f181.google.com ([209.85.192.181]:34247 "EHLO mail-pf0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753359AbdCTJcd (ORCPT ); Mon, 20 Mar 2017 05:32:33 -0400 Received: by mail-pf0-f181.google.com with SMTP id p189so40262450pfp.1 for ; Mon, 20 Mar 2017 02:32:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=BdK2H2urZxRoBoixHY0yBnPF6Gu4wHCwJ7UMu2VzES0=; b=M65UiNjK6wf/NQxDWoSlRxxJ4uYNIn01bJtsWb7v0zGNV3zviUzhQ4ge9YO/uwhOHr qmVXULtd358cA9eiCMdEwgRarYDDEwZLYLRfP8p4Xd9Sr1QQ5Og2LgHIeclgliqv/atN rFPQNtmiXJlkAkgNav7kknrpuMV8KytJm60IE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=BdK2H2urZxRoBoixHY0yBnPF6Gu4wHCwJ7UMu2VzES0=; b=JJMazEsCLRPwp140exTGQj+OEt/DIVLl/An9eKdrLS/1GHatGRyfH5UwnYUstwz/rw NMB7GycwZBxNSgaoriS59wIH9tj7WZSOyAzb3yhusJAndxnN065GomugJIm7QRSEne95 LupysbYUJU6sIG0o6dLxFiU0JJG8nBDPEOkJwWD7xiZZ7p3BGRafkJmsryfBNBDyeZjN 66g+bIe4SGon+xNaZNl5RFVlihDZnxOMig8fefeBkgTYvhvMY3lkQeXNryMEEOc9SYmt NLzxMtbmgv5ppzuA6cPwlcetcES1t3AbcRZEFl5G+4gISdMdF7Wg0kU0yo6BcJNXpW/e GJ9Q== X-Gm-Message-State: AFeK/H0MV/RlJ2byKSd/42I/i8HDHCO2HcjvoE9sAWv3MouyghBnJBExFzZB8a/E0fM+S7yX X-Received: by 10.84.232.70 with SMTP id f6mr2143518pln.102.1490002351885; Mon, 20 Mar 2017 02:32:31 -0700 (PDT) Received: from localhost ([122.171.239.200]) by smtp.gmail.com with ESMTPSA id u29sm25818833pfa.123.2017.03.20.02.32.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Mar 2017 02:32:31 -0700 (PDT) From: Viresh Kumar To: Rafael Wysocki , ulf.hansson@linaro.org, Kevin Hilman Cc: linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Vincent Guittot , Stephen Boyd , Nishanth Menon , robh+dt@kernel.org, lina.iyer@linaro.org, rnayak@codeaurora.org, Viresh Kumar , devicetree@vger.kernel.org Subject: [PATCH V4 2/9] PM / Domains: Use OPP tables for power-domains Date: Mon, 20 Mar 2017 15:02:14 +0530 Message-Id: <5619ac7777689f282f8aafabbde22d71b46a979b.1490001099.git.viresh.kumar@linaro.org> X-Mailer: git-send-email 2.12.0.432.g71c3a4f4ba37 In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The OPP table bindings contains all the necessary fields to support power-domains now. Update the power-domain bindings to allow "operating-points-v2" to be present within the power-domain node. Also allow consumer devices, that don't use OPP tables, to specify the parent power-domain's performance level using the "domain-performance-state" property. Signed-off-by: Viresh Kumar --- .../devicetree/bindings/power/power_domain.txt | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) -- 2.12.0.432.g71c3a4f4ba37 diff --git a/Documentation/devicetree/bindings/power/power_domain.txt b/Documentation/devicetree/bindings/power/power_domain.txt index 723e1ad937da..5db112fa5d7c 100644 --- a/Documentation/devicetree/bindings/power/power_domain.txt +++ b/Documentation/devicetree/bindings/power/power_domain.txt @@ -38,6 +38,9 @@ phandle arguments (so called PM domain specifiers) of length specified by the domain's idle states. In the absence of this property, the domain would be considered as capable of being powered-on or powered-off. +- operating-points-v2 : This describes the performance states of a PM domain. + Refer to ../opp/opp.txt for more information. + Example: power: power-controller@12340000 { @@ -118,4 +121,43 @@ The node above defines a typical PM domain consumer device, which is located inside a PM domain with index 0 of a power controller represented by a node with the label "power". +Optional properties: +- domain-performance-state: A positive integer value representing the minimum + power-domain performance level required by the consumer device. The integer + value '0' represents the lowest performance level and the higher values + represent higher performance levels. The value of "domain-performance-state" + field should match the "domain-performance-state" field of one of the OPP + nodes in the parent power-domain's OPP table. + + + +Example: + + domain_opp_table: opp_table { + compatible = "operating-points-v2"; + + opp@1 { + domain-performance-state = <1>; + opp-microvolt = <975000 970000 985000>; + }; + opp@2 { + domain-performance-state = <2>; + opp-microvolt = <1075000 1000000 1085000>; + }; + }; + + parent: power-controller@12340000 { + compatible = "foo,power-controller"; + reg = <0x12340000 0x1000>; + #power-domain-cells = <0>; + operating-points-v2 = <&domain_opp_table>; + }; + + leaky-device@12350000 { + compatible = "foo,i-leak-current"; + reg = <0x12350000 0x1000>; + power-domains = <&power 0>; + domain-performance-state = <2>; + }; + [1]. Documentation/devicetree/bindings/power/domain-idle-state.txt