linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: kishon@ti.com (Kishon Vijay Abraham I)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 5/6] ARM: dts: omap: update usb_otg_hs data
Date: Fri, 22 Mar 2013 14:50:05 +0530	[thread overview]
Message-ID: <514C2245.4080506@ti.com> (raw)
In-Reply-To: <514B3EEF.3080705@wwwdotorg.org>

Hi,

On Thursday 21 March 2013 10:40 PM, Stephen Warren wrote:
> On 03/21/2013 12:23 AM, kishon wrote:
>> Hi,
>>
>> On Thursday 21 March 2013 02:29 AM, Stephen Warren wrote:
>>> On 03/20/2013 03:12 AM, Kishon Vijay Abraham I wrote:
>>>> Updated the usb_otg_hs dt data to include the *phy* and *phy-names*
>>>> binding in order for the driver to use the new generic PHY framework.
>>>> Also updated the Documentation to include the binding information.
>>>
>>>> diff --git a/Documentation/devicetree/bindings/usb/omap-usb.txt
>>>> b/Documentation/devicetree/bindings/usb/omap-usb.txt
>>>> index abce256..3d6f9f6 100644
>>>> --- a/Documentation/devicetree/bindings/usb/omap-usb.txt
>>>> +++ b/Documentation/devicetree/bindings/usb/omap-usb.txt
>>>> @@ -19,6 +19,9 @@ OMAP MUSB GLUE
>>>>     - power : Should be "50". This signifies the controller can supply
>>>> upto
>>>>       100mA when operating in host mode.
>>>>     - usb-phy : the phandle for the PHY device
>>>> + - phy : the phandle for the PHY device (used by generic PHY framework)
>>>> + - phy-names : the names of the PHY corresponding to the PHYs
>>>> present in the
>>>> +   *phy* phandle.
>>>
>>> If the intent is for those properties to be generic and used by any DT
>>> binding that refers to a PHY node, I think you'd want to define those
>>> properties in e.g. Documentation/devicetree/bindings/phy/phy.txt, just
>>> like common clock/GPIO/... properties are defined in standalone common
>>> files.
>>
>> Ok. Will add it.
>>>
>>> I think you want to require that DT nodes that represent PHYs have a
>>> #phy-cells property, and that the format of the phy property be
>>> <&phy_phandle phy_specifier*>, where #phy-cells in the referenced node
>>> defines how many cells are part of phy_specifier*, just like (almost)
>>> any other DT property that references another node by phandle. That way,
>>> if a single DT node represents a HW block that implements e.g. 3 PHYs,
>>> it can use #phy-cells = <1>, and the referencing phy property can
>>> include a cell that indicates which of those 3 PHYs is being referenced.
>>
>> Currently, if a single phandle have reference to multiple PHYs, we can
>> get PHY by passing index or by name as give in phy-names.
>> I'm not sure if we have <&phy_phandle phy_specifier*>, what could that
>> phy_specifier be? Maybe phy_type?
>
> I'm not talking about the case where a consumer node references multiple
> PHYs. As you say, that is indeed handled by the driver looking at a
> particular index in the phys property, or using phy-names.
>
> I'm talking about the case where a single provider provides multiple
> PHYs. For example, consider:
>
> phys: phy {
>      compatible = "xxx";
>      reg = <...>;
>      #phy-cells = <1>;
> };
>
> That node describes an IP block that implements 3 different PHYs. The
> registers are inter-mixed in such a way that you can't split it into 3
> separate nodes each with a separate device instance. If the consumers
> simply say:
>
> phys = <&phys>;
>
> then which of the 3 PHYs are you referring to?
>
> Instead, the consumer needs to say one of:
>
> phys = <&phys 0>;
> phys = <&phys 1>;
> phys = <&phys 2>;
>
> in order to specify which of the PHYs it refers to.
>
> The number of cells in the phy property after the phandle is specified
> by the #phy-cells property in the node referred to by the phandle. The
> meaning of all those cells is defined by the binding for the phy node.
> This could include both the PHY ID (as in my example here), or whatever
> configuration information or flags the provider needs. For example, both
> GPIOs and interrupts have specifiers than describe both of these things.

Thanks for the explanation. I'll add it in my next version.
>
> For more background, take a look at almost any other binding that uses
> phandles.
>
> By the way, the property in the consumer should probably be "phys" not
> "phy" to be consistent with other similar properties (e.g. gpios,
> interrupts, ... which are all plural).
>
Ok.

Thanks
Kishon

  reply	other threads:[~2013-03-22  9:20 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-20  9:11 [PATCH v3 0/6] Generic PHY Framework Kishon Vijay Abraham I
2013-03-20  9:12 ` [PATCH v3 1/6] drivers: phy: add generic PHY framework Kishon Vijay Abraham I
2013-03-20 22:36   ` Sylwester Nawrocki
2013-03-21  5:46     ` kishon
2013-04-15 11:34   ` Grant Likely
2013-04-15 12:26     ` Kishon Vijay Abraham I
2013-04-15 19:50       ` Grant Likely
2013-04-16 10:18         ` Kishon Vijay Abraham I
2013-04-19  9:09           ` Grant Likely
2013-04-22  6:09             ` Kishon Vijay Abraham I
2013-03-20  9:12 ` [PATCH v3 2/6] usb: phy: omap-usb2: use the new " Kishon Vijay Abraham I
2013-03-20  9:12 ` [PATCH v3 3/6] usb: otg: twl4030: " Kishon Vijay Abraham I
2013-03-20  9:12 ` [PATCH v3 4/6] ARM: OMAP: USB: Add phy binding information Kishon Vijay Abraham I
2013-03-20 16:51   ` Tony Lindgren
2013-03-21  5:48     ` kishon
2013-03-20  9:12 ` [PATCH v3 5/6] ARM: dts: omap: update usb_otg_hs data Kishon Vijay Abraham I
2013-03-20 20:59   ` Stephen Warren
2013-03-21  6:23     ` kishon
2013-03-21 17:10       ` Stephen Warren
2013-03-22  9:20         ` Kishon Vijay Abraham I [this message]
2013-03-20  9:12 ` [PATCH v3 6/6] usb: musb: omap2430: use the new generic PHY framework Kishon Vijay Abraham I
2013-04-15 10:20 ` [PATCH v3 0/6] Generic PHY Framework Grant Likely
2013-04-15 10:36   ` Kishon Vijay Abraham I
2013-04-15 11:27     ` Sylwester Nawrocki
2013-04-15 12:26     ` Grant Likely
2013-04-15 12:33       ` Kishon Vijay Abraham I
2013-04-19 10:52 ` Sekhar Nori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=514C2245.4080506@ti.com \
    --to=kishon@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).