From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754894AbcIFGEV (ORCPT ); Tue, 6 Sep 2016 02:04:21 -0400 Received: from mail-pf0-f169.google.com ([209.85.192.169]:36660 "EHLO mail-pf0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752565AbcIFGES (ORCPT ); Tue, 6 Sep 2016 02:04:18 -0400 Subject: Re: [PATCH v6 1/8] binding-doc: power: pwrseq-generic: add binding doc for generic power sequence library To: Peter Chen References: <1471252398-957-1-git-send-email-peter.chen@nxp.com> <1471252398-957-2-git-send-email-peter.chen@nxp.com> <6832cc55-831a-1188-4878-bbbf0b3c3be8@linaro.org> <20160902010030.GA11262@shlinux2> Cc: Peter Chen , gregkh@linuxfoundation.org, stern@rowland.harvard.edu, ulf.hansson@linaro.org, broonie@kernel.org, sre@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, dbaryshkov@gmail.com, dwmw3@infradead.org, k.kozlowski@samsung.com, linux-arm-kernel@lists.infradead.org, p.zabel@pengutronix.de, devicetree@vger.kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, linux-usb@vger.kernel.org, arnd@arndb.de, s.hauer@pengutronix.de, mail@maciej.szmigiero.name, troy.kisky@boundarydevices.com, festevam@gmail.com, oscar@naiandei.net, stephen.boyd@linaro.org, linux-pm@vger.kernel.org, stillcompiling@gmail.com, linux-kernel@vger.kernel.org, mka@chromium.org From: Vaibhav Hiremath Message-ID: <3b904eb8-8f32-845e-8b9d-78b7d79ef024@linaro.org> Date: Tue, 6 Sep 2016 11:34:08 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20160902010030.GA11262@shlinux2> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Friday 02 September 2016 06:30 AM, Peter Chen wrote: > On Thu, Sep 01, 2016 at 01:33:22PM +0530, Vaibhav Hiremath wrote: >> >> On Monday 15 August 2016 02:43 PM, Peter Chen wrote: >>> Add binding doc for generic power sequence library. >>> >>> Signed-off-by: Peter Chen >>> Acked-by: Philipp Zabel >>> Acked-by: Rob Herring >>> --- >>> .../bindings/power/pwrseq/pwrseq-generic.txt | 48 ++++++++++++++++++++++ >>> 1 file changed, 48 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt >>> >>> diff --git a/Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt b/Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt >>> new file mode 100644 >>> index 0000000..ebf0d47 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt >>> @@ -0,0 +1,48 @@ >>> +The generic power sequence library >>> + >>> +Some hard-wired devices (eg USB/MMC) need to do power sequence before >>> +the device can be enumerated on the bus, the typical power sequence >>> +like: enable USB PHY clock, toggle reset pin, etc. But current >>> +Linux device driver lacks of such code to do it, it may cause some >>> +hard-wired devices works abnormal or can't be recognized by >>> +controller at all. The power sequence will be done before this device >>> +can be found at the bus. >>> + >>> +The power sequence properties is under the device node. >>> + >>> +Optional properties: >>> +- clocks: the input clocks for device. >>> +- reset-gpios: Should specify the GPIO for reset. >>> +- reset-duration-us: the duration in microsecond for assert reset signal. >>> + >>> +Below is the example of USB power sequence properties on USB device >>> +nodes which have two level USB hubs. >>> + >>> +&usbotg1 { >>> + vbus-supply = <®_usb_otg1_vbus>; >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&pinctrl_usb_otg1_id>; >>> + status = "okay"; >>> + >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + genesys: hub@1 { >>> + compatible = "usb5e3,608"; >>> + reg = <1>; >>> + >>> + clocks = <&clks IMX6SX_CLK_CKO>; >>> + reset-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* hub reset pin */ >>> + reset-duration-us = <10>; >>> + >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + asix: ethernet@1 { >>> + compatible = "usbb95,1708"; >> So I assume, with our recent discussion and the change >> we are proposing, the library would have some knowledge >> about this compatible string, right? > Yes > >> what I was asking on other email was, how are you connecting >> multiple power sequence libraries to their respective consumers ? >> > The consumers has its of_node, then it can find related power sequence > library according to compatible string. > Exactly. Thats what I was referring and wanted to confirm. Thanks, Vaibhav -- Thanks, Vaibhav