RE: [U-Boot-Users] Problem on using 16C552 with MPC8xx

Hello Sam,
do you really have 32bit (24:8) register access for your 16550?
fa000000 : 00000100 0360f0ff 00000100 0360f0ff ..... fa000010 : 00000100 0360f0ff 00000100 0360f0ff .....
That looks more like 8bit.
Please try #define CFG_NS16550_REG_SIZE 1
Regards, Torsten
-----Original Message----- From: Sam Song [mailto:samsongshu@yahoo.com.cn] Sent: Mittwoch, 3. März 2004 14:49 To: u-boot-users@lists.sourceforge.net Subject: [U-Boot-Users] Problem on using 16C552 with MPC8xx
Hi,
I met a problem when debugging a ST16C552 on my custom board.The related configuration is as follows:
#define CONFIG_CONS_INDEX 1 /* Added by Sam. Copy from OXC board. */ #undef CONFIG_8xx_CONS_SMC2 #undef CONFIG_8xx_CONS_NONE #define CONFIG_BAUDRATE 9600
#define CFG_UART_BASE 0xFA000000 #define CFG_NS16550 #define CFG_NS16550_SERIAL #define CFG_NS16550_REG_SIZE -4 #define CFG_NS16550_CLK 1843200 #define CFG_NS16550_COM1 CFG_UART_BASE
#define CFG_BR4_PRELIM 0xFA000401 /* UART Chip U10 */ #define CFG_OR4_PRELIM 0xFFFF0040
And detailed debug info pls see below.
[root@sgj dmt50-16550]# ppc_8xx-gdb u-boot GNU gdb 5.2.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "--host=i686-pc-linux-gnu --target=powerpc-hardhat-linux"... (gdb) target remote bdi:2001 Remote debugging using bdi:2001 boot_warm () at /u-boot/dmt50-16550/cpu/mpc8xx/start.S:115 115 mtspr SRR1, r3 /* Make SRR1 match MSR */ (gdb) b board_init_f Breakpoint 1 at 0xfff086b0: file board.c, line 348. (gdb) c Continuing.
Breakpoint 1, board_init_f (bootflag=1) at board.c:348 348 memset ((void *) gd, 0, sizeof (gd_t)); (gdb) d b Delete all breakpoints? (y or n) y (gdb) b console_init_f Breakpoint 2 at 0xfff132b8: file console.c, line 367. (gdb) c Continuing.
Breakpoint 2, console_init_f () at console.c:367 367 gd->have_console = 1; (gdb) d b Delete all breakpoints? (y or n) y (gdb) b display_options Breakpoint 3 at 0xfff14884: file display_options.c, line 33. (gdb) c Continuing.
Breakpoint 3, display_options () at display_options.c:33 33 printf ("\n\n%s\n\n", version_string); (gdb) d b Delete all breakpoints? (y or n) y (gdb) b serial.c:90 Breakpoint 4 at 0xfff0b490: file serial.c, line 90. (gdb) c Continuing.
Breakpoint 4, serial_puts ( s=0xfa202d40 "\n\nU-Boot 1.0.0 (Mar 3 2004 - 19:35:51)\n\n") at serial.c:90 90 while (*s) { (gdb) s 91 serial_putc (*s++); (gdb) s serial_putc (c=10 '\n') at serial.c:81 81 if (c == '\n') (gdb) s 82 NS16550_putc(console, '\r'); (gdb) s NS16550_putc (com_port=0xfa000000, c=13 '\r') at ns16550.c:47 47 while ((com_port->lsr & LSR_THRE) == 0); (gdb) s
[It hanged here.After ctrl~c serval times,it had]
Interrupted while waiting for the program. Give up (and stop debugging it)? (y or n) y (gdb) Quit (gdb) quit [root@localhost u-boot-16550]#
=================================================== On BDI2000 console: BDI>re
- TARGET: processing user reset request
- TARGET: resetting target passed
- TARGET: processing target init list ....
- TARGET: processing target init list passed
BDI>bi 0xfff00120 Breakpoint identification is 0 BDI>g
- TARGET: target has entered debug mode
BDI>i Target state : debug mode Debug entry cause : instruction breakpoint Current PC : 0xfff00120 BDI>ci
- TARGET: target has entered debug mode
- TARGET: target has entered debug mode
- TARGET: target has entered debug mode
- TARGET: target has entered debug mode
- TARGET: target has entered debug mode
- TARGET: target has entered debug mode
[When U-Boot hanged at ns16550.c,I got some information on ST16C552 and MPC8xx Dual RAM]
BDI>i Target state : debug mode Debug entry cause : trace Current PC : 0xfff0cec4 BDI>m 0 00000000 : 03ffffff 03ffffff 03ffffff 03ffffff .... 00000010 : 03ffffff 03ffffff 03ffffff 03ffffff .... 00000020 : 03ffffff 03ffffff 03ffffff 03ffffff .... 00000030 : 03ffffff 03ffffff 03ffffff 03ffffff .... 00000040 : 03ffffff 03ffffff 03ffffff 03ffffff .... 00000050 : 03ffffff 03ffffff 03ffffff 03ffffff .... 00000060 : 03ffffff 03ffffff 03ffffff 03ffffff .... 00000070 : 03ffffff 03ffffff 03ffffff 03ffffff .... 00000080 : 03ffffff 03ffffff 03ffffff 03ffffff .... 00000090 : 03ffffff 03ffffff 03ffffff 03ffffff .... 000000a0 : 03ffffff 03ffffff 03ffffff 03ffffff .... 000000b0 : 03ffffff 03ffffff 03ffffff 03ffffff .... 000000c0 : 03ffffff 03ffffff 03ffffff 03ffffff .... 000000d0 : 03ffffff 03ffffff 03ffffff 03ffffff .... 000000e0 : 03ffffff 03ffffff 03ffffff 03ffffff .... 000000f0 : 03ffffff 03ffffff 03ffffff 03ffffff .... BDI>md 0xfa000000 fa000000 : 00000100 0360f0ff 00000100 0360f0ff ..... fa000010 : 00000100 0360f0ff 00000100 0360f0ff .....` fa000020 : 00000100 0360f0ff 00000100 0360f0ff ..... fa000030 : 00000100 0360f0ff 00000100 0360f0ff .....` fa000040 : 00000100 0360f0ff 00000100 0360f0ff .....` fa000050 : 00000100 0360f0ff 00000100 0360f0ff .....` fa000060 : 00000100 0360f0ff 00000100 0360f0ff ..... fa000070 : 00000100 0360f0ff 00000100 0360f0ff ..... fa000080 : 00000100 0360f0ff 00000100 0360f0ff ..... fa000090 : 00000100 0360f0ff 00000100 0360f0ff ..... fa0000a0 : 00000100 0360f0ff 00000100 0360f0ff ..... fa0000b0 : 00000100 0360f0ff 00000100 0360f0ff ..... fa0000c0 : 00000100 0360f0ff 00000100 0360f0ff ..... fa0000d0 : 00000100 0360f0ff 00000100 0360f0ff ..... fa0000e0 : 00000100 0360f0ff 00000100 0360f0ff ..... fa0000f0 : 00000100 0360f0ff 00000100 0360f0ff ..... BDI>m 0xfa202d40 fa202d40 : 0a0a552d 426f6f74 20312e30 2e302028 ..U-Boot 1.0.0 ( fa202d50 : 4d617220 20332032 30303420 2d203139 Mar 3 2004 - 19 fa202d60 : 3a33353a 3531290a 0a004202 42441c18 :35:51)...B.BD.. fa202d70 : bc330868 4b827e4b 2050c005 20231802 .3.hK.~K P.. #.. fa202d80 : 5a1bada2 80a24890 0813799f 34fbd6e6 Z.....H...y.4... fa202d90 : 98d252e1 4b81020a 0aa05fec 14007000 ..R.K....._...p. fa202da0 : 3293d1a5 6301171c c220d6a8 228a92d6 2...c.... .."... fa202db0 : 705113ea 912d3485 9f351618 118dd6a8 pQ...-4..5...... fa202dc0 : fa202dd8 85f9d0dc f73effc6 3d538600 . -......>..=S.. fa202dd0 : fff23220 000000af fa202e00 fff1278c ..2 ..... ....'. fa202de0 : 5c73423e d0328f43 fa202e00 000000a6 \sB>.2.C. ...... fa202df0 : ffffffff fa202ec0 fff23220 00000005 ..... ....2 .... fa202e00 : fa202e28 fff1266c b650a307 212ca06d . .(..&l.P..!,.m fa202e10 : fa202e28 de0c4805 fa202d40 fa202ec0 . .(..H.. -@. .. fa202e20 : fff229b4 fff1bae8 fa202e80 fff085e4 ..)...... ...... fa202e30 : 39363030 00000202 a8acfac3 4514cac2 9600........E... BDI>
==================================================
[root@sgj root]# cu S0@9600 Connected.
[In the whole process,serial console didn't get any output]
================================================
My questions:
- Is it possible to use 16C552 as MPC8xx serial
console UART chip instead of using SMCx? It seemed that only 82xx use UART chip as serial console in u-boot source as far as I know.
- Why did it hang there?How to make it?
Thanks in advance!
Sam
Do You Yahoo!? 完全免费的雅虎电邮,马上注册获赠额外60兆网络存储空间 http://cn.rd.yahoo.com/mail_cn/tag/?http://cn.mail.yahoo.com
SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users

Hello Demke,
"Demke, Torsten" Torsten.Demke@fci.com wrote:
do you really have 32bit (24:8) register access for your 16550?
fa000000 : 00000100 0360f0ff 00000100 0360f0ff
.....
fa000010 : 00000100 0360f0ff 00000100 0360f0ff
..... That looks more like 8bit.
Please try #define CFG_NS16550_REG_SIZE 1
I did and it worked! Thank you so much for pointing out this key problem for me.Actually,I want to use this UART for communicating with another module instead of as serial console.But by now,it seems that there are only demo serial console program for 16550 in both U-Boot and LINUX kernel.OK,anyway,I made the good beginning under your help. Next step,I will try to make some changes on exist program for my special usage.
Thanks again!
Sam
_________________________________________________________ Do You Yahoo!? 完全免费的雅虎电邮,马上注册获赠额外60兆网络存储空间 http://cn.rd.yahoo.com/mail_cn/tag/?http://cn.mail.yahoo.com
participants (2)
-
Demke, Torsten
-
Sam Song