From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756711AbdGLGfI (ORCPT ); Wed, 12 Jul 2017 02:35:08 -0400 Received: from mail-pg0-f41.google.com ([74.125.83.41]:35747 "EHLO mail-pg0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756694AbdGLGfF (ORCPT ); Wed, 12 Jul 2017 02:35:05 -0400 From: Viresh Kumar To: Greg Kroah-Hartman , Rob Herring , Mark Rutland Cc: Viresh Kumar , Vincent Guittot , Mark Brown , Stephen Boyd , Rajendra Nayak , Shiraz Hashim , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org Subject: [RFC v2 5/6] drivers: boot_constraint: Add initial DT bindings Date: Wed, 12 Jul 2017 12:04:35 +0530 Message-Id: <0610277aef9830cff53b7b53cf41cc54886fdc7f.1499770771.git.viresh.kumar@linaro.org> X-Mailer: git-send-email 2.13.0.71.gd7076ec9c9cb In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This adds device tree bindings for boot constraints. Only power supply constraint types are supported currently. Signed-off-by: Viresh Kumar --- .../devicetree/bindings/boot-constraints.txt | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Documentation/devicetree/bindings/boot-constraints.txt diff --git a/Documentation/devicetree/bindings/boot-constraints.txt b/Documentation/devicetree/bindings/boot-constraints.txt new file mode 100644 index 000000000000..9a01ea1e6e72 --- /dev/null +++ b/Documentation/devicetree/bindings/boot-constraints.txt @@ -0,0 +1,68 @@ +BOOT CONSTRAINTS +================ + +Some devices are powered ON by the bootloader before the bootloader handovers +control to the Operating System (OS). It maybe important for those devices to +keep working until the time the OS takes over and starts configuring the devices +again. + +A typical example of that can be the LCD controller, which is used by the +bootloaders to show image(s) while the platform is booting into the Operating +System. The LCD controller can be using some resources, like clk, supplies, etc, +that are shared between several devices. These shared resources should be +configured to satisfy need of all the users. If another device's (X) driver gets +probed before the LCD controller driver in this case, then it may end up +reconfiguring these resources to ranges satisfying the current users (only +device X) and that can make the LCD screen unstable. + +This document describes the binding used to specify such boot constraints to the +OS. + +Power Supply Constraints: +------------------------- + +This describes the binding of constraints for the power supply resources. These +must be present directly in the consumer device's node. + +Required properties: +- boot-constraint-supplies: + + This contains an array of (one or more) strings, each of which must match with + the of a corresponding -supply property in the same device node. + This is required for the OS to know about the power supplies that are + configured (and enabled) by the bootloader for the consumer device. + + It is assumed that the power supply is already enabled by the bootloader. + +- boot-constraint-uV: + + This contains an array of {min max} microvolt tuples for the power supplies in + the same order in which they are present in "boot-constraint-supplies" + property. Here, min is the smallest and max is the largest voltage that the + consumer (corresponding to the device node where this property is present) may + set. + +Example of a consumer device node (mmc) referencing two regulators and setting +their boot constraints (twl_reg1 and twl_reg2): + + twl_reg1: regulator@0 { + ... + ... + ... + }; + + twl_reg2: regulator@1 { + ... + ... + ... + }; + + mmc: mmc@0x0 { + ... + ... + vmmc-supply = <&twl_reg1>; + vmmcaux-supply = <&twl_reg2>; + boot-constraint-supplies = "vmmc", "vmmcaux"; + boot-constraint-uV = <1800000 2000000>, /* vmmc */ + <2000000 2000000>; /* vmmcaux */ + }; -- 2.13.0.71.gd7076ec9c9cb