From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Quadros Date: Tue, 20 Aug 2013 12:45:15 +0300 Subject: [U-Boot] ARM: omap3: Implement dpll5 (HSUSB clk) workaround for OMAP36xx/AM/DM37xx according to errata sprz318e. In-Reply-To: <52132DBE.5000804@andin.de> References: <1373355797-28758-1-git-send-email-anaumann@ultratronik.de> <520C429C.6020009@pabigot.com> <20130816133850.GO13632@bill-the-cat> <520E3860.7030409@pabigot.com> <52132DBE.5000804@andin.de> Message-ID: <52133AAB.4050700@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, On 08/20/2013 11:50 AM, Andreas Naumann wrote: > Hi, > > Am 16.08.2013 17:30, schrieb Robert Nelson: >> On Fri, Aug 16, 2013 at 10:07 AM, Robert Nelson wrote: >>> On Fri, Aug 16, 2013 at 9:34 AM, Peter A. Bigot wrote: >>>> On 08/16/2013 08:38 AM, Tom Rini wrote: >>>>> >>>>> On Wed, Aug 14, 2013 at 09:53:16PM -0500, Peter A. Bigot wrote: >>>>>> >>>>>> On 07/09/2013 02:43 AM, Naumann Andreas wrote: >>>>>>> >>>>>>> In chapter 'Advisory 2.1 USB Host Clock Drift Causes USB Spec >>>>>>> Non-compliance in Certain Configurations' of the TI Errata it is recommended >>>>>>> to use certain div/mult values for the DPLL5 clock setup. >>>>>>> So far u-boot used the old 34xx values, so I added the errata >>>>>>> recommended values specificly for 36xx init only. >>>>>>> Also, the FSEL registers exist no longer, so removed them from init. >>>>>>> >>>>>>> Tested this on a AM3703 board with 19.2MHz oscillator, which previously >>>>>>> couldnt lock the dpll5 (kernel complained). As a consequence the EHCI USB >>>>>>> port wasnt usable in U-Boot and kernel. With this patch, kernel panics >>>>>>> disappear and USB working fine in u-boot and kernel. >>>>>>> >>>>>>> Signed-off-by: Andreas Naumann >>>>>> >>>>>> While this patch works with Linux that has been patched for this >>>>>> erratum, it will cause problems with some unpatched versions of >>>>>> Linux. >>>>> >>>>> Right. So Linux also needs to be patched for the erratum. >>>> >>>> >>>> Yes. My point was that if you update u-boot alone, then try to use it to >>>> boot an unpatched Linux that assumes CM_CLKSEL5_PLL has its power-on value, >>>> USB will not work. > > Oh, I was not aware of that. But indeed i use a patched 3.1 kernel, see below. > Some info on the history: In our design (19.2MHz crystal) we could clearly see the errata problem of high jitter on the 60MHz USB clock when (re-)booting a board that was already warmed up. > Back then I applied a slightly extended kernel patch (see below) that I found on some kernel list. This reproducably did solve the problem with the jitter. We verified this with a high quality oscilloscope and numerous powercycles at different temperatures. The U-Boot in use was 2010.09 and some old X-Loader, both of which dont touch the PLL4/5 stuff. > > Introducing the current U-Boot (to make use of SPL) brought up above described problems with the clock, probably due to setting the lock mode active. Hence this patch for DM37xx. > What are the symptoms you see when this issue triggers? What is the test case to trigger the error? Is it just running any USB I/O for long enough time? I have a beagle-xm (DM3730 ES1.2) with me and would like to reproduce the error. cheers, -roger