Re: [PATCH v3] usb: hcd: add generic PHY support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,


On Sat, Jul 5, 2014 at 4:56 AM, Sergei Shtylyov
<sergei.shtylyov@xxxxxxxxxxxxxxxxxx> wrote:
> Hello.
>
>
> On 06/25/2014 02:32 PM, Vivek Gautam wrote:
>
>>>  From Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
>
>
>>> Add the generic PHY support, analogous to the USB PHY support. Intended
>>> it to be
>>> used with the PCI EHCI/OHCI drivers and the xHCI platform driver.
>
>
>>> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
>>> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
>>> ---
>>> This patch is against the 'usb-next' branch of Greg KH's 'usb.git' repo.
>>> (commit id = 70d2f61fc7559df3d5be32a9d01efdb9ee1b11d8)
>
>
>>> Changes in version 3:
>>>   - rebased the current usb-next.
>>>   - I tested this patch on my R-Car H2 USB 3.0 driver (not merged yet)
>
>
>>>   drivers/usb/core/hcd.c  |   42
>>> ++++++++++++++++++++++++++++++++++++++++--
>>>   include/linux/usb/hcd.h |    3 ++-
>>>   2 files changed, 42 insertions(+), 3 deletions(-)
>
>
>>> diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
>>> index bec31e2..2841149 100644
>>> --- a/drivers/usb/core/hcd.c
>>> +++ b/drivers/usb/core/hcd.c
>
> [...]
>
>>> @@ -2649,6 +2650,29 @@ int usb_add_hcd(struct usb_hcd *hcd,
>>>                  }
>>>          }
>>>
>>> +       if (IS_ENABLED(CONFIG_GENERIC_PHY)) {
>>> +               struct phy *phy = phy_get(hcd->self.controller, "usb");
>
>
>> The xHCI host controller is going to have two controllers (main and
>> shared) USB2 controller and
>> USB3 controller. So they will have two different PHYs.
>
>
>    Not necessarily -- in my case there's going be one PHY, even for xHCI.

ok.

>
>
>> For example, the DWC3, which has a xHCI controller, has to have 2
>> different phys -- usb2-phy and usb3-phy.
>
>
>    Yes, I understood that.
>
>
>> So, how the two 'hcd's' will be able to differentiate and get two separate
>> PHYs.
>
>
>    Apparently, by name? I don't see any other way...

true, by name string only.

>
>
>> Unfortunately, the xHCI with DWC3 doesn't have a device node too, so
>> it needs to have
>> a way out to look up the PHYs (in a way suggested by Heikki :
>>      usb: dwc3: host: convey the PHYs to xhci
>>      (https://lkml.org/lkml/2014/6/5/585) and related patch series.
>> But this also has an issue, since we need to have two separate
>> constant strings to distinguish between the two PHYs,
>> while creating the lookup table.
>
>
>    I'm sorry, where's the issue?

i actually thought of the phy_get() in core/hcd.c, where we would need
more than one
name string for different PHYs. But now things are clear after your explanation.

>
>
>> So how do you suggest me to get link the two PHYs in DWC3 with the
>> XHCI host controller, the issue which i am
>> facing currently while working with the patch:
>> usb: host: xhci-plat: Add support to get PHYs    and the related patch
>> series, since we need to handle PHY from the hcd.
>
>
>    Well, I've already spoke out in another thread: you'll have to carry on
> with your approach, ignoring the patch starting this thread. I'm sorry for
> side-tracking you...

Thanks Sergei for clearing my doubts and the confusion.



-- 
Best Regards
Vivek Gautam
Samsung R&D Institute, Bangalore
India
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux