linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Chen <hzpeterchen@gmail.com>
To: Stephen Boyd <stephen.boyd@linaro.org>
Cc: linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	Andy Gross <andy.gross@linaro.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Arnd Bergmann <arnd@arndb.de>, Felipe Balbi <balbi@kernel.org>,
	Peter Chen <peter.chen@nxp.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [PATCH 08/21] usb: chipidea: Kick OTG state machine for AVVIS with vbus extcon
Date: Wed, 29 Jun 2016 11:09:13 +0800	[thread overview]
Message-ID: <20160629030913.GC25236@shlinux2> (raw)
In-Reply-To: <20160626072838.28082-9-stephen.boyd@linaro.org>

On Sun, Jun 26, 2016 at 12:28:25AM -0700, Stephen Boyd wrote:
> Force the OTG state machine to go forward when we're using an
> extcon for vbus detection. In this case, the controller may never
> raise an interrupt for AVVIS, so we need to simulate the event by
> toggling the appropriate OTG fsm bits and kicking the state
> machine again.
> 

Well, I think you may misunderstand the OTG FSM and dual-role.
>From my and Felipe's point, there are seldom users for USB FSM,
there are only OTG FSM spec and related OTG certification.

The OTG FSM needs related SoC support, the vbus will be off at
several states, and the SRP should be supported by SoC.

By default, the dts needs below properties for disabling it if you
choose otg fsm support at kernel configuration.

&usbotg1 {
	vbus-supply = <&reg_usb_otg1_vbus>;
	srp-disable;
	hnp-disable;
	adp-disable;
	status = "okay";
};

See Documentation/devicetree/bindings/usb/generic.txt.

Peter

> Cc: Peter Chen <peter.chen@nxp.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
> ---
>  drivers/usb/chipidea/otg_fsm.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/drivers/usb/chipidea/otg_fsm.c b/drivers/usb/chipidea/otg_fsm.c
> index de8e22ec3902..aab076fc4d82 100644
> --- a/drivers/usb/chipidea/otg_fsm.c
> +++ b/drivers/usb/chipidea/otg_fsm.c
> @@ -475,6 +475,14 @@ static void ci_otg_drv_vbus(struct otg_fsm *fsm, int on)
>  				return;
>  			}
>  		}
> +		/*
> +		 * Force state machine forward if we use extcon
> +		 * to detect vbus state (i.e. simulate AVVIS event)
> +		 */
> +		if (!IS_ERR(ci->platdata->vbus_extcon.edev)) {
> +			fsm->a_vbus_vld = 1;
> +			ci_otg_queue_work(ci);
> +		}
>  		/* Disable data pulse irq */
>  		hw_write_otgsc(ci, OTGSC_DPIE, 0);
>  
> @@ -486,6 +494,15 @@ static void ci_otg_drv_vbus(struct otg_fsm *fsm, int on)
>  
>  		fsm->a_bus_drop = 1;
>  		fsm->a_bus_req = 0;
> +		/*
> +		 * Force state machine forward if we use extcon
> +		 * to detect vbus state (i.e. simulate AVVIS event)
> +		 */
> +		if (!IS_ERR(ci->platdata->vbus_extcon.edev)) {
> +			fsm->a_vbus_vld = 0;
> +			fsm->b_conn = 0;
> +			ci_otg_queue_work(ci);
> +		}
>  	}
>  }
>  
> -- 
> 2.9.0.rc2.8.ga28705d
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 

Best Regards,
Peter Chen

  reply	other threads:[~2016-06-29  3:16 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-26  7:28 [PATCH 00/21] Support qcom's HSIC USB and rewrite USB2 HS phy support Stephen Boyd
2016-06-26  7:28 ` [PATCH 01/21] of: device: Support loading a module with OF based modalias Stephen Boyd
2016-06-28  4:17   ` Bjorn Andersson
2016-06-26  7:28 ` [PATCH 02/21] usb: ulpi: Support device discovery via DT Stephen Boyd
2016-06-27  4:21   ` kbuild test robot
2016-06-27 14:34   ` Heikki Krogerus
     [not found]     ` <146706544012.30684.15569003844798199881@sboyd-linaro>
2016-06-28 11:42       ` Heikki Krogerus
2016-06-29  1:53         ` Peter Chen
2016-06-28 20:56   ` Rob Herring
     [not found]     ` <146715176149.31418.10938517376423447782@sboyd-linaro>
2016-07-01  0:59       ` Rob Herring
2016-06-26  7:28 ` [PATCH 03/21] usb: ulpi: Avoid reading/writing in device creation with OF devices Stephen Boyd
2016-06-26  7:28 ` [PATCH 04/21] usb: chipidea: Only read/write OTGSC from one place Stephen Boyd
2016-06-27  8:04   ` Jun Li
2016-06-27 19:07     ` Stephen Boyd
2016-06-28  9:36       ` Peter Chen
2016-06-26  7:28 ` [PATCH 05/21] usb: chipidea: Handle extcon events properly Stephen Boyd
2016-06-28 10:01   ` Peter Chen
2016-06-26  7:28 ` [PATCH 06/21] usb: chipidea: Initialize and reinitialize phy later Stephen Boyd
2016-06-29  2:30   ` Peter Chen
     [not found]     ` <146724983020.16253.12640673678669134952@sboyd-linaro>
2016-06-30  1:22       ` Peter Chen
2016-06-26  7:28 ` [PATCH 07/21] usb: chipidea: Notify of reset when switching into host mode Stephen Boyd
2016-06-26  7:28 ` [PATCH 08/21] usb: chipidea: Kick OTG state machine for AVVIS with vbus extcon Stephen Boyd
2016-06-29  3:09   ` Peter Chen [this message]
     [not found]     ` <146724959973.16253.818114721999543873@sboyd-linaro>
2016-06-30  1:26       ` Peter Chen
2016-06-30  1:50         ` Jun Li
2016-06-26  7:28 ` [PATCH 09/21] usb: chipidea: Add support for ULPI PHY bus Stephen Boyd
2016-06-29  6:26   ` Peter Chen
2016-06-26  7:28 ` [PATCH 10/21] usb: chipidea: msm: Rely on core to override AHBBURST Stephen Boyd
2016-06-29  6:32   ` Peter Chen
     [not found]     ` <146722676163.16253.15476996138920236894@sboyd-linaro>
2016-06-30  1:18       ` Peter Chen
2016-06-26  7:28 ` [PATCH 11/21] usb: chipidea: msm: Use hw_write_id_reg() instead of writel directly Stephen Boyd
2016-06-29  6:37   ` Peter Chen
2016-06-26  7:28 ` [PATCH 12/21] usb: chipidea: msm: Keep device runtime enabled Stephen Boyd
2016-06-29  6:46   ` Peter Chen
     [not found]     ` <146724741028.16253.4741331543289283958@sboyd-linaro>
2016-06-30  1:39       ` Peter Chen
     [not found]         ` <146731865461.12823.6532384101517870130@sboyd-linaro>
2016-07-01  3:20           ` Peter Chen
2016-06-26  7:28 ` [PATCH 13/21] usb: chipidea: msm: Allow core to get usb phy Stephen Boyd
2016-06-29  6:48   ` Peter Chen
2016-06-29 11:34     ` Peter Chen
     [not found]       ` <146722867837.16253.5338887948471498730@sboyd-linaro>
2016-06-30  1:43         ` Peter Chen
2016-06-26  7:28 ` [PATCH 14/21] usb: chipidea: msm: Add proper clk and reset support Stephen Boyd
2016-06-29  7:02   ` Peter Chen
2016-06-26  7:28 ` [PATCH 15/21] usb: chipidea: msm: Mux over secondary phy at the right time Stephen Boyd
2016-06-28  4:51   ` Bjorn Andersson
2016-06-29  8:08   ` Peter Chen
     [not found]     ` <146722853892.16253.6137643683844696922@sboyd-linaro>
2016-06-30  1:52       ` Peter Chen
2016-06-26  7:28 ` [PATCH 16/21] usb: chipidea: msm: Restore wrapper settings after reset Stephen Boyd
2016-06-29  8:26   ` Peter Chen
     [not found]     ` <146722762509.16253.13062209537472705701@sboyd-linaro>
2016-06-30  8:54       ` Peter Chen
2016-06-30 16:24         ` Stephen Boyd
2016-06-26  7:28 ` [PATCH 17/21] usb: chipidea: msm: Make platform data driver local instead of global Stephen Boyd
2016-06-29 11:29   ` Peter Chen
     [not found]     ` <146722783258.16253.8246581455698560411@sboyd-linaro>
2016-06-30  9:08       ` Peter Chen
2016-06-26  7:28 ` [PATCH 18/21] usb: chipidea: msm: Add reset controller for PHY POR bit Stephen Boyd
2016-06-27  3:41   ` kbuild test robot
2016-06-27  4:51   ` kbuild test robot
2016-06-27  7:50   ` kbuild test robot
2016-06-29 11:45   ` Peter Chen
2016-06-26  7:28 ` [PATCH 19/21] usb: chipidea: msm: Be silent on probe defer errors Stephen Boyd
2016-06-30  1:06   ` Peter Chen
2016-06-26  7:28 ` [PATCH 20/21] phy: Add support for Qualcomm's USB HSIC phy Stephen Boyd
2016-06-28  8:49   ` Neil Armstrong
2016-06-28 21:58     ` Stephen Boyd
2016-06-29  9:16       ` Neil Armstrong
2016-06-29 18:54         ` Stephen Boyd
2016-06-26  7:28 ` [PATCH 21/21] phy: Add support for Qualcomm's USB HS phy Stephen Boyd
2016-06-28  3:09 ` [PATCH 00/21] Support qcom's HSIC USB and rewrite USB2 HS phy support John Stultz
     [not found]   ` <146710289677.3879.15364764209076318827@sboyd-linaro>
2016-07-02  6:03     ` John Stultz
     [not found]       ` <146774653916.32648.3323628902201136171@sboyd-linaro>
2016-07-05 19:33         ` John Stultz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160629030913.GC25236@shlinux2 \
    --to=hzpeterchen@gmail.com \
    --cc=andy.gross@linaro.org \
    --cc=arnd@arndb.de \
    --cc=balbi@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=narmstrong@baylibre.com \
    --cc=peter.chen@nxp.com \
    --cc=stephen.boyd@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).