All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/9] usb: ehci-mx6: configure power polarity in usb_power_config
Date: Tue, 5 Jul 2016 22:52:12 +0200	[thread overview]
Message-ID: <401f9d8a-ce33-90f0-a01b-b23b2b4745c1@denx.de> (raw)
In-Reply-To: <4197f4223d6e68f7a6b1443bce1ed587@agner.ch>

On 07/05/2016 10:28 PM, Stefan Agner wrote:
> On 2016-07-03 15:32, Marek Vasut wrote:
>> On 07/03/2016 09:33 PM, Stefan Agner wrote:
>>> From: Stefan Agner <stefan.agner@toradex.com>
>>>
>>> USBNC_n_CTRL1 bit 9 actually controls the power pin polarity.
>>> Rename UCTRL_PM to align reference manual and set the bit in
>>> the appropriate callback usb_power_config.
>>>
>>> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
>>
>> Just for the extra safety, can you please check all the MX6 datasheets
>> and also MX7 to be dead sure this bit is always OTG power polarity ?
>
> Checked i.MX 6Solo/DualLite, Dual/Quad, SoloLite and SoloX data sheet,
> all call that bit PWR_POL and its described the same way.
>
>>
>> Also, you always set the bit, but I'd expect the bit to be cleared by
>> default, so wouldn't this break existing configurations?
>>
>
> The bit is cleared on reset yes.
>
> I don't understand why it should break existing configuration, the code
> does exactly the same as before: Sets the bit on i.MX 7 (note that this
> usb_power_config function is in a if defined(CONFIG_MX7) section.

Ah, sorry, taking a second look, you're right it doesn't change the 
behavior.

> --
> Stefan
>
>
>>> ---
>>>
>>>  drivers/usb/host/ehci-mx6.c | 10 +++++-----
>>>  1 file changed, 5 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c
>>> index bb48d0d..0dbabb2 100644
>>> --- a/drivers/usb/host/ehci-mx6.c
>>> +++ b/drivers/usb/host/ehci-mx6.c
>>> @@ -49,7 +49,7 @@
>>>  #define USBNC_OFFSET		0x200
>>>  #define USBNC_PHYSTATUS_ID_DIG	(1 << 4) /* otg_id status */
>>>  #define USBNC_PHYCFG2_ACAENB	(1 << 4) /* otg_id detection enable */
>>> -#define UCTRL_PM                (1 << 9) /* OTG Power Mask */
>>> +#define UCTRL_PWR_POL		(1 << 9) /* OTG Polarity of Power Pin */
>>>  #define UCTRL_OVER_CUR_POL	(1 << 8) /* OTG Polarity of Overcurrent */
>>>  #define UCTRL_OVER_CUR_DIS	(1 << 7) /* Disable OTG Overcurrent Detection */
>>>
>>> @@ -206,9 +206,13 @@ static void usb_power_config(int index)
>>>  	struct usbnc_regs *usbnc = (struct usbnc_regs *)(USB_BASE_ADDR +
>>>  			(0x10000 * index) + USBNC_OFFSET);
>>>  	void __iomem *phy_cfg2 = (void __iomem *)(&usbnc->phy_cfg2);
>>> +	void __iomem *ctrl = (void __iomem *)(&usbnc->ctrl1);
>>>
>>>  	/* Enable usb_otg_id detection */
>>>  	setbits_le32(phy_cfg2, USBNC_PHYCFG2_ACAENB);
>>> +
>>> +	/* Set power polarity to high active */
>>> +	setbits_le32(ctrl, UCTRL_PWR_POL);
>>>  }
>>>
>>>  int usb_phy_mode(int port)
>>> @@ -246,11 +250,7 @@ static void usb_oc_config(int index)
>>>  	setbits_le32(ctrl, UCTRL_OVER_CUR_POL);
>>>  #endif
>>>
>>> -#if defined(CONFIG_MX6)
>>>  	setbits_le32(ctrl, UCTRL_OVER_CUR_DIS);
>>> -#elif defined(CONFIG_MX7)
>>> -	setbits_le32(ctrl, UCTRL_OVER_CUR_DIS | UCTRL_PM);
>>> -#endif
>>>  }
>>>
>>>  /**
>>>


-- 
Best regards,
Marek Vasut

  reply	other threads:[~2016-07-05 20:52 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-03 19:33 [U-Boot] [PATCH 0/9] mx7: add Colibri iMX7S/iMX7D support Stefan Agner
2016-07-03 19:33 ` [U-Boot] [PATCH 1/9] dm: imx: serial: Support DTE mode when using driver model Stefan Agner
2016-07-03 23:18   ` Simon Glass
2016-07-03 19:33 ` [U-Boot] [PATCH 2/9] usb: ehci-mx6: configure power polarity in usb_power_config Stefan Agner
2016-07-03 22:32   ` Marek Vasut
2016-07-05 20:28     ` Stefan Agner
2016-07-05 20:52       ` Marek Vasut [this message]
2016-07-03 19:33 ` [U-Boot] [PATCH 3/9] usb: ehci-mx6: introduce config for high active power pin Stefan Agner
2016-07-03 22:33   ` Marek Vasut
2016-07-05 20:35     ` Stefan Agner
2016-07-05 20:53       ` Marek Vasut
2016-07-03 19:33 ` [U-Boot] [PATCH 4/9] mx7: set soc environment according to exact SoC type Stefan Agner
2016-07-03 23:18   ` Simon Glass
2016-07-04 12:27   ` Fabio Estevam
2016-07-05 20:47     ` Stefan Agner
2016-07-05 20:56       ` Fabio Estevam
2016-07-05 23:14         ` Stefan Agner
2016-07-03 19:33 ` [U-Boot] [PATCH 5/9] mx7_common: Put display board info config into board file Stefan Agner
2016-07-03 19:33 ` [U-Boot] [PATCH 6/9] mx7_common: use Kconfig for ARMv7 non-secure mode Stefan Agner
2016-07-03 19:33 ` [U-Boot] [PATCH 7/9] imx_watchdog: add weak attribute to reset_cpu function Stefan Agner
2016-07-03 19:33 ` [U-Boot] [PATCH 8/9] power: pmic: add Ricoh RN5T567 PMIC support Stefan Agner
2016-07-03 23:18   ` Simon Glass
2016-07-13  6:10     ` Stefan Agner
2016-07-15  3:19       ` Simon Glass
2016-07-15  4:43         ` Stefan Agner
2016-07-17 14:13           ` Simon Glass
2016-07-03 19:33 ` [U-Boot] [PATCH 9/9] colibri_imx7: add Colibri iMX7S/iMX7D module support Stefan Agner

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=401f9d8a-ce33-90f0-a01b-b23b2b4745c1@denx.de \
    --to=marex@denx.de \
    --cc=u-boot@lists.denx.de \
    /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.