Re: [PATCH v2 2/2] ARM: shmobile: lager: enable USB3.0

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

 




Hi Magnus-san,

(2014/10/29 15:53), Magnus Damm wrote:
> On Fri, Oct 24, 2014 at 7:41 PM, Yoshihiro Shimoda
> <yoshihiro.shimoda.uh@xxxxxxxxxxx> wrote:
>> Since the PHY of USB3.0 and EHCI/OHCI ch2 are the same, the USB3.0
>> driver cannot use the phy driver when the EHCI/OHCI ch2 already used it:
>>
>> phy phy-e6590100.usb-phy.3: phy init failed --> -16
>> xhci-hcd: probe of ee000000.usb failed with error -16
>>
>> If so, we have to unbind the EHCI/OHCI ch2, and then we have to bind
>> the USB3.0 driver as the following:
>>
>>   echo 0000:02:02.0 > /sys/bus/pci/drivers/ehci-pci/unbind
>>   echo 0000:02:01.0 > /sys/bus/pci/drivers/ohci-pci/unbind
>>   echo ee000000.usb > /sys/bus/platform/drivers/xhci-hcd/bind
>>
>> Note that there will be pinctrl-related error messages if both
>> internal PCI and USB3.0 are enabled but they should be just ignored:
>>
>> sh-pfc e6060000.pfc: pin GP_5_22 already requested by ee0d0000.pci; cannot claim for ee000000.usb
>> sh-pfc e6060000.pfc: pin-182 (ee000000.usb) status -22
>> ata1: SATA link down (SStatus 0 SControl 300)
>> sh-pfc e6060000.pfc: could not request pin 182 (GP_5_22) from group usb2  on device sh-pfc
>>
>> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
>> ---
>>  arch/arm/boot/dts/r8a7790-lager.dts |    6 ++++++
>>  1 file changed, 6 insertions(+)
> 
> Hi Shimoda-san,
> 
> Thanks for your patch. I'm fine with this patch as a first step, but
> I'm wondering what the reason is to prioritize USB 2.0 over USB 3.0?

I investigated this reason today, and I found the reason is request_firmware().
I checked the following environments:

 Case 1: xHCI and EHCI and OHCI are enabled "=y"
 Case 2: xHCI and EHCI and OHCI are loadable modules "=m"
 Case 3: xHCI and EHCI and OHCI are enabled "=y", and CONFIG_EXTRA_FIRMWARE is enabled

The results are:
 - In "Case 1", EHCI and OHCI are probed first because xHCI didn't find the firmware.
 - In "Case 2" and "Case 3", xHCI is probed first.

> Is the current order just based on device init order? In my mind the
> expected behavior would be to always use USB 3.0 if it happens to be
> available in the hardware, specified in the DTS, enabled by the kernel
> configuration and firmware is loadable. Or does some case exist where
> it is better to use USB 2.0? I suspect no.

I agree with you.

> So I wonder if you have any plans how to make USB 3.0 enabled by
> default on Lager?

It depends on a kernel config. I'm not sure of the shmobile_defconfig strategy.
But, in my opinion, one of a solution is kernel modules (this means the "Case 2".)

Best regards,
Yoshihiro Shimoda

> Thanks,
> 
> / magnus
> 
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux