[PATCH v8 2/3] ARM: shmobile: r8a7778: add USB support

Sergei Shtylyov sergei.shtylyov at cogentembedded.com
Mon Jun 3 06:14:16 EDT 2013


Hello.

On 03-06-2013 4:24, Kuninori Morimoto wrote:

>> Add USB clock and EHCI, OHCI, and USB PHY platform devices for R8A7778 SoC;  add
>> a function to register PHY device with board-specific platform data and register
>> EHCI and OHCI platfrom devices from the init_late() board method.

>> Also,  don't forget to enable CONFIG_ARCH_HAS_[EO]HCI options for R8A7778 SoC in
>> Kconfig...

>> The patch has been tested on the BOCK-W board.

>> Signed-off-by: Sergei Shtylyov <sergei.shtylyov at cogentembedded.com>
>> ---
> (snip)
>> +void __init r8a7778_add_usb_phy_device(struct rcar_phy_platform_data *pdata)
>> +{
>> +	platform_device_register_resndata(&platform_bus, "rcar_usb_phy", -1,
>> +					  usb_phy_resources,
>> +					  ARRAY_SIZE(usb_phy_resources),
>> +					  pdata, sizeof(*pdata));
>> +}
> (snip)
>> +void __init r8a7778_init_late(void)
>> +{
>> +	phy = usb_get_phy(USB_PHY_TYPE_USB2);
>> +
>> +	platform_device_register_full(&ehci_info);
>> +	platform_device_register_full(&ohci_info);
>> +}

> This means ehci/ohci device registration happened compulsorily if Soc/platform calls r8a7778_init_late().
> but, usb phy isn't registered without r8a7778_add_usb_phy_device().

> The ohci/ehci resource will be  used vainly if platform doesn't have USB

    The platform device resources are never used vainly. And remember 
that if PHY doesn't get registered, OHCI/EHCI won't get probed 
successfully either -- mind the usb_power_on() platform method.

> ohci/ehci and phy should be registered in same time/function.

    I just copied your approach from the R8A7779 code.

> Best regards
> ---
> Kuninori Morimoto

WBR, Sergei




More information about the linux-arm-kernel mailing list