[PATCH v6 1/8] binding-doc: power: pwrseq-generic: add binding doc for generic power sequence library

Vaibhav Hiremath vaibhav.hiremath at linaro.org
Mon Sep 5 23:04:08 PDT 2016



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 <peter.chen at nxp.com>
>>> Acked-by: Philipp Zabel <p.zabel at pengutronix.de>
>>> Acked-by: Rob Herring <robh at kernel.org>
>>> ---
>>>   .../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 = <&reg_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.
>

Exactly. Thats what I was referring and wanted to confirm.

Thanks,
Vaibhav


-- 
Thanks,
Vaibhav




More information about the linux-arm-kernel mailing list