All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jaret Cantu <jaret.cantu-jEh4hwF5bVhBDgjK7y7TUQ@public.gmane.org>
To: Peter Chen <hzpeterchen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	felipe.balbi-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH v3] usb: phy: mxs: Add DT bindings to configure TX settings
Date: Wed, 23 Mar 2016 13:37:01 -0400	[thread overview]
Message-ID: <56F2D43D.1040404@timesys.com> (raw)
In-Reply-To: <20160323043638.GA18462@peterchendt>

On 03/23/2016 12:36 AM, Peter Chen wrote:
> On Mon, Mar 21, 2016 at 12:32:27PM -0400, Jaret Cantu wrote:
>> The TX settings can be calibrated for particular hardware.  The
>> phy is reset by Linux, so this cannot be handled by the bootloader.
>>
>> The TRM mentions that the maximum resistance should be used for the
>> DN/DP calibration in order to pass USB certification.
>>
>> The values for the TX registers are poorly described in the TRM.
>> The meanings of the register values were taken from another
>> Freescale-provided document:
>> https://community.freescale.com/message/566147#comment-566912
>>
>> Signed-off-by: Jaret Cantu <jaret.cantu-jEh4hwF5bVhBDgjK7y7TUQ@public.gmane.org>
>> ---
>> v3. Added unit suffix (-ohms) to tx-cal-45-d*
>>
>> v2. Copying devicetree list
>>      Removed prettifying extra whitespace
>>      Removed unnecessary register rewrite on resume
>>      Use min and max constants for clarity
>>
>>   .../devicetree/bindings/phy/mxs-usb-phy.txt        |   10 ++++
>>   drivers/usb/phy/phy-mxs-usb.c                      |   58 ++++++++++++++++++++
>>   2 files changed, 68 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/phy/mxs-usb-phy.txt b/Documentation/devicetree/bindings/phy/mxs-usb-phy.txt
>> index 379b84a..1d25b04 100644
>> --- a/Documentation/devicetree/bindings/phy/mxs-usb-phy.txt
>> +++ b/Documentation/devicetree/bindings/phy/mxs-usb-phy.txt
>> @@ -12,6 +12,16 @@ Required properties:
>>   - interrupts: Should contain phy interrupt
>>   - fsl,anatop: phandle for anatop register, it is only for imx6 SoC series
>>
>> +
>> +	if (!of_property_read_u32(np, "fsl,tx-d-cal", &val) &&
>> +	    val >= MXS_PHY_TX_D_CAL_MIN && val <= MXS_PHY_TX_D_CAL_MAX) {
>> +		/* scale to 4-bit value */
>> +		val = (MXS_PHY_TX_D_CAL_MAX - val) * 0xF
>> +			/ (MXS_PHY_TX_D_CAL_MAX - MXS_PHY_TX_D_CAL_MIN);
>> +		mxs_phy->tx_reg_mask |= GM_USBPHY_TX_D_CAL(~0);
>> +		mxs_phy->tx_reg_set  |= GM_USBPHY_TX_D_CAL(val);
>> +	}
>> +
>
> I have tested "tx-d-cal", but it seems incorrect according to the xls you
> have provided, would you please check it again or am I wrong?

Gah! You're right. Some of the D_CAL values need to be rounded up to 
match the xls.  And even then, the value for 86 still doesn't play nice. 
  I was really hoping to avoid using a table for these values.

The TXCALDP/DN values use a much simpler 1-to-1 scale across the 16 
possible register values and so are unaffected by a similar issue.  I 
rechecked their numbers just to be sure.

>
> dts changes:
>
> +&usbphy1 {
> +       fsl,tx-d-cal = <109>;
> +};
> +
> +&usbphy2 {
> +       fsl,tx-d-cal = <106>;
> +};
> +
>
> The phy1's tx-d-cal is 0x3, and phy2's tx-d-cal is 0x4 after PHY initialization,
> but according to xls, it should be 0x4 and 0x5.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2016-03-23 17:37 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1457040571-7775-1-git-send-email-jaret.cantu@timesys.com>
     [not found] ` <1457040571-7775-1-git-send-email-jaret.cantu-jEh4hwF5bVhBDgjK7y7TUQ@public.gmane.org>
2016-03-15 16:54   ` [PATCH v2] usb: phy: mxs: Add DT bindings to configure TX settings Jaret Cantu
     [not found]     ` <1458060853-15115-1-git-send-email-jaret.cantu-jEh4hwF5bVhBDgjK7y7TUQ@public.gmane.org>
2016-03-18 21:19       ` Rob Herring
2016-03-21 16:32         ` [PATCH v3] " Jaret Cantu
     [not found]           ` <1458577947-12614-1-git-send-email-jaret.cantu-jEh4hwF5bVhBDgjK7y7TUQ@public.gmane.org>
2016-03-23  1:53             ` Peter Chen
2016-03-23  4:36             ` Peter Chen
2016-03-23 17:37               ` Jaret Cantu [this message]
     [not found]                 ` <56F2D43D.1040404-jEh4hwF5bVhBDgjK7y7TUQ@public.gmane.org>
2016-03-23 18:17                   ` Jaret Cantu
     [not found]                     ` <56F2DDB7.7070700-jEh4hwF5bVhBDgjK7y7TUQ@public.gmane.org>
2016-03-24  2:21                       ` Peter Chen
2016-03-30 10:29                         ` Felipe Balbi
     [not found]                           ` <874mboqmwh.fsf-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-03-31  6:49                             ` Peter Chen
2016-06-08 21:27                         ` Jaret Cantu
     [not found]                           ` <57588DA8.4050000-jEh4hwF5bVhBDgjK7y7TUQ@public.gmane.org>
2016-06-09  2:41                             ` Peter Chen
     [not found]                               ` <CAL411-of2Phqx18LBaGt6FMg5DxaJesRYvrRzsfSNyJRopsUZQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-09 18:07                                 ` Justin Waters
     [not found]                                   ` <CAENNV6+978syhexzQber58xuai=grC2_TsVF3GmHCAp_Zj=HZQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-12  3:25                                     ` Peter Chen
2016-06-13 20:40                                       ` Jaret Cantu
     [not found]                                         ` <575F1A57.6030807-jEh4hwF5bVhBDgjK7y7TUQ@public.gmane.org>
2016-06-14  2:06                                           ` Peter Chen
2016-03-23 14:54             ` Rob Herring

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=56F2D43D.1040404@timesys.com \
    --to=jaret.cantu-jeh4hwf5bvhbdgjk7y7tuq@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=felipe.balbi-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=hzpeterchen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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.