linux-mips
[Top] [All Lists]

Re: serial port 8250 messed up after coverting from little endian to big

To: myuboot@fastmail.fm
Subject: Re: serial port 8250 messed up after coverting from little endian to big endian on kernel 2.6.31
From: Florian Fainelli <florian@openwrt.org>
Date: Tue, 20 Oct 2009 08:17:23 +0200
Cc: linux-kernel@vger.kernel.org, "linux-mips" <linux-mips@linux-mips.org>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:from:reply-to:to :subject:date:user-agent:cc:references:in-reply-to:mime-version :content-type:content-transfer-encoding:message-id; bh=lx7LBNatXhgBfAs7kD3U2WegA+uEc8Z2eAZj13WvHF8=; b=H6UEhAq+7ODqBjEA1YMIAOAaEEItEdWwSgRvfKDkTFne9HktsgLSQT5IS4p5nZrsV0 HZz+69I28bBIkPpq8dReGtXdnO3nzKYF1nCJsP7kEI9zP6O46aen4QER2Im5mstds1WK UHJUxaCGl4S3BCpuEolGQAT7JNb3pxcWK6CUQ=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:from:reply-to:to:subject:date:user-agent:cc:references :in-reply-to:mime-version:content-type:content-transfer-encoding :message-id; b=x3ze4qT0UYrSO/d/RDbu5PRwdSrugH0vpdQEn8SaMIziM8pkSxRuoUan3AF+0Lex++ X8vKXoscAo4lHyfiLUq2X0xvIVwX9iJZokzKeEUYuXbyiXzlpkkSmCwGU1/KWhoOwNVx NW2nhdusKDmeDCPuMcECzCmbegGyqdYh49YBY=
In-reply-to: <1255996564.10560.1340920621@webmail.messagingengine.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1255735395.30097.1340523469@webmail.messagingengine.com> <4AD906D8.3020404@caviumnetworks.com> <1255996564.10560.1340920621@webmail.messagingengine.com>
Reply-to: Florian Fainelli <florian@openwrt.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: KMail/1.12.1 (Linux/2.6.29-2-686; KDE/4.3.1; i686; ; )
Hi,

Le mardi 20 octobre 2009 01:56:04, myuboot@fastmail.fm a écrit :
> I am trying to bringup a MIPS32 board using 2.6.31. It is working in
> little endian mode. After changing the board's hardware from little
> endian to bit endian, the serial port print messed up. It prints now
> something like - "àààààààààààààààà" on the screen. When I trace the
> execution, I can see the string the kernel is trying print is correct -
> "Linux version 2.6.31 ..." and etc.
> 
> I guess it means the initialization of the serial port is not properly
> done. But I am not sure where I should check for the problem. The serial
> port device I am using is 8250. Please give me some advise.

If the same initialization routine used to work in little-endian, check how 
you actually write and read characters from the UART FIFO and especially if 
your hardware requires you to do word or byte access to these registers.

You can have a look at AR7, which has the same code working for Little and Big 
Endian modes in arch/mips/ar7/prom.c lines 272 to the end of the file. It also 
uses a 8250-compatible UART.

Attachment: signature.asc
Description: This is a digitally signed message part.

<Prev in Thread] Current Thread [Next in Thread>