From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter A. Bigot Date: Fri, 16 Aug 2013 09:34:08 -0500 Subject: [U-Boot] ARM: omap3: Implement dpll5 (HSUSB clk) workaround for OMAP36xx/AM/DM37xx according to errata sprz318e. In-Reply-To: <20130816133850.GO13632@bill-the-cat> References: <1373355797-28758-1-git-send-email-anaumann@ultratronik.de> <520C429C.6020009@pabigot.com> <20130816133850.GO13632@bill-the-cat> Message-ID: <520E3860.7030409@pabigot.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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. I think it's dangerous to assume that the mixture of an unpatched Linux with a patched u-boot will never occur, and the cause of the failure that results is pretty subtle. So whatever gets merged would be safer if it restored the default setting of CM_CLKSEL5_PLL prior to handing off control to Linux. Peter