[PATCH 00/21] Support qcom's HSIC USB and rewrite USB2 HS phy support

Stephen Boyd stephen.boyd at linaro.org
Tue Jul 5 12:22:19 PDT 2016


Quoting John Stultz (2016-07-01 23:03:38)
> On Tue, Jun 28, 2016 at 1:34 AM, Stephen Boyd <stephen.boyd at linaro.org> wrote:
> > Quoting John Stultz (2016-06-27 20:09:30)
> >>
> >> I haven't yet been able to test with this, as I need some other fixes
> >> it seems too to deal with some of the iommu changes in my flo-WIP tree
> >> (it can't find of_dma_configure), but will let you know how things
> >> work once I have all that sorted.
> >
> > Cool, thanks for testing.
> 
> So after working out some merge issues w/ my flo-WIP branch for the
> nexus7, I was still having trouble, so I backed out to just your
> (updated) branch.
> 
> But even there, I'm not able to get the usb gadget up. I see:

I can get the gadget working on the ifc6410 device I have. I'm using
this script to test things:

modprobe libcomposite
mkdir config
mount none config -t configfs
mkdir config/usb_gadget/g1
mkdir config/usb_gadget/g1/strings/0x409
echo 012345678 > config/usb_gadget/g1/strings/0x409/serialnumber
echo "manufacturer" > config/usb_gadget/g1/strings/0x409/manufacturer
echo "db8074" > config/usb_gadget/g1/strings/0x409/product
echo 0x1d6b > config/usb_gadget/g1/idVendor
echo 0x0104 > config/usb_gadget/g1/idProduct
mkdir config/usb_gadget/g1/functions/acm.GS0
mkdir config/usb_gadget/g1/functions/acm.GS1
mkdir config/usb_gadget/g1/functions/ecm.usb0
mkdir config/usb_gadget/g1/configs/c.1
mkdir config/usb_gadget/g1/configs/c.1/strings/0x409/
echo "CDC 2xACM+ECM" >
config/usb_gadget/g1/configs/c.1/strings/0x409/configuration
ln -s config/usb_gadget/g1/functions/acm.GS0
config/usb_gadget/g1/configs/c.1
ln -s config/usb_gadget/g1/functions/acm.GS1
config/usb_gadget/g1/configs/c.1
ln -s config/usb_gadget/g1/functions/ecm.usb0
config/usb_gadget/g1/configs/c.1
echo $(ls /sys/class/udc/) > config/usb_gadget/g1/UDC

> 
> [    1.869717] msm_hsusb 12500000.usb: failed to get phandle in
> /soc/usb at 12500000 node

This is sort of ok (I've seen it before with the HSIC controller on
8074). The extcon is optional and so the error message should be
silenced. I sent a patch to move it to debug level.

I don't see an extcon in mainline for apq8064, but I think it may be
needed. At the least, I see that we're using a PMIC interrupt in the
msm-3.4 kernel for the ID pin and the charger is notifying of vbus
events similar to how smbb is doing it for apq8074.

> [    1.882347] 12500000.usb supply vbus not found, using dummy regulator

This is not great. We don't have a regulator specified on apq8064 so we
can't turn on vbus and really support host mode. This seems to already
be the case on mainline though, so it's not like we're any worse here.
To properly support this we need a regulator driver. I suppose if the
RPM supports it we can just use that, but if it doesn't support this
regulator then we need to port over the SSBI regulator driver to do
native regulator control. So far I haven't been able to test host mode
on apq8064 because of this.

> 
> So I'm not sure if the dts changes were quite right. I've got all the
> ULPI configs enabled. Any ideas?
> 

The phy and controller are both probing? If they're not failing to probe
then it's probably the phy that isn't working properly. Does gadget work
without my patches on nexus7?



More information about the linux-arm-kernel mailing list