[U-Boot] [PATCH v2 1/3] usb:ehci-mx6 add board_ehci_usb_mode function
Jeroen Hofstee
jeroen at myspectrum.nl
Tue Nov 4 20:39:46 CET 2014
Hello Peng,
On 04-11-14 14:36, Peng Fan wrote:
>
> Hi Jeroen,
>
> 在 11/4/2014 7:40 PM, Jeroen Hofstee 写道:
>> Hello Peng,
>>
>> On 04-11-14 08:50, Peng Fan wrote:
>>> Include a weak function board_ehci_usb_mode to gives board code
>>> a choice. If the board want the otg port work in host mode but not
>>> device mode, this should be handled.
>>>
>>> Signed-off-by: Peng Fan <Peng.Fan at freescale.com>
>>> Signed-off-by: Ye Li <B37916 at freescale.com>
>>> ---
>>>
>>> Changes v2:
>>> Introduce a new weak function to let board have a choice to
>>> decide which mode
>>> to work at.
>>>
>>> drivers/usb/host/ehci-mx6.c | 7 +++++++
>>> 1 file changed, 7 insertions(+)
>>>
>>> diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c
>>> index 9ec5a0a..3662a80 100644
>>> --- a/drivers/usb/host/ehci-mx6.c
>>> +++ b/drivers/usb/host/ehci-mx6.c
>>> @@ -193,6 +193,11 @@ static void usb_oc_config(int index)
>>> __raw_writel(val, ctrl);
>>> }
>>>
>>> +int __weak board_ehci_usb_mode(int index, enum usb_init_type *type)
>>> +{
>>> + return 0;
>>> +}
>>> +
>>> int __weak board_ehci_hcd_init(int port)
>>> {
>>> return 0;
>>> @@ -223,6 +228,8 @@ int ehci_hcd_init(int index, enum usb_init_type
>>> init,
>>> usb_internal_phy_clock_gate(index, 1);
>>> type = usb_phy_enable(index, ehci) ? USB_INIT_DEVICE :
>>> USB_INIT_HOST;
>>>
>>> + board_ehci_usb_mode(index, &type);
>>> +
>>> *hccr = (struct ehci_hccr *)((uint32_t)&ehci->caplength);
>>> *hcor = (struct ehci_hcor *)((uint32_t)*hccr +
>>> HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
>>
>> Can you add a prototype type as well and make sure it is included?
> I did not find a good place for the prototype type. I think ehci.h is
> not fine to include this prototype. Any suggestions?
Ah, good point. I have reserved USB as well for the "not trivial" to
fix warnings. Ideally there should be a header in drivers somewhere
defining what different usb drivers can/should support when dealing with
common usb code and one in include/... for the board interface.
Since this is currently lacking, I am also fine checking it in without a
valid
prototype and fix it later.
Regards,
Jeroen
More information about the U-Boot
mailing list