All of lore.kernel.org
 help / color / mirror / Atom feed
From: marex@denx.de (Marek Vasut)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 07/12] usb: phy-mxs: Add implementation of set_wakeup
Date: Sat, 12 Oct 2013 11:44:59 +0200	[thread overview]
Message-ID: <201310121144.59501.marex@denx.de> (raw)
In-Reply-To: <1381568986-19802-8-git-send-email-peter.chen@freescale.com>

Dear Peter Chen,

> When we need the PHY can be waken up by external signals,
> we can call this API. Besides, we call mxs_phy_disconnect_line
> at this API to close the connection between USB PHY and
> controller, after that, the line state from controller is SE0.
> Once the PHY is out of power, without calling mxs_phy_disconnect_line,
> there are unknown wakeups due to dp/dm floating at device mode.
> 
> Signed-off-by: Peter Chen <peter.chen@freescale.com>
> ---
>  drivers/usb/phy/phy-mxs-usb.c |   82
> ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 81
> insertions(+), 1 deletions(-)

[...]

> +static int mxs_phy_set_wakeup(struct usb_phy *x, bool enabled)
> +{
> +	struct mxs_phy *mxs_phy = to_mxs_phy(x);
> +	u32 value = BM_USBPHY_CTRL_ENVBUSCHG_WKUP |
> +			BM_USBPHY_CTRL_ENDPDMCHG_WKUP |
> +				BM_USBPHY_CTRL_ENIDCHG_WKUP;

Does this stuff pass checkpatch at all? I mean, this alignment seems a bit 
strange.

> +	if (enabled) {
> +		mxs_phy_disconnect_line(mxs_phy, true);
> +		writel_relaxed(value, x->io_priv + HW_USBPHY_CTRL_SET);
> +	} else {
> +		writel_relaxed(value, x->io_priv + HW_USBPHY_CTRL_CLR);
> +		mxs_phy_disconnect_line(mxs_phy, false);
> +	}
> +
> +	return 0;
> +}
> +
>  static int mxs_phy_on_connect(struct usb_phy *phy,
>  		enum usb_device_speed speed)
>  {
> @@ -315,6 +390,10 @@ static int mxs_phy_probe(struct platform_device *pdev)
>  		}
>  	}
> 
> +	if (of_find_property(np, "disconnect_line_without_vbus", NULL) &&
> +			mxs_phy->regmap_anatop)

You might want to introduce a variable here to make the condition shorter:

var = of_find....
if (var && mxs_phy->...)

> +		mxs_phy->disconnect_line_without_vbus_is_needed = true;
> +
>  	mxs_phy->phy.io_priv		= base;
>  	mxs_phy->phy.dev		= &pdev->dev;
>  	mxs_phy->phy.label		= DRIVER_NAME;
> @@ -324,6 +403,7 @@ static int mxs_phy_probe(struct platform_device *pdev)
>  	mxs_phy->phy.notify_connect	= mxs_phy_on_connect;
>  	mxs_phy->phy.notify_disconnect	= mxs_phy_on_disconnect;
>  	mxs_phy->phy.type		= USB_PHY_TYPE_USB2;
> +	mxs_phy->phy.set_wakeup		= mxs_phy_set_wakeup;
> 
>  	ATOMIC_INIT_NOTIFIER_HEAD(&mxs_phy->phy.notifier);

  reply	other threads:[~2013-10-12  9:44 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-12  9:09 [PATCH 00/12] Add power management support for MXS PHY Peter Chen
2013-10-12  9:09 ` [PATCH 01/12] usb: phy-mxs: Add auto clock and power setting Peter Chen
2013-10-12  9:09 ` [PATCH 02/12] usb: phy-mxs: Enable IC fixes for mx6 SoC serial Peter Chen
2013-10-12  9:38   ` Marek Vasut
2013-10-14  1:31     ` Peter Chen
2013-10-14  2:07       ` Marek Vasut
2013-10-14  1:58         ` Peter Chen
2013-10-14  9:09   ` Shawn Guo
2013-10-14  9:09     ` Peter Chen
2013-10-14  9:29       ` Shawn Guo
2013-10-14  9:16         ` Peter Chen
2013-10-12  9:09 ` [PATCH 03/12] usb: phy-mxs: Add anatop regmap Peter Chen
2013-10-12  9:09 ` [PATCH 04/12] usb: phy: add notify suspend and resume callback Peter Chen
2013-10-12  9:09 ` [PATCH 05/12] usb: phy-mxs: Add implementation of nofity_suspend and notify_resume Peter Chen
2013-10-12  9:42   ` Marek Vasut
2013-10-14  1:36     ` Peter Chen
2013-10-14  2:08       ` Marek Vasut
2013-10-12  9:09 ` [PATCH 06/12] usb: phy: Add set_wakeup API Peter Chen
2013-10-12  9:09 ` [PATCH 07/12] usb: phy-mxs: Add implementation of set_wakeup Peter Chen
2013-10-12  9:44   ` Marek Vasut [this message]
2013-10-14  1:41     ` Peter Chen
2013-10-12  9:09 ` [PATCH 08/12] usb: phy-mxs: Add system suspend/resume API Peter Chen
2013-10-12  9:09 ` [PATCH 09/12] usb: phy-mxs: update binding for adding anatop phandle Peter Chen
2013-10-14  9:22   ` Shawn Guo
2013-10-14  9:10     ` Peter Chen
2013-10-12  9:09 ` [PATCH 10/12] ARM: dts: imx6: add anatop phandle for usbphy Peter Chen
2013-10-12  9:09 ` [PATCH 11/12] usb: phy-mxs: update binding for adding disconnect line property Peter Chen
2013-10-12  9:47   ` Marek Vasut
2013-10-14  1:44     ` Peter Chen
2013-10-12 15:05   ` Thomas Petazzoni
2013-10-14  1:45     ` Peter Chen
2013-10-12  9:09 ` [PATCH 12/12] ARM: dts: imx6: Add disconnect_line_without_vbus property for usbphy Peter Chen

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=201310121144.59501.marex@denx.de \
    --to=marex@denx.de \
    --cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.