From mboxrd@z Thu Jan 1 00:00:00 1970 From: hzpeterchen@gmail.com (Peter Chen) Date: Fri, 2 Sep 2016 09:00:30 +0800 Subject: [PATCH v6 1/8] binding-doc: power: pwrseq-generic: add binding doc for generic power sequence library In-Reply-To: <6832cc55-831a-1188-4878-bbbf0b3c3be8@linaro.org> 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> Message-ID: <20160902010030.GA11262@shlinux2> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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 at 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 at 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. -- Best Regards, Peter Chen