All of lore.kernel.org
 help / color / mirror / Atom feed
From: shawn.guo@linaro.org (Shawn Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 3/7] ARM: imx6q: disable usb charger detector
Date: Thu, 12 Jul 2012 10:06:48 +0800	[thread overview]
Message-ID: <20120712020646.GG6971@S2101-09.ap.freescale.net> (raw)
In-Reply-To: <1342006425-21008-4-git-send-email-richard.zhao@freescale.com>

On Wed, Jul 11, 2012 at 07:33:41PM +0800, Richard Zhao wrote:
> The external charger detector needs to be disabled,
> or the signal at DP will be poor
> 
> Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
> ---
>  arch/arm/mach-imx/mach-imx6q.c |   41 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
> 
> diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
> index 1c18d3c..63fe5d6 100644
> --- a/arch/arm/mach-imx/mach-imx6q.c
> +++ b/arch/arm/mach-imx/mach-imx6q.c
> @@ -25,6 +25,7 @@
>  #include <linux/pinctrl/machine.h>
>  #include <linux/phy.h>
>  #include <linux/micrel_phy.h>
> +#include <linux/mfd/anatop.h>
>  #include <asm/cpuidle.h>
>  #include <asm/smp_twd.h>
>  #include <asm/hardware/cache-l2x0.h>
> @@ -117,6 +118,45 @@ static void __init imx6q_sabrelite_init(void)
>  	imx6q_sabrelite_cko1_setup();
>  }
>  
> +static void __init imx6q_usb_init(void)
> +{
> +	struct device_node *np;
> +	struct platform_device *pdev = NULL;
> +	struct anatop *adata = NULL;
> +
> +	np = of_find_node_by_path("/soc/aips-bus at 02000000/anatop at 020c8000");

I would suggest use of_find_compatible_node to save the open-coding of
such path.

Regards,
Shawn

> +	if (np)
> +		pdev = of_find_device_by_node(np);
> +	if (pdev)
> +		adata = platform_get_drvdata(pdev);
> +	if (!adata) {
> +		if (np)
> +			of_node_put(np);
> +		return;
> +	}
> +
> +#define HW_ANADIG_USB1_CHRG_DETECT		0x000001b0
> +#define HW_ANADIG_USB2_CHRG_DETECT		0x00000210
> +
> +#define BM_ANADIG_USB_CHRG_DETECT_EN_B		0x00100000
> +#define BM_ANADIG_USB_CHRG_DETECT_CHK_CHRG_B	0x00080000
> +
> +	/*
> +	 * The external charger detector needs to be disabled,
> +	 * or the signal at DP will be poor
> +	 */
> +	anatop_write_reg(adata, HW_ANADIG_USB1_CHRG_DETECT,
> +			BM_ANADIG_USB_CHRG_DETECT_EN_B
> +			| BM_ANADIG_USB_CHRG_DETECT_CHK_CHRG_B,
> +			~0);
> +	anatop_write_reg(adata, HW_ANADIG_USB2_CHRG_DETECT,
> +			BM_ANADIG_USB_CHRG_DETECT_EN_B |
> +			BM_ANADIG_USB_CHRG_DETECT_CHK_CHRG_B,
> +			~0);
> +
> +	of_node_put(np);
> +}
> +
>  static void __init imx6q_init_machine(void)
>  {
>  	/*
> @@ -131,6 +171,7 @@ static void __init imx6q_init_machine(void)
>  	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
>  
>  	imx6q_pm_init();
> +	imx6q_usb_init();
>  }
>  
>  static struct cpuidle_driver imx6q_cpuidle_driver = {
> -- 
> 1.7.9.5
> 
> 

  parent reply	other threads:[~2012-07-12  2:06 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-11 11:33 [PATCH v6 0/7] imx28/imx6q: add usb support Richard Zhao
2012-07-11 11:33 ` [PATCH v6 1/7] ARM: imx6q: correct device name of usbphy and usb controller clock export Richard Zhao
2012-07-12  1:03   ` Shawn Guo
2012-07-12  1:14     ` Richard Zhao
2012-07-11 11:33 ` [PATCH v6 2/7] ARM: imx6q: add usbphy clocks Richard Zhao
2012-07-11 11:33 ` [PATCH v6 3/7] ARM: imx6q: disable usb charger detector Richard Zhao
2012-07-11 13:28   ` Otavio Salvador
2012-07-11 14:02     ` Richard Zhao
2012-07-11 15:54       ` Otavio Salvador
2012-07-12  2:06   ` Shawn Guo [this message]
2012-07-12  2:47     ` Otavio Salvador
2012-07-11 11:33 ` [PATCH v6 4/7] ARM: dts: imx6q-sabrelite: add usb devices Richard Zhao
2012-07-12  1:40   ` Shawn Guo
2012-07-11 11:33 ` [PATCH v6 5/7] ARM: mxs: clk_register_clkdev mx28 usb clocks Richard Zhao
2012-07-12  1:46   ` Shawn Guo
2012-07-11 11:33 ` [PATCH v6 6/7] ARM: dts: imx28-evk: add usb devices Richard Zhao
2012-07-12  1:45   ` Shawn Guo
2012-07-11 11:33 ` [PATCH v6 7/7] ARM: dts: imx6q-sabrelite: add usbotg pinctrl support Richard Zhao
2012-07-12  1:30   ` Shawn Guo

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=20120712020646.GG6971@S2101-09.ap.freescale.net \
    --to=shawn.guo@linaro.org \
    --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.