Re: [PATCH v2 3/3] arm64: dts: qcom: Collapse usb support into one node

From: Shawn Guo
Date: Thu Aug 17 2017 - 02:45:38 EST


Hi Stephen,

On Fri, Jul 14, 2017 at 02:40:05PM -0700, Stephen Boyd wrote:
> We currently have three device nodes for the same USB hardware
> block, as evident by the reuse of the same reg address multiple
> times. Now that the chipidea driver fully supports OTG with the
> MSM wrapper we can collapse all these nodes into one USB device
> node, reflecting the true nature of the hardware.
>
> Signed-off-by: Stephen Boyd <stephen.boyd@xxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi | 38 ++++++++++---------
> arch/arm64/boot/dts/qcom/msm8916.dtsi | 62 +++++++++++++++----------------
> 2 files changed, 50 insertions(+), 50 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
> index f326f4fb4d72..494560a1a6ef 100644
> --- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
> +++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
> @@ -213,24 +213,20 @@
> };
>
> usb@78d9000 {
> - extcon = <&usb_id>, <&usb_id>;
> + extcon = <&usb_id>;

I'm trying to play the series on db410c, and it doesn't seem to work as
expected. Here is basically what I did:

- Revert ed75d6a96905, and apply the series.
- Turn on the following options:
CONFIG_USB_CHIPIDEA_ULPI
CONFIG_USB_ULPI_BUS
CONFIG_PHY_QCOM_USB_HS
CONFIG_MUX_GPIO

The role switching doesn't happen when I connect/disconnect cable
to/from micro-usb port. But if I revert above extcon change (keep two
usb_id phandle for extcon), the role switching happens. However, host
driver still fails to enumerate the usb mouse attached to Type-A port.

[ 15.400074] ci_hdrc ci_hdrc.0: EHCI Host Controller
[ 15.400119] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[ 15.419847] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[ 15.420700] hub 1-0:1.0: USB hub found
[ 15.425820] hub 1-0:1.0: 1 port detected
[ 15.759862] usb 1-1: new high-speed USB device number 2 using ci_hdrc
[ 31.943942] usb 1-1: device not accepting address 2, error -110
[ 32.063938] usb 1-1: new high-speed USB device number 3 using ci_hdrc
[ 48.071943] usb 1-1: device not accepting address 3, error -110
[ 48.191935] usb 1-1: new high-speed USB device number 4 using ci_hdrc
[ 58.823934] usb 1-1: device not accepting address 4, error -110
[ 58.943936] usb 1-1: new high-speed USB device number 5 using ci_hdrc
[ 69.575935] usb 1-1: device not accepting address 5, error -110
[ 69.576001] usb usb1-port1: unable to enumerate USB device

I must have missed something. Can you please advice? Thanks.

Shawn