devicetree.vger.kernel.org archive mirror
 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 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).