Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261811AbVCZPKQ (ORCPT ); Sat, 26 Mar 2005 10:10:16 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S262116AbVCZPKQ (ORCPT ); Sat, 26 Mar 2005 10:10:16 -0500 Received: from caramon.arm.linux.org.uk ([212.18.232.186]:25612 "EHLO caramon.arm.linux.org.uk") by vger.kernel.org with ESMTP id S261811AbVCZPKK (ORCPT ); Sat, 26 Mar 2005 10:10:10 -0500 Date: Sat, 26 Mar 2005 15:10:05 +0000 From: Russell King To: Jan Engelhardt Cc: Luca , linux-kernel@vger.kernel.org Subject: Re: Garbage on serial console after serial driver loads Message-ID: <20050326151005.D12809@flint.arm.linux.org.uk> Mail-Followup-To: Jan Engelhardt , Luca , linux-kernel@vger.kernel.org References: <20050325202414.GA9929@dreamland.darkstar.lan> <20050325203853.C12715@flint.arm.linux.org.uk> <20050325210132.GA11201@dreamland.darkstar.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: ; from jengelh@linux01.gwdg.de on Sat, Mar 26, 2005 at 11:16:09AM +0100 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1399 Lines: 34 On Sat, Mar 26, 2005 at 11:16:09AM +0100, Jan Engelhardt wrote: > >Well, serial_core seems to think so: > > > >Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled > >ttyS0 at I/O 0x3f8 (irq = 4) is a NS16550A > >ttyS1 at I/O 0x2f8 (irq = 3) is a NS16550A > >ttyS0 at I/O 0x3f8 (irq = 4) is a NS16550A > > Does it work if you set the baud rate manually, as a bootloader option? Doesn't matter. The problem is that dwmw2's NS16550A patch (from ages ago) changes the prescaler setting for this device so we can use the higher speed baud rates. This means any programmed divisor (programmed at early serial console initialisation time) suddenly becomes wrong as soon as we fiddle with the prescaler during normal UART initialisation time. I think the argument for not initialising serial console _until_ after UART initialisation time is gaining more technical merit: 1. spinlock initialisation issues (see other threads) 2. prescaler/divisor interaction issues (this thread) even though it isn't _that_ desirable. -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 Serial core - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/