Problems porting to a custom PPC405GPr board using a vanilla 2.6.10 kernel

Niklaus Giger niklaus.giger at member.fsf.org
Mon Apr 18 06:13:20 EST 2005


Hi

Just to document my error I respond to my previous posting.

After having dropped my work on this problem for a few weeks
I figured my problem. I was merging code from the walnut board which was based 
on the IBM boot eprom which has a different layout to pass the information to
the Linux kernel.

After switching to the U-Boot memory the kernel booted okay. 

After disabling the following two lines in drivers/serial/8250.c
	serial_outp(up, UART_DLL, quot & 0xff);		/* LS of divisor */
	serial_outp(up, UART_DLM, quot >> 8);		/* MS of divisor */
my console stays at 9600 baud. 

Best regards

Am Sonntag, 27. Februar 2005 18.20 schrieb Niklaus Giger:
> Am Sonntag, 27. Februar 2005 17.08 schrieb Matt Porter:
> > On Sun, Feb 27, 2005 at 04:10:30PM +0100, Niklaus Giger wrote:
> > > Am Samstag, 26. Februar 2005 23.28 schrieb Niklaus Giger:
> > > > Hi
> > > >
> > > > I would like to port Linux to a custom PPC405GPr board. Its hardware
> > > > runs vxWorks fine for more than a year.
> > >
> > > I made some more progress. After adding 3 lines for MMU support with
> > > the BDI I can debug the startup up to kernel_start using BDI.
> > >
> > > Afterwards my console changes the baudrate for still unknown reasons.
> >
> > How do you know this? Console isn't initialized until after the kernel
> > command line printk and a few other facilities are initialized.
>
> Because I see the following output
> arch: exit
> *Ë«ã¾µº³¹¿¾¶¹³¼±µ³ ¶·¾·¹·µ²´¹¶´¾³¿º··³³¦µ²»¹¿¾¤µ²¹±¾£µ¾¦µ²£¥¤¢½¹¼
> ´º·¾µ¼¹³¼³£µ²¾µ¼³·½½±¾´¼±¾µ³·¾»¿¼µ´¼¹«±° ¡¤¸±³¸¼±²¼µµ¾¼²±µ»·²´µ²²¹´µ³
> which for me is typical for a wrong baudrate.
> Okay, I do not know this. Specially it may not be the "console" device but
> whatever is going out at this moment via the PPC405GPr internal UART0
> device.
>
> > > Analysing the __log_buf I get the following output
> > > (gdb) x/s &__log_buf
> > > 0xc01accfc <ratelimit_lock.9>:   "<4>Linux version 2.6.10
> > > (niklaus at ng.ngiger.dyndns.org) (gcc-Version 3.3.5 (Debian 1:3.3.5-8))
> > > #15 Sun Feb 27 14:44:27 CET 2005\n<7>On node 0 totalpages: 8240\n<7> 
> > > DMA zone: 8240 pages, LIFO batch:2\n<7>"...
> > > (gdb) x
> > > 0xc01acdc4 <ratelimit_lock.9+200>:       "  Normal zone: 0 pages, LIFO
> > > batch:1\n<7>  HighMem zone: 0 pages, LIFO batch:1\n<4>Built 1
> > > zonelists\n<4>Kernel command line: ip=172.25.1.6\n<4>PID hash table
> > > entries: 256 (order:8, 4096 bytes)\n"
> > > (gdb) x
> > > 0xc01ace84 <ratelimit_lock.9+392>:       ""
> >
> > Is this all of the log_buf output? Try setting your kernel cmdline
> > with "console=ttyS0,115200" where 115200 is you console baudrate
> > you are using in U-Boot. Otherwise, the kernel 8250 driver has no
> > idea which baudrate to set for the 8250/console.
>
> Yes, this is all. I tried you suggestion, but I got no other result. The
> paramter "console=ttyS0,9600" now is found in the log buffer. Or is ttyS0
> the wrong device name for the internal PPC405Gpr UART0?
> I am using 9600 8 bit no parity which should be anyway the default baudrate
> for the console.
>
> Thanks for your help

-- 
Niklaus Giger
Wieshoschet 6
CH-8753 Mollis
Tel. ++41 55 612 20 54 (privat)
Tel. ++41 55 618 64 68 (Geschäft)



More information about the Linuxppc-embedded mailing list