From: Peter De Schrijver <pdeschrijver@nvidia.com>
To: Dmitry Osipenko <digetx@gmail.com>
Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com>,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"jonathanh@nvidia.com" <jonathanh@nvidia.com>,
"mturquette@baylibre.com" <mturquette@baylibre.com>,
"pgaikwad@nvidia.com" <pgaikwad@nvidia.com>,
"sboyd@kernel.org" <sboyd@kernel.org>,
"thierry.reding@gmail.com" <thierry.reding@gmail.com>,
"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>
Subject: Re: [PATCH] clk: tegra: fix pllu rate configuration
Date: Wed, 28 Feb 2018 16:14:48 +0200 [thread overview]
Message-ID: <20180228141448.GD6190@tbergstrom-lnx.Nvidia.com> (raw)
In-Reply-To: <cd836479-7c30-cfbe-715b-31387679c444@gmail.com>
On Wed, Feb 28, 2018 at 03:00:23PM +0300, Dmitry Osipenko wrote:
> On 28.02.2018 12:36, Peter De Schrijver wrote:
> > On Tue, Feb 27, 2018 at 02:59:11PM +0300, Dmitry Osipenko wrote:
> >> On 27.02.2018 02:04, Marcel Ziswiler wrote:
> >>> On Mon, 2018-02-26 at 15:42 +0300, Dmitry Osipenko wrote:
> >>>> On 23.02.2018 02:04, Marcel Ziswiler wrote:
> >>>>> Turns out latest upstream U-Boot does not configure/enable pllu
> >>>>> which
> >>>>> leaves it at some default rate of 500 kHz:
> >>>>>
> >>>>> root@apalis-t30:~# cat /sys/kernel/debug/clk/clk_summary | grep
> >>>>> pll_u
> >>>>> pll_u 3 3 0 500000
> >>>>> 0
> >>>>>
> >>>>> Of course this won't quite work leading to the following messages:
> >>>>>
> >>>>> [ 6.559593] usb 2-1: new full-speed USB device number 2 using
> >>>>> tegra-
> >>>>> ehci
> >>>>> [ 11.759173] usb 2-1: device descriptor read/64, error -110
> >>>>> [ 27.119453] usb 2-1: device descriptor read/64, error -110
> >>>>> [ 27.389217] usb 2-1: new full-speed USB device number 3 using
> >>>>> tegra-
> >>>>> ehci
> >>>>> [ 32.559454] usb 2-1: device descriptor read/64, error -110
> >>>>> [ 47.929777] usb 2-1: device descriptor read/64, error -110
> >>>>> [ 48.049658] usb usb2-port1: attempt power cycle
> >>>>> [ 48.759475] usb 2-1: new full-speed USB device number 4 using
> >>>>> tegra-
> >>>>> ehci
> >>>>> [ 59.349457] usb 2-1: device not accepting address 4, error -110
> >>>>> [ 59.509449] usb 2-1: new full-speed USB device number 5 using
> >>>>> tegra-
> >>>>> ehci
> >>>>> [ 70.069457] usb 2-1: device not accepting address 5, error -110
> >>>>> [ 70.079721] usb usb2-port1: unable to enumerate USB device
> >>>>>
> >>>>> Fix this by actually allowing the rate also being set from within
> >>>>> the Linux kernel.
> >
> > I think the best solution to this problem would be to make pll_u a fixed
> > clock and enable it and program the rate if it's not enabled at boot.
>
> Oh, right. PLL_U rate is actually configurable, somehow I missed it in TRM
> yesterday.. So set/round_rate() for PLL_U are actually needed and the patch is
> correct. Seems only T20 misses PLL_U in the init table, probably worth to add it
> there.
>
AFAIK we only use one rate ever?
> > This is how it's done for Tegra210. The reason is that the USB IP blocks
> > can control the pll_u state in hw. This means that if sw would disable
> > and then re-enable the pll_u clock, but there is no USB activity, pll_u
> > will still be disable and therefor not lock, causing an error. Today
> > this is worked around by not polling the lock bit for pll_u, but a better
> > solution would be to just remove all sw controls for pll_u.
>
> SW controls could be removed, but I don't think it is really necessary as in our
> case SW is the PHY driver and we know what it does. Alternatively we can enable
> PLL_U in the init table to keep it "always" enabled.
next prev parent reply other threads:[~2018-02-28 14:14 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20180222230451.15515-1-marcel@ziswiler.com>
2018-02-26 12:42 ` [PATCH] clk: tegra: fix pllu rate configuration Dmitry Osipenko
2018-02-26 23:04 ` Marcel Ziswiler
2018-02-27 11:59 ` Dmitry Osipenko
2018-02-28 9:36 ` Peter De Schrijver
2018-02-28 12:00 ` Dmitry Osipenko
2018-02-28 14:14 ` Peter De Schrijver [this message]
2018-02-28 17:20 ` Dmitry Osipenko
2018-03-01 7:41 ` Peter De Schrijver
2018-03-01 13:19 ` Dmitry Osipenko
2018-03-01 13:44 ` Dmitry Osipenko
2018-03-02 9:02 ` Jon Hunter
2018-03-02 11:25 ` Peter De Schrijver
2018-03-02 8:56 ` Jon Hunter
2018-03-08 14:57 ` Thierry Reding
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=20180228141448.GD6190@tbergstrom-lnx.Nvidia.com \
--to=pdeschrijver@nvidia.com \
--cc=digetx@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=marcel.ziswiler@toradex.com \
--cc=mturquette@baylibre.com \
--cc=pgaikwad@nvidia.com \
--cc=sboyd@kernel.org \
--cc=thierry.reding@gmail.com \
/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