All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Vivek Gautam <gautamvivek1987@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	linux-doc@vger.kernel.org, Tony Lindgren <tony@atomide.com>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Rob Landley <rob@landley.net>,
	Grant Likely <grant.likely@linaro.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	george.cherian@ti.com, Ian Campbell <ian.campbell@citrix.com>,
	Pawel Moll <pawel.moll@arm.com>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Rob Herring <rob.herring@calxeda.com>,
	linux-omap@vger.kernel.org,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	rogerq@ti.com, Greg KH <gregkh@linuxfoundation.org>,
	Linux USB Mailing List <linux-usb@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Felipe Balbi <balbi@ti.com>,
	bcousson@baylibre.com, galak@codeaurora.org
Subject: Re: [PATCH 2/7] usb: dwc3: adapt dwc3 core to use Generic PHY Framework
Date: Thu, 10 Oct 2013 15:58:06 +0530	[thread overview]
Message-ID: <52568136.9030900@ti.com> (raw)
In-Reply-To: <CAFp+6iF0tK_+E-40QhTCyEOaoXt_6aXyT_B6NLo9h5Emd4mMCg@mail.gmail.com>

On Thursday 12 September 2013 03:57 PM, Vivek Gautam wrote:
> On Thu, Sep 12, 2013 at 3:40 PM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>> On Thursday 12 September 2013 02:57 PM, Vivek Gautam wrote:
>>> Hi Kishon,
>>>
>>>
>>> On Mon, Sep 2, 2013 at 9:13 PM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>>>> Adapted dwc3 core to use the Generic PHY Framework. So for init, exit,
>>>> power_on and power_off the following APIs are used phy_init(), phy_exit(),
>>>> phy_power_on() and phy_power_off().
>>>>
>>>> However using the old USB phy library wont be removed till the PHYs of all
>>>> other SoC's using dwc3 core is adapted to the Generic PHY Framework.
>>>>
>>>> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
>>>> ---
>>>>  Documentation/devicetree/bindings/usb/dwc3.txt |    6 ++-
>>>>  drivers/usb/dwc3/Kconfig                       |    1 +
>>>>  drivers/usb/dwc3/core.c                        |   49 ++++++++++++++++++++++++
>>>>  drivers/usb/dwc3/core.h                        |    7 ++++
>>>>  4 files changed, 61 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
>>>> index e807635..471366d 100644
>>>> --- a/Documentation/devicetree/bindings/usb/dwc3.txt
>>>> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt
>>>> @@ -6,11 +6,13 @@ Required properties:
>>>>   - compatible: must be "snps,dwc3"
>>>>   - reg : Address and length of the register set for the device
>>>>   - interrupts: Interrupts used by the dwc3 controller.
>>>> +
>>>> +Optional properties:
>>>>   - usb-phy : array of phandle for the PHY device.  The first element
>>>>     in the array is expected to be a handle to the USB2/HS PHY and
>>>>     the second element is expected to be a handle to the USB3/SS PHY
>>>> -
>>>> -Optional properties:
>>>> + - phys: from the *Generic PHY* bindings
>>>> + - phy-names: from the *Generic PHY* bindings
>>>>   - tx-fifo-resize: determines if the FIFO *has* to be reallocated.
>>>>
>>>>  This is usually a subnode to DWC3 glue to which it is connected.
>>>> diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
>>>> index cfc16dd..ad7ce83 100644
>>>> --- a/drivers/usb/dwc3/Kconfig
>>>> +++ b/drivers/usb/dwc3/Kconfig
>>>> @@ -3,6 +3,7 @@ config USB_DWC3
>>>>         depends on (USB || USB_GADGET) && GENERIC_HARDIRQS && HAS_DMA
>>>>         depends on EXTCON
>>>>         select USB_PHY
>>>> +       select GENERIC_PHY
>>>>         select USB_XHCI_PLATFORM if USB_SUPPORT && USB_XHCI_HCD
>>>>         help
>>>>           Say Y or M here if your system has a Dual Role SuperSpeed
>>>> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
>>>> index 428c29e..485d365 100644
>>>> --- a/drivers/usb/dwc3/core.c
>>>> +++ b/drivers/usb/dwc3/core.c
>>>> @@ -82,6 +82,12 @@ static void dwc3_core_soft_reset(struct dwc3 *dwc)
>>>>
>>>>         usb_phy_init(dwc->usb2_phy);
>>>>         usb_phy_init(dwc->usb3_phy);
>>>> +
>>>> +       if (dwc->usb2_generic_phy)
>>>> +               phy_init(dwc->usb2_generic_phy);
>>>> +       if (dwc->usb3_generic_phy)
>>>> +               phy_init(dwc->usb3_generic_phy);
>>>> +
>>>>         mdelay(100);
>>>>
>>>>         /* Clear USB3 PHY reset */
>>>> @@ -343,6 +349,11 @@ static void dwc3_core_exit(struct dwc3 *dwc)
>>>>  {
>>>>         usb_phy_shutdown(dwc->usb2_phy);
>>>>         usb_phy_shutdown(dwc->usb3_phy);
>>>> +
>>>> +       if (dwc->usb2_generic_phy)
>>>> +               phy_power_off(dwc->usb2_generic_phy);
>>>> +       if (dwc->usb3_generic_phy)
>>>> +               phy_power_off(dwc->usb3_generic_phy);
>>>>  }
>>>>
>>>>  #define DWC3_ALIGN_MASK                (16 - 1)
>>>> @@ -427,6 +438,23 @@ static int dwc3_probe(struct platform_device *pdev)
>>>>                 dwc->usb3_phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB3);
>>>>         }
>>>>
>>>> +       if (of_property_read_bool(node, "phys") || pdata->has_phy) {
>>>> +               dwc->usb2_generic_phy = devm_phy_get(dev, "usb2-phy");
>>>> +               if (IS_ERR(dwc->usb2_generic_phy)) {
>>>> +                       dev_err(dev, "no usb2 phy configured yet");
>>>> +                       return PTR_ERR(dwc->usb2_generic_phy);
>>>> +               }
>>>
>>> I have a doubt here.
>>> As i can see in the current phy drivers structuring, for OMAP there
>>> are two phy drivers :
>>> omap phy-omap-usb2 (talking to musb controller)
>>
>> It talks to dwc3 controller also ;-)
> 
> Ok
> 
>>
>>> and phy-omap-usb3(talking to dwc3 controller).
>>>
>>> Now dwc3 controller requests both usb2-phy (supported by phy-omap-usb2
>>> ?) and usb3-phy (supported by phy-omap-usb3 ?).
>>> But phy-omap-usb2 is not the one designated to talk to DWC3
>>> controller, then why does still DWC3 want to request usb2-phy, which
>>> end of the day will be phy-omap-usb2.
>>> May be i am wrong here since i don't have knowledge about OMAP h/w architecture.
>>>
>>> Is it like phy-omap-usb2 includes UTMI phys for both musb controller
>>> as well as dwc3 controller ?
>>
>> right. It's needed for dwc3 too. The same USB2 PHY IP is used for both MUSB in
>> OMAP2+ platforms and DWC3 in OMAP5.
> 
> Ok, but on Samsung's exynos5 series of SoCs, the USB2.0 controller has
> a separate USB-PHY interface talking to phy-samsung-usb2 driver;
> and DWC3 drd controller has separate USB-PHY interface (including both
> UTMI+ and PIPE3 control registers) talking to phy-samsung-usb3 driver.
> So in this case DWC3 doesn't need phy-samsung-usb2 at all. It's phy is
> configured by just phy-samsung-usb3 driver only.
> So don't you think DWC3 driver should have the flexibility to have
> either (mostly usb3-phy) _or_ both "usb2-phy" and "usb3-phy".
> Thereby,in case of Samsung driver, DWC3 will just have "usb3-phy" and
> that will be enough to get things working.
> Want your opinions about it.

Should we have separate properties to indicate whether it has a usb2-phy or
usb3-phy instead of checking for *phys* property?

Thanks
Kishon

WARNING: multiple messages have this Message-ID (diff)
From: kishon@ti.com (Kishon Vijay Abraham I)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/7] usb: dwc3: adapt dwc3 core to use Generic PHY Framework
Date: Thu, 10 Oct 2013 15:58:06 +0530	[thread overview]
Message-ID: <52568136.9030900@ti.com> (raw)
In-Reply-To: <CAFp+6iF0tK_+E-40QhTCyEOaoXt_6aXyT_B6NLo9h5Emd4mMCg@mail.gmail.com>

On Thursday 12 September 2013 03:57 PM, Vivek Gautam wrote:
> On Thu, Sep 12, 2013 at 3:40 PM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>> On Thursday 12 September 2013 02:57 PM, Vivek Gautam wrote:
>>> Hi Kishon,
>>>
>>>
>>> On Mon, Sep 2, 2013 at 9:13 PM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>>>> Adapted dwc3 core to use the Generic PHY Framework. So for init, exit,
>>>> power_on and power_off the following APIs are used phy_init(), phy_exit(),
>>>> phy_power_on() and phy_power_off().
>>>>
>>>> However using the old USB phy library wont be removed till the PHYs of all
>>>> other SoC's using dwc3 core is adapted to the Generic PHY Framework.
>>>>
>>>> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
>>>> ---
>>>>  Documentation/devicetree/bindings/usb/dwc3.txt |    6 ++-
>>>>  drivers/usb/dwc3/Kconfig                       |    1 +
>>>>  drivers/usb/dwc3/core.c                        |   49 ++++++++++++++++++++++++
>>>>  drivers/usb/dwc3/core.h                        |    7 ++++
>>>>  4 files changed, 61 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
>>>> index e807635..471366d 100644
>>>> --- a/Documentation/devicetree/bindings/usb/dwc3.txt
>>>> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt
>>>> @@ -6,11 +6,13 @@ Required properties:
>>>>   - compatible: must be "snps,dwc3"
>>>>   - reg : Address and length of the register set for the device
>>>>   - interrupts: Interrupts used by the dwc3 controller.
>>>> +
>>>> +Optional properties:
>>>>   - usb-phy : array of phandle for the PHY device.  The first element
>>>>     in the array is expected to be a handle to the USB2/HS PHY and
>>>>     the second element is expected to be a handle to the USB3/SS PHY
>>>> -
>>>> -Optional properties:
>>>> + - phys: from the *Generic PHY* bindings
>>>> + - phy-names: from the *Generic PHY* bindings
>>>>   - tx-fifo-resize: determines if the FIFO *has* to be reallocated.
>>>>
>>>>  This is usually a subnode to DWC3 glue to which it is connected.
>>>> diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
>>>> index cfc16dd..ad7ce83 100644
>>>> --- a/drivers/usb/dwc3/Kconfig
>>>> +++ b/drivers/usb/dwc3/Kconfig
>>>> @@ -3,6 +3,7 @@ config USB_DWC3
>>>>         depends on (USB || USB_GADGET) && GENERIC_HARDIRQS && HAS_DMA
>>>>         depends on EXTCON
>>>>         select USB_PHY
>>>> +       select GENERIC_PHY
>>>>         select USB_XHCI_PLATFORM if USB_SUPPORT && USB_XHCI_HCD
>>>>         help
>>>>           Say Y or M here if your system has a Dual Role SuperSpeed
>>>> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
>>>> index 428c29e..485d365 100644
>>>> --- a/drivers/usb/dwc3/core.c
>>>> +++ b/drivers/usb/dwc3/core.c
>>>> @@ -82,6 +82,12 @@ static void dwc3_core_soft_reset(struct dwc3 *dwc)
>>>>
>>>>         usb_phy_init(dwc->usb2_phy);
>>>>         usb_phy_init(dwc->usb3_phy);
>>>> +
>>>> +       if (dwc->usb2_generic_phy)
>>>> +               phy_init(dwc->usb2_generic_phy);
>>>> +       if (dwc->usb3_generic_phy)
>>>> +               phy_init(dwc->usb3_generic_phy);
>>>> +
>>>>         mdelay(100);
>>>>
>>>>         /* Clear USB3 PHY reset */
>>>> @@ -343,6 +349,11 @@ static void dwc3_core_exit(struct dwc3 *dwc)
>>>>  {
>>>>         usb_phy_shutdown(dwc->usb2_phy);
>>>>         usb_phy_shutdown(dwc->usb3_phy);
>>>> +
>>>> +       if (dwc->usb2_generic_phy)
>>>> +               phy_power_off(dwc->usb2_generic_phy);
>>>> +       if (dwc->usb3_generic_phy)
>>>> +               phy_power_off(dwc->usb3_generic_phy);
>>>>  }
>>>>
>>>>  #define DWC3_ALIGN_MASK                (16 - 1)
>>>> @@ -427,6 +438,23 @@ static int dwc3_probe(struct platform_device *pdev)
>>>>                 dwc->usb3_phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB3);
>>>>         }
>>>>
>>>> +       if (of_property_read_bool(node, "phys") || pdata->has_phy) {
>>>> +               dwc->usb2_generic_phy = devm_phy_get(dev, "usb2-phy");
>>>> +               if (IS_ERR(dwc->usb2_generic_phy)) {
>>>> +                       dev_err(dev, "no usb2 phy configured yet");
>>>> +                       return PTR_ERR(dwc->usb2_generic_phy);
>>>> +               }
>>>
>>> I have a doubt here.
>>> As i can see in the current phy drivers structuring, for OMAP there
>>> are two phy drivers :
>>> omap phy-omap-usb2 (talking to musb controller)
>>
>> It talks to dwc3 controller also ;-)
> 
> Ok
> 
>>
>>> and phy-omap-usb3(talking to dwc3 controller).
>>>
>>> Now dwc3 controller requests both usb2-phy (supported by phy-omap-usb2
>>> ?) and usb3-phy (supported by phy-omap-usb3 ?).
>>> But phy-omap-usb2 is not the one designated to talk to DWC3
>>> controller, then why does still DWC3 want to request usb2-phy, which
>>> end of the day will be phy-omap-usb2.
>>> May be i am wrong here since i don't have knowledge about OMAP h/w architecture.
>>>
>>> Is it like phy-omap-usb2 includes UTMI phys for both musb controller
>>> as well as dwc3 controller ?
>>
>> right. It's needed for dwc3 too. The same USB2 PHY IP is used for both MUSB in
>> OMAP2+ platforms and DWC3 in OMAP5.
> 
> Ok, but on Samsung's exynos5 series of SoCs, the USB2.0 controller has
> a separate USB-PHY interface talking to phy-samsung-usb2 driver;
> and DWC3 drd controller has separate USB-PHY interface (including both
> UTMI+ and PIPE3 control registers) talking to phy-samsung-usb3 driver.
> So in this case DWC3 doesn't need phy-samsung-usb2 at all. It's phy is
> configured by just phy-samsung-usb3 driver only.
> So don't you think DWC3 driver should have the flexibility to have
> either (mostly usb3-phy) _or_ both "usb2-phy" and "usb3-phy".
> Thereby,in case of Samsung driver, DWC3 will just have "usb3-phy" and
> that will be enough to get things working.
> Want your opinions about it.

Should we have separate properties to indicate whether it has a usb2-phy or
usb3-phy instead of checking for *phys* property?

Thanks
Kishon

WARNING: multiple messages have this Message-ID (diff)
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Vivek Gautam <gautamvivek1987@gmail.com>
Cc: <rogerq@ti.com>, Felipe Balbi <balbi@ti.com>,
	<bcousson@baylibre.com>, Tony Lindgren <tony@atomide.com>,
	Rob Herring <rob.herring@calxeda.com>,
	Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Grant Likely <grant.likely@linaro.org>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	<galak@codeaurora.org>, Stephen Warren <swarren@wwwdotorg.org>,
	Ian Campbell <ian.campbell@citrix.com>,
	Rob Landley <rob@landley.net>, <george.cherian@ti.com>,
	Greg KH <gregkh@linuxfoundation.org>, <linux-doc@vger.kernel.org>,
	<linux-omap@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Linux USB Mailing List <linux-usb@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/7] usb: dwc3: adapt dwc3 core to use Generic PHY Framework
Date: Thu, 10 Oct 2013 15:58:06 +0530	[thread overview]
Message-ID: <52568136.9030900@ti.com> (raw)
In-Reply-To: <CAFp+6iF0tK_+E-40QhTCyEOaoXt_6aXyT_B6NLo9h5Emd4mMCg@mail.gmail.com>

On Thursday 12 September 2013 03:57 PM, Vivek Gautam wrote:
> On Thu, Sep 12, 2013 at 3:40 PM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>> On Thursday 12 September 2013 02:57 PM, Vivek Gautam wrote:
>>> Hi Kishon,
>>>
>>>
>>> On Mon, Sep 2, 2013 at 9:13 PM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>>>> Adapted dwc3 core to use the Generic PHY Framework. So for init, exit,
>>>> power_on and power_off the following APIs are used phy_init(), phy_exit(),
>>>> phy_power_on() and phy_power_off().
>>>>
>>>> However using the old USB phy library wont be removed till the PHYs of all
>>>> other SoC's using dwc3 core is adapted to the Generic PHY Framework.
>>>>
>>>> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
>>>> ---
>>>>  Documentation/devicetree/bindings/usb/dwc3.txt |    6 ++-
>>>>  drivers/usb/dwc3/Kconfig                       |    1 +
>>>>  drivers/usb/dwc3/core.c                        |   49 ++++++++++++++++++++++++
>>>>  drivers/usb/dwc3/core.h                        |    7 ++++
>>>>  4 files changed, 61 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
>>>> index e807635..471366d 100644
>>>> --- a/Documentation/devicetree/bindings/usb/dwc3.txt
>>>> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt
>>>> @@ -6,11 +6,13 @@ Required properties:
>>>>   - compatible: must be "snps,dwc3"
>>>>   - reg : Address and length of the register set for the device
>>>>   - interrupts: Interrupts used by the dwc3 controller.
>>>> +
>>>> +Optional properties:
>>>>   - usb-phy : array of phandle for the PHY device.  The first element
>>>>     in the array is expected to be a handle to the USB2/HS PHY and
>>>>     the second element is expected to be a handle to the USB3/SS PHY
>>>> -
>>>> -Optional properties:
>>>> + - phys: from the *Generic PHY* bindings
>>>> + - phy-names: from the *Generic PHY* bindings
>>>>   - tx-fifo-resize: determines if the FIFO *has* to be reallocated.
>>>>
>>>>  This is usually a subnode to DWC3 glue to which it is connected.
>>>> diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
>>>> index cfc16dd..ad7ce83 100644
>>>> --- a/drivers/usb/dwc3/Kconfig
>>>> +++ b/drivers/usb/dwc3/Kconfig
>>>> @@ -3,6 +3,7 @@ config USB_DWC3
>>>>         depends on (USB || USB_GADGET) && GENERIC_HARDIRQS && HAS_DMA
>>>>         depends on EXTCON
>>>>         select USB_PHY
>>>> +       select GENERIC_PHY
>>>>         select USB_XHCI_PLATFORM if USB_SUPPORT && USB_XHCI_HCD
>>>>         help
>>>>           Say Y or M here if your system has a Dual Role SuperSpeed
>>>> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
>>>> index 428c29e..485d365 100644
>>>> --- a/drivers/usb/dwc3/core.c
>>>> +++ b/drivers/usb/dwc3/core.c
>>>> @@ -82,6 +82,12 @@ static void dwc3_core_soft_reset(struct dwc3 *dwc)
>>>>
>>>>         usb_phy_init(dwc->usb2_phy);
>>>>         usb_phy_init(dwc->usb3_phy);
>>>> +
>>>> +       if (dwc->usb2_generic_phy)
>>>> +               phy_init(dwc->usb2_generic_phy);
>>>> +       if (dwc->usb3_generic_phy)
>>>> +               phy_init(dwc->usb3_generic_phy);
>>>> +
>>>>         mdelay(100);
>>>>
>>>>         /* Clear USB3 PHY reset */
>>>> @@ -343,6 +349,11 @@ static void dwc3_core_exit(struct dwc3 *dwc)
>>>>  {
>>>>         usb_phy_shutdown(dwc->usb2_phy);
>>>>         usb_phy_shutdown(dwc->usb3_phy);
>>>> +
>>>> +       if (dwc->usb2_generic_phy)
>>>> +               phy_power_off(dwc->usb2_generic_phy);
>>>> +       if (dwc->usb3_generic_phy)
>>>> +               phy_power_off(dwc->usb3_generic_phy);
>>>>  }
>>>>
>>>>  #define DWC3_ALIGN_MASK                (16 - 1)
>>>> @@ -427,6 +438,23 @@ static int dwc3_probe(struct platform_device *pdev)
>>>>                 dwc->usb3_phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB3);
>>>>         }
>>>>
>>>> +       if (of_property_read_bool(node, "phys") || pdata->has_phy) {
>>>> +               dwc->usb2_generic_phy = devm_phy_get(dev, "usb2-phy");
>>>> +               if (IS_ERR(dwc->usb2_generic_phy)) {
>>>> +                       dev_err(dev, "no usb2 phy configured yet");
>>>> +                       return PTR_ERR(dwc->usb2_generic_phy);
>>>> +               }
>>>
>>> I have a doubt here.
>>> As i can see in the current phy drivers structuring, for OMAP there
>>> are two phy drivers :
>>> omap phy-omap-usb2 (talking to musb controller)
>>
>> It talks to dwc3 controller also ;-)
> 
> Ok
> 
>>
>>> and phy-omap-usb3(talking to dwc3 controller).
>>>
>>> Now dwc3 controller requests both usb2-phy (supported by phy-omap-usb2
>>> ?) and usb3-phy (supported by phy-omap-usb3 ?).
>>> But phy-omap-usb2 is not the one designated to talk to DWC3
>>> controller, then why does still DWC3 want to request usb2-phy, which
>>> end of the day will be phy-omap-usb2.
>>> May be i am wrong here since i don't have knowledge about OMAP h/w architecture.
>>>
>>> Is it like phy-omap-usb2 includes UTMI phys for both musb controller
>>> as well as dwc3 controller ?
>>
>> right. It's needed for dwc3 too. The same USB2 PHY IP is used for both MUSB in
>> OMAP2+ platforms and DWC3 in OMAP5.
> 
> Ok, but on Samsung's exynos5 series of SoCs, the USB2.0 controller has
> a separate USB-PHY interface talking to phy-samsung-usb2 driver;
> and DWC3 drd controller has separate USB-PHY interface (including both
> UTMI+ and PIPE3 control registers) talking to phy-samsung-usb3 driver.
> So in this case DWC3 doesn't need phy-samsung-usb2 at all. It's phy is
> configured by just phy-samsung-usb3 driver only.
> So don't you think DWC3 driver should have the flexibility to have
> either (mostly usb3-phy) _or_ both "usb2-phy" and "usb3-phy".
> Thereby,in case of Samsung driver, DWC3 will just have "usb3-phy" and
> that will be enough to get things working.
> Want your opinions about it.

Should we have separate properties to indicate whether it has a usb2-phy or
usb3-phy instead of checking for *phys* property?

Thanks
Kishon

  reply	other threads:[~2013-10-10 10:28 UTC|newest]

Thread overview: 139+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-02 15:43 [PATCH 0/7] Make dwc3 use Generic PHY Framework and misc cleanup Kishon Vijay Abraham I
2013-09-02 15:43 ` Kishon Vijay Abraham I
2013-09-02 15:43 ` Kishon Vijay Abraham I
2013-09-02 15:43 ` [PATCH 1/7] usb: dwc3: get "usb_phy" only if the platform indicates the presence of PHY Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-12 10:36   ` Roger Quadros
2013-09-12 10:36     ` Roger Quadros
2013-09-12 10:36     ` Roger Quadros
2013-09-12 10:47     ` Vivek Gautam
2013-09-12 10:47       ` Vivek Gautam
2013-09-12 10:47       ` Vivek Gautam
2013-09-12 11:04       ` Roger Quadros
2013-09-12 11:04         ` Roger Quadros
2013-09-12 11:04         ` Roger Quadros
2013-09-12 11:26         ` Vivek Gautam
2013-09-12 11:26           ` Vivek Gautam
2013-09-12 11:26           ` Vivek Gautam
2013-09-12 13:11           ` Roger Quadros
2013-09-12 13:11             ` Roger Quadros
2013-09-12 13:11             ` Roger Quadros
     [not found]             ` <5231BD9F.4020105-l0cyMroinI0@public.gmane.org>
2013-09-16  8:40               ` Vivek Gautam
2013-09-16  8:40                 ` Vivek Gautam
2013-09-16  8:40                 ` Vivek Gautam
2013-09-17 15:45       ` Felipe Balbi
2013-09-17 15:45         ` Felipe Balbi
2013-09-17 15:45         ` Felipe Balbi
2013-09-02 15:43 ` [PATCH 2/7] usb: dwc3: adapt dwc3 core to use Generic PHY Framework Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-12  9:27   ` Vivek Gautam
2013-09-12  9:27     ` Vivek Gautam
2013-09-12 10:10     ` Kishon Vijay Abraham I
2013-09-12 10:10       ` Kishon Vijay Abraham I
2013-09-12 10:10       ` Kishon Vijay Abraham I
2013-09-12 10:27       ` Vivek Gautam
2013-09-12 10:27         ` Vivek Gautam
2013-10-10 10:28         ` Kishon Vijay Abraham I [this message]
2013-10-10 10:28           ` Kishon Vijay Abraham I
2013-10-10 10:28           ` Kishon Vijay Abraham I
     [not found]   ` <1378136591-7463-3-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2013-09-12 13:19     ` Roger Quadros
2013-09-12 13:19       ` Roger Quadros
2013-09-12 13:19       ` Roger Quadros
     [not found]       ` <5231BF7A.3080104-l0cyMroinI0@public.gmane.org>
2013-09-16  2:52         ` Kishon Vijay Abraham I
2013-09-16  2:52           ` Kishon Vijay Abraham I
2013-09-16  2:52           ` Kishon Vijay Abraham I
2013-09-16  7:25           ` Roger Quadros
2013-09-16  7:25             ` Roger Quadros
2013-09-16  7:25             ` Roger Quadros
2013-10-11 15:09     ` Roger Quadros
2013-10-11 15:09       ` Roger Quadros
2013-10-11 15:09       ` Roger Quadros
2013-10-14  9:26       ` Kishon Vijay Abraham I
2013-10-14  9:26         ` Kishon Vijay Abraham I
2013-10-14  9:26         ` Kishon Vijay Abraham I
2013-10-14 10:21         ` Roger Quadros
2013-10-14 10:21           ` Roger Quadros
2013-10-14 10:21           ` Roger Quadros
2013-10-15  5:31           ` Kishon Vijay Abraham I
2013-10-15  5:31             ` Kishon Vijay Abraham I
2013-10-15  5:31             ` Kishon Vijay Abraham I
2013-10-15  7:57             ` Roger Quadros
2013-10-15  7:57               ` Roger Quadros
2013-10-15  7:57               ` Roger Quadros
2013-10-15 12:00               ` Felipe Balbi
2013-10-15 12:00                 ` Felipe Balbi
2013-10-15 12:00                 ` Felipe Balbi
2013-10-15 11:58             ` Felipe Balbi
2013-10-15 11:58               ` Felipe Balbi
2013-10-15 11:58               ` Felipe Balbi
2013-10-15 11:57           ` Felipe Balbi
2013-10-15 11:57             ` Felipe Balbi
2013-10-15 11:57             ` Felipe Balbi
2013-10-15 12:10             ` Roger Quadros
2013-10-15 12:10               ` Roger Quadros
2013-10-15 12:10               ` Roger Quadros
2013-10-15 13:19               ` Felipe Balbi
2013-10-15 13:19                 ` Felipe Balbi
2013-10-15 13:19                 ` Felipe Balbi
2013-10-15 13:48                 ` Roger Quadros
2013-10-15 13:48                   ` Roger Quadros
2013-10-15 13:48                   ` Roger Quadros
2013-10-15 13:56                   ` Felipe Balbi
2013-10-15 13:56                     ` Felipe Balbi
2013-10-15 13:56                     ` Felipe Balbi
2013-10-15 14:03                     ` Roger Quadros
2013-10-15 14:03                       ` Roger Quadros
2013-10-15 14:03                       ` Roger Quadros
2013-10-15 14:12                       ` Felipe Balbi
2013-10-15 14:12                         ` Felipe Balbi
2013-10-15 14:12                         ` Felipe Balbi
2013-09-02 15:43 ` [PATCH 3/7] drivers: phy: usb3/pipe3: Adapt pipe3 driver to " Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-12 11:19   ` Roger Quadros
2013-09-12 11:19     ` Roger Quadros
2013-09-12 11:19     ` Roger Quadros
2013-09-16  3:01     ` Kishon Vijay Abraham I
2013-09-16  3:01       ` Kishon Vijay Abraham I
2013-09-16  3:01       ` Kishon Vijay Abraham I
2013-09-16  7:37       ` Roger Quadros
2013-09-16  7:37         ` Roger Quadros
2013-09-16  7:37         ` Roger Quadros
     [not found]         ` <5236B537.1090902-l0cyMroinI0@public.gmane.org>
2013-10-11 15:02           ` Roger Quadros
2013-10-11 15:02             ` Roger Quadros
2013-10-11 15:02             ` Roger Quadros
2013-10-14  9:19             ` Kishon Vijay Abraham I
2013-10-14  9:19               ` Kishon Vijay Abraham I
2013-10-14  9:19               ` Kishon Vijay Abraham I
2013-10-14  9:31               ` Roger Quadros
2013-10-14  9:31                 ` Roger Quadros
2013-10-14  9:31                 ` Roger Quadros
2013-09-02 15:43 ` [PATCH 4/7] Documentation: dt bindings: move ..usb/usb-phy.txt to ..phy/omap-phy.txt Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-12 13:23   ` Roger Quadros
2013-09-12 13:23     ` Roger Quadros
2013-09-12 13:23     ` Roger Quadros
     [not found]     ` <5231C040.4040609-l0cyMroinI0@public.gmane.org>
2013-09-16  3:04       ` Kishon Vijay Abraham I
2013-09-16  3:04         ` Kishon Vijay Abraham I
2013-09-16  3:04         ` Kishon Vijay Abraham I
2013-09-02 15:43 ` [PATCH 5/7] phy: omap-usb2: move omap_usb.h from linux/usb/ to linux/phy/ Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-02 15:43 ` [PATCH 6/7] arm/dts: added dt properties to adapt to the new phy framwork Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-12 13:28   ` Roger Quadros
2013-09-12 13:28     ` Roger Quadros
2013-09-12 13:28     ` Roger Quadros
2013-09-02 15:43 ` [PATCH 7/7] drivers: phy: renamed struct omap_control_usb to struct omap_control_phy Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-02 15:43   ` Kishon Vijay Abraham I
2013-09-12 13:42   ` Roger Quadros
2013-09-12 13:42     ` Roger Quadros
2013-09-12 13:42     ` Roger Quadros
     [not found]     ` <5231C4C4.1000100-l0cyMroinI0@public.gmane.org>
2013-09-16  3:06       ` Kishon Vijay Abraham I
2013-09-16  3:06         ` Kishon Vijay Abraham I
2013-09-16  3:06         ` Kishon Vijay Abraham I

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=52568136.9030900@ti.com \
    --to=kishon@ti.com \
    --cc=balbi@ti.com \
    --cc=bcousson@baylibre.com \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=gautamvivek1987@gmail.com \
    --cc=george.cherian@ti.com \
    --cc=grant.likely@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=ian.campbell@citrix.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=rogerq@ti.com \
    --cc=s.nawrocki@samsung.com \
    --cc=swarren@wwwdotorg.org \
    --cc=tony@atomide.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.