From: kishon <kishon@ti.com>
To: balbi@ti.com
Cc: Vivek Gautam <gautamvivek1987@gmail.com>,
Vivek Gautam <gautam.vivek@samsung.com>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-omap@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
gregkh@linuxfoundation.org,
Grant Likely <grant.likely@secretlab.ca>,
Rob Herring <rob.herring@calxeda.com>,
devicetree-discuss@lists.ozlabs.org
Subject: Re: [PATCH RFC] usb: dwc3: Get PHY from platform specific dwc3 dt node.
Date: Fri, 1 Feb 2013 10:51:30 +0530 [thread overview]
Message-ID: <510B50DA.6010201@ti.com> (raw)
In-Reply-To: <20130131153836.GF4064@arwen.pp.htv.fi>
Hi,
On Thursday 31 January 2013 09:08 PM, Felipe Balbi wrote:
> On Thu, Jan 31, 2013 at 09:00:37PM +0530, Vivek Gautam wrote:
>> Hi Felipe,
>>
>>
>> On Thu, Jan 31, 2013 at 8:55 PM, Felipe Balbi <balbi@ti.com> wrote:
>>> Hi,
>>>
>>> On Thu, Jan 31, 2013 at 08:53:27PM +0530, Vivek Gautam wrote:
>>>>>> Moreover, SoCs having multiple dwc3 controllers will have multiple
>>>>>> PHYs, which eventually be added using usb_add_phy_dev(), and not
>>>>>> using usb_add_phy(). So each dwc3 controller won't be able to
>>>>>> get PHYs by simply calling devm_usb_get_phy() also.
>>>>>
>>>>> No. We have added usb_get_phy_dev() for that purpose in the case of non-dt.
>>>>> I think, instead you can have a patch to use devm_usb_get_phy_dev() here and
>>>>> in exynos platform specific code use usb_bind_phy() to bind the phy and
>>>>> controller till you change it to dt.
>>>>>
>>>>
>>>> We have dt support for dwc3-exynos, in such case we should go ahead with
>>>> of_platform_populate(), right ?
>>>> But if when i use of_platform_populate() i will not be able to set
>>>> dma_mask to dwc3->dev. :-(
You can do something like this
static u64 dwc3_exynos_dma_mask = DMA_BIT_MASK(32);
static int dwc3_exynos_set_dmamask(struct device *dev, void *c)
{
dev->dma_mask = &dwc3_exynos_dma_mask;
return 0;
}
And in your probe after of_platform_populate, you can add
device_for_each_child(&pdev->dev, NULL, dwc3_exynos_set_dmamask);
Here pdev is the platform device of dwc3-exynos. By this way all the
children of dwc3-exynos will have dma_mask set to the required value.
I'm not sure if there is any other better way to achieve the same
(without patching of.c ;-))
Thanks
Kishon
WARNING: multiple messages have this Message-ID (diff)
From: kishon <kishon@ti.com>
To: <balbi@ti.com>
Cc: Vivek Gautam <gautamvivek1987@gmail.com>,
Vivek Gautam <gautam.vivek@samsung.com>,
<linux-usb@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-omap@vger.kernel.org>, <linux-samsung-soc@vger.kernel.org>,
<gregkh@linuxfoundation.org>,
Grant Likely <grant.likely@secretlab.ca>,
Rob Herring <rob.herring@calxeda.com>,
<devicetree-discuss@lists.ozlabs.org>
Subject: Re: [PATCH RFC] usb: dwc3: Get PHY from platform specific dwc3 dt node.
Date: Fri, 1 Feb 2013 10:51:30 +0530 [thread overview]
Message-ID: <510B50DA.6010201@ti.com> (raw)
In-Reply-To: <20130131153836.GF4064@arwen.pp.htv.fi>
Hi,
On Thursday 31 January 2013 09:08 PM, Felipe Balbi wrote:
> On Thu, Jan 31, 2013 at 09:00:37PM +0530, Vivek Gautam wrote:
>> Hi Felipe,
>>
>>
>> On Thu, Jan 31, 2013 at 8:55 PM, Felipe Balbi <balbi@ti.com> wrote:
>>> Hi,
>>>
>>> On Thu, Jan 31, 2013 at 08:53:27PM +0530, Vivek Gautam wrote:
>>>>>> Moreover, SoCs having multiple dwc3 controllers will have multiple
>>>>>> PHYs, which eventually be added using usb_add_phy_dev(), and not
>>>>>> using usb_add_phy(). So each dwc3 controller won't be able to
>>>>>> get PHYs by simply calling devm_usb_get_phy() also.
>>>>>
>>>>> No. We have added usb_get_phy_dev() for that purpose in the case of non-dt.
>>>>> I think, instead you can have a patch to use devm_usb_get_phy_dev() here and
>>>>> in exynos platform specific code use usb_bind_phy() to bind the phy and
>>>>> controller till you change it to dt.
>>>>>
>>>>
>>>> We have dt support for dwc3-exynos, in such case we should go ahead with
>>>> of_platform_populate(), right ?
>>>> But if when i use of_platform_populate() i will not be able to set
>>>> dma_mask to dwc3->dev. :-(
You can do something like this
static u64 dwc3_exynos_dma_mask = DMA_BIT_MASK(32);
static int dwc3_exynos_set_dmamask(struct device *dev, void *c)
{
dev->dma_mask = &dwc3_exynos_dma_mask;
return 0;
}
And in your probe after of_platform_populate, you can add
device_for_each_child(&pdev->dev, NULL, dwc3_exynos_set_dmamask);
Here pdev is the platform device of dwc3-exynos. By this way all the
children of dwc3-exynos will have dma_mask set to the required value.
I'm not sure if there is any other better way to achieve the same
(without patching of.c ;-))
Thanks
Kishon
next prev parent reply other threads:[~2013-02-01 5:21 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-31 11:20 [PATCH RFC] usb: dwc3: Get PHY from platform specific dwc3 dt node Vivek Gautam
2013-01-31 11:34 ` kishon
2013-01-31 11:34 ` kishon
2013-01-31 15:23 ` Vivek Gautam
2013-01-31 15:25 ` Felipe Balbi
2013-01-31 15:25 ` Felipe Balbi
2013-01-31 15:30 ` Vivek Gautam
[not found] ` <CAFp+6iHvKYiF_neANRq5roAEJwhvcaLk7pAd7Dy94Z5XiDkhgA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-31 15:38 ` Felipe Balbi
2013-01-31 15:38 ` Felipe Balbi
2013-02-01 5:21 ` kishon [this message]
2013-02-01 5:21 ` kishon
[not found] ` <510B50DA.6010201-l0cyMroinI0@public.gmane.org>
2013-02-01 6:22 ` Vivek Gautam
2013-02-01 6:22 ` Vivek Gautam
2013-02-01 6:24 ` Vivek Gautam
2013-02-01 8:50 ` Felipe Balbi
2013-02-01 8:50 ` Felipe Balbi
[not found] ` <20130201085053.GG8060-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2013-02-01 8:53 ` Vivek Gautam
2013-02-01 8:53 ` Vivek Gautam
2013-02-01 9:43 ` Felipe Balbi
2013-02-01 9:43 ` Felipe Balbi
[not found] ` <20130131153836.GF4064-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2013-02-28 14:39 ` Vivek Gautam
2013-02-28 14:39 ` Vivek Gautam
2013-03-01 6:41 ` Felipe Balbi
2013-03-01 6:41 ` Felipe Balbi
2013-03-04 15:02 ` Felipe Balbi
2013-03-04 15:02 ` Felipe Balbi
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=510B50DA.6010201@ti.com \
--to=kishon@ti.com \
--cc=balbi@ti.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=gautam.vivek@samsung.com \
--cc=gautamvivek1987@gmail.com \
--cc=grant.likely@secretlab.ca \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=rob.herring@calxeda.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.