UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
7,581 Views
Registered: ‎12-30-2008

PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Hi,

       I'm facing the same problem describe in Answer Record #33008

 

AR #33008 - 11.1 EDK - The BSP with the UartNS550 for MontaVista 5.0.24 kernel fails to boot

 

I am using Xilinx ISE 14.1, and I'm using xps_uart16550_v3_00_a, instead of xps_uart16550_v2_00_b, which is obsolete and is not supplied with ISE 14.1.

 

Would someone have a similar patch for arch/powerpc/boot/virtex.c, so that I can update it for the xps_uart16550_v3_00_a?

 

What is the best way to find the differences from a linux kernel driver standpoint, as versions of the ip core keep getting updated?

 

Best regards,

 

Elvis Dowson

0 Kudos
1 Solution

Accepted Solutions
9,669 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Hi,

      I finally got the ML507 board to with the PowerPC 440 soft-float configuration, using linux-xilinx-3.3.0 kernel, and the current yocto/master branch (poky 7.0).

 

The problem was eglibc-2.16. This is broken for some reason. 

 

Reverting to eglibc-2.13 worked, along with using a legacy gcc-4.5.1 cross compiler.

 

 

zImage starting: loaded at 0x00800000 (sp: 0x017befa0)

Allocating 0x54cf4c bytes for kernel ...

gunzipping (0x00000000 <- 0x0080f000:0x00a1aee3)...done 0x42f600 bytes

Attached initrd image at 0x00a1b000-0x017bd3d7

initrd head: 0x1f8b0808

 

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh

Finalizing device tree... flat tree at 0x17cb0e0

 PM: Adding info for No Bus:ttyv9

[    0.581774] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled

[    0.587332] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550

[    0.782789] console [ttyS0] enabled

[    0.828259] brd: module loaded

[    0.874773] loop: module loaded

[    0.912055] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12

[    0.988726] xsysace 83600000.sysace: No CF in slot

[    1.047840] Xilinx SystemACE device driver, major=254

[    1.108777] xilinx_emaclite 81000000.ethernet: Device Tree Probing

[    1.182300] xilinx_emaclite 81000000.ethernet: error registering MDIO bus

[    1.263386] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00

[    1.357074] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17

[    1.472040] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'                                              

[    1.541268] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22                   

[    1.640652] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'                                              

[    1.710344] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23                   

[    1.810852] mousedev: PS/2 mouse device common for all mice                                                  

[    1.878355] i2c /dev entries driver                                                                          

[    1.919932] Device Tree Probing 'i2c'                                                                        

[    1.964188] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18                                        

[    2.041771] TCP cubic registered                                                                            

[    2.079648] NET: Registered protocol family 17                                                              

[    2.875052] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000                               

[    3.359350] RAMDISK: gzip image found at block 0                                                            

[    3.883252] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0        

[    6.355423] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended                    

[    6.452822] VFS: Mounted root (ext2 filesystem) on device 1:0.                                              

[    6.523399] Freeing unused kernel memory: 160k freed                                                        

/bin/sh: can't access tty; job control turned off                                                              

/ # ls                                                                                                          

bin    dev    home   media  proc   sys    usr                                                                  

boot   etc    lib    mnt    sbin   tmp    var                                                                  

/ # 

 

Best regards,

 

Elvis Dowson

0 Kudos
20 Replies
7,578 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

I have attached a output from gdb, using the techniques outlined in XAPP1137. 

 

I still cannot see a console output with ttyS0, and there is no kernel crash, etc. The kernel seems to be booting fine. I used the simpleImage.initrd.virtex440-ml507.elf image, using XMD, and downloaded it straight to the ML507 board.

 

Could anyone help me with trying to get a console output with ttyS0?

 

Output for simpleImage.initrd.virtex440-ml507.elf

 

(gdb) syslog

<6>Using Xilinx Virtex440 machine description

<5>Linux version 3.3.0-14.2-build1+ (elvis@eos) (gcc version 4.7.2 20120706 (prerelease) (GCC) ) #32 PREEMPT Sat Jul 28 23:51:44 GST 2012

<4>Found initrd at 0xc0a0c000:0xc0b7bf20

<7>Top of RAM: 0x10000000, Total RAM: 0x10000000

<7>Memory hole size: 0MB

<4>Zone PFN ranges:

<4>  DMA      0x00000000 -> 0x00010000

<4>  Normal   empty

<4>Movable zone start PFN for each node

<4>Early memory PFN ranges

<4>    0: 0x00000000 -> 0x00010000

<7>On node 0 totalpages: 65536

<7>free_area_init_node: node 0, pgdat c03f2710, node_mem_map c051b000

<7>  DMA zone: 512 pages used for memmap

<7>  DMA zone: 0 pages reserved

<7>  DMA zone: 65024 pages, LIFO batch:15

<6>MMU: Allocated 1088 bytes of context maps for 255 contexts

<7>pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768

<7>pcpu-alloc: [0] 0 

<4>Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024

<5>Kernel command line: console=ttyS0,9600 ip=off root=/dev/ram rw

<6>PID hash table entries: 1024 (order: 0, 4096 bytes)

<6>Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)

<6>Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)

<6>Memory: 253088k/262144k available (3956k kernel code, 9056k reserved, 124k data, 1140k bss, 156k init)

<6>Kernel virtual memory layout:

<6>  * 0xfffdf000..0xfffff000  : fixmap

<6>  * 0xfde00000..0xfe000000  : consistent mem

<6>  * 0xfde00000..0xfde00000  : early ioremap

<6>  * 0xd1000000..0xfde00000  : vmalloc & ioremap

<6>NR_IRQS:512 nr_irqs:512 16

<7>time_init: decrementer frequency = 400.000000 MHz

<7>time_init: processor frequency   = 400.000000 MHz

<6>clocksource: timebase mult[2800000] shift[24] registered

<7>clockevent: decrementer mult[66666666] shift[32] cpu[0]

<6>Console: colour dummy device 80x25

<6>pid_max: default: 32768 minimum: 301

<6>Mount-cache hash table entries: 512

<6>devtmpfs: initialized

<6>NET: Registered protocol family 16

<6>PCI: Probing PCI hardware

<7>PCI: max bus depth: 0 pci_try_num: 1

<6>bio: create slab <bio-0> at 0

<6>gpiochip_add: registered GPIOs 248 to 255 on device: /plb@0/gpio@81460000

<6>gpiochip_add: registered GPIOs 240 to 247 on device: /plb@0/gpio@81440000

<6>gpiochip_add: registered GPIOs 235 to 239 on device: /plb@0/gpio@81420000

<6>gpiochip_add: registered GPIOs 230 to 234 on device: /plb@0/gpio@81400000

<6>vgaarb: loaded

<6>Switching to clocksource timebase

<6>NET: Registered protocol family 2

<6>IP route cache hash table entries: 2048 (order: 1, 8192 bytes)

<6>TCP established hash table entries: 8192 (order: 4, 65536 bytes)

<6>TCP bind hash table entries: 8192 (order: 3, 32768 bytes)

<6>TCP: Hash tables configured (established 8192 bind 8192)

<6>TCP reno registered

<6>UDP hash table entries: 256 (order: 0, 4096 bytes)

<6>UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)

<6>NET: Registered protocol family 1

<6>RPC: Registered named UNIX socket transport module.

<6>RPC: Registered udp transport module.

---Type <return> to continue, or q <return> to quit---

<6>RPC: Registered tcp transport module.

<6>RPC: Registered tcp NFSv4.1 backchannel transport module.

<7>PCI: CLS 0 bytes, default 32

<6>Trying to unpack rootfs image as initramfs...

<6>rootfs image is not initramfs (no cpio magic); looks like an initrd

<6>Freeing initrd memory: 1472k freed

<6>ROMFS MTD (C) 2007 Red Hat, Inc.

<6>JFS: nTxBlock = 1996, nTxLock = 15973

<6>msgmni has been set to 499

<6>Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)

<6>io scheduler noop registered

<6>io scheduler deadline registered

<6>io scheduler cfq registered (default)

<6>Console: switching to colour frame buffer device 80x30

<6>Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled

<6>brd: module loaded

<6>loop: module loaded

<6>xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12

<6>xsysace 83600000.sysace: capacity: 3915072 sectors

<6> xs`: xs`1 xs`2

<6>Xilinx SystemACE device driver, major=254

<6>8c000000.flash: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000089 Chip ID 0x008919

<6>Intel/Sharp Extended Query Table at 0x010A

<6>Intel/Sharp Extended Query Table at 0x010A

<6>Intel/Sharp Extended Query Table at 0x010A

<6>Intel/Sharp Extended Query Table at 0x010A

<6>Intel/Sharp Extended Query Table at 0x010A

<6>Using buffer write method

<6>Using auto-unlock on power-up/resume

<5>cfi_cmdset_0001: Erase suspend on write enabled

<7>erase region 0: offset=0x0,size=0x20000,blocks=255

<7>erase region 1: offset=0x1fe0000,size=0x8000,blocks=4

<6>xilinx_emaclite 81000000.ethernet: Device Tree Probing

<4>xilinx_emaclite 81000000.ethernet: error registering MDIO bus

<6>xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00

<6>xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD11C0000, irq=17

<6>xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'

<6>xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1034000, irq=22

<6>xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'

<6>xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1036000, irq=23

<6>mousedev: PS/2 mouse device common for all mice

<6>TCP cubic registered

<6>NET: Registered protocol family 17

<4>Warning: unable to open an initial console.

<4>atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000

<6>input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0

<5>RAMDISK: gzip image found at block 0

<6>VFS: Mounted root (ext2 filesystem) on device 1:0.

<6>devtmpfs: mounted

<6>Freeing unused kernel memory: 156k freed

 

(gdb) 

0 Kudos
Scholar norman_wong
Scholar
7,575 Views
Registered: ‎05-28-2012

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

If all else is working, the login shell is attached in the /etc/inittab file in the filesystem.

 

0 Kudos
7,568 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Hi,

       I modified the /etc/inittab entries in the ramdisk.image.gz file, using the following procedure:

 

Uncompress the ramdisk image.

 

$ gunzip ramdisk.image.gz

 

Mount it (needs superuser priviliges) to a directory that already exists.

 

$ sudo mkdir /media/ramdisk

$ sudo mount -o loop ramdisk.image /media/ramdisk

 

Add or remove files from the ramdisk image, and add any of your programs - take a browse at /mnt/image, or wherever you mounted the files

 

$ sudo gedit /media/ramdisk/etc/inittab

 

# This is run first except when booting in single-user mode.
::sysinit:/etc/rc.sh

# /bin/sh invocations on selected ttys
#
# Start an "askfirst" shell on /dev/ttyS1
#ttyS1::askfirst:-/bin/sh

#
# Start internet super daemon; do NOT background!
#::respawn:/usr/sbin/xinetd -stayalive -reuse -pidfile /tmp/xinetd.pid

# Start user application
#::respawn:/bin/application
# Must be last 'respawn' entry to avoid ^C problem
# Start a shell on the console
#::respawn:-/bin/sh
S:2345:respawn:/bin/sh 9600 ttyS0

 

Step 09.04: When you have finished, unmount the filesystem.

 

$ sudo umount /media/ramdisk

 

Step 09.05: Re-compress the image

 

$ gzip -9 ramdisk.image

 

but I still get no console prompt for /bin/sh

 

zImage starting: loaded at 0x00800000 (sp: 0x00b7dfb0)
Allocating 0x51908c bytes for kernel ...
gunzipping (0x00000000 <- 0x0080f000:0x00a0b1cb)...done 0x3fb5e0 bytes
Attached initrd image at 0x00a0c000-0x00b7c705
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0 ip=off root=/dev/ram rw
Finalizing device tree... flat tree at 0xb8a0e0

 

I also checked /etc/securetty and ttyS0 is in the list of devices

 

Is there something else that I should be looking into?

 

Best regards,

 

Elvis Dowson

0 Kudos
7,567 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Here is the kernel gdb output:

 

<6>Using Xilinx Virtex440 machine description
<5>Linux version 3.3.0-14.2-build1+ (elvis@eos) (gcc version 4.7.2 20120706 (prerelease) (GCC) ) #34 PREEMPT Sun Jul 29 22:24:17 GST 2012
<4>Found initrd at 0xc0a0c000:0xc0b7c705
<7>Top of RAM: 0x10000000, Total RAM: 0x10000000
<7>Memory hole size: 0MB
<4>Zone PFN ranges:
<4> DMA 0x00000000 -> 0x00010000
<4> Normal empty
<4>Movable zone start PFN for each node
<4>Early memory PFN ranges
<4> 0: 0x00000000 -> 0x00010000
<7>On node 0 totalpages: 65536
<7>free_area_init_node: node 0, pgdat c03f2710, node_mem_map c051b000
<7> DMA zone: 512 pages used for memmap
<7> DMA zone: 0 pages reserved
<7> DMA zone: 65024 pages, LIFO batch:15
<6>MMU: Allocated 1088 bytes of context maps for 255 contexts
<7>pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
<7>pcpu-alloc: [0] 0
<4>Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
<5>Kernel command line: console=ttyS0 ip=off root=/dev/ram rw
<6>PID hash table entries: 1024 (order: 0, 4096 bytes)
---Type <return> to continue, or q <return> to quit---
<6>Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
<6>Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
<6>Memory: 253084k/262144k available (3956k kernel code, 9060k reserved, 124k data, 1140k bss, 156k init)
<6>Kernel virtual memory layout:
<6> * 0xfffdf000..0xfffff000 : fixmap
<6> * 0xfde00000..0xfe000000 : consistent mem
<6> * 0xfde00000..0xfde00000 : early ioremap
<6> * 0xd1000000..0xfde00000 : vmalloc & ioremap
<6>NR_IRQS:512 nr_irqs:512 16
<7>time_init: decrementer frequency = 400.000000 MHz
<7>time_init: processor frequency = 400.000000 MHz
<6>clocksource: timebase mult[2800000] shift[24] registered
<7>clockevent: decrementer mult[66666666] shift[32] cpu[0]
<6>Console: colour dummy device 80x25
<6>pid_max: default: 32768 minimum: 301
<6>Mount-cache hash table entries: 512
<6>devtmpfs: initialized
<6>NET: Registered protocol family 16
<6>PCI: Probing PCI hardware
<7>PCI: max bus depth: 0 pci_try_num: 1
<6>bio: create slab <bio-0> at 0
<6>gpiochip_add: registered GPIOs 248 to 255 on device: /plb@0/gpio@81460000
<6>gpiochip_add: registered GPIOs 240 to 247 on device: /plb@0/gpio@81440000
<6>gpiochip_add: registered GPIOs 235 to 239 on device: /plb@0/gpio@81420000
<6>gpiochip_add: registered GPIOs 230 to 234 on device: /plb@0/gpio@81400000
<6>vgaarb: loaded
<6>Switching to clocksource timebase
<6>NET: Registered protocol family 2
<6>IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
<6>TCP established hash table entries: 8192 (order: 4, 65536 bytes)
<6>TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
<6>TCP: Hash tables configured (established 8192 bind 8192)
<6>TCP reno registered
<6>UDP hash table entries: 256 (order: 0, 4096 bytes)
<6>UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
<6>NET: Registered protocol family 1
<6>RPC: Registered named UNIX socket transport module.
<6>RPC: Registered udp transport module.
<6>RPC: Registered tcp transport module.
<6>RPC: Registered tcp NFSv4.1 backchannel transport module.
<7>PCI: CLS 0 bytes, default 32
<6>Trying to unpack rootfs image as initramfs...
<6>rootfs image is not initramfs (no cpio magic); looks like an initrd
<6>Freeing initrd memory: 1476k freed
<6>ROMFS MTD (C) 2007 Red Hat, Inc.
<6>JFS: nTxBlock = 1996, nTxLock = 15973
---Type <return> to continue, or q <return> to quit---
<6>msgmni has been set to 499
<6>Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
<6>io scheduler noop registered
<6>io scheduler deadline registered
<6>io scheduler cfq registered (default)
<6>Console: switching to colour frame buffer device 80x30
<6>Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
<6>brd: module loaded
<6>loop: module loaded
<6>xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
<6>xsysace 83600000.sysace: No CF in slot
<6>Xilinx SystemACE device driver, major=254
<6>8c000000.flash: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000089 Chip ID 0x008919
<6>Intel/Sharp Extended Query Table at 0x010A
<6>Intel/Sharp Extended Query Table at 0x010A
<6>Intel/Sharp Extended Query Table at 0x010A
<6>Intel/Sharp Extended Query Table at 0x010A
<6>Intel/Sharp Extended Query Table at 0x010A
<6>Using buffer write method
<6>Using auto-unlock on power-up/resume
<5>cfi_cmdset_0001: Erase suspend on write enabled
<7>erase region 0: offset=0x0,size=0x20000,blocks=255
<7>erase region 1: offset=0x1fe0000,size=0x8000,blocks=4
---Type <return> to continue, or q <return> to quit---
<6>xilinx_emaclite 81000000.ethernet: Device Tree Probing
<4>xilinx_emaclite 81000000.ethernet: error registering MDIO bus
<6>xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
<6>xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD11C0000, irq=17
<6>xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
<6>xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1034000, irq=22
<6>xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
<6>xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1036000, irq=23
<6>mousedev: PS/2 mouse device common for all mice
<6>TCP cubic registered
<6>NET: Registered protocol family 17
<4>Warning: unable to open an initial console.
<4>atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
<6>input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
<5>RAMDISK: gzip image found at block 0
<6>VFS: Mounted root (ext2 filesystem) on device 1:0.
<6>devtmpfs: mounted
<6>Freeing unused kernel memory: 156k freed
(gdb)

 

0 Kudos
Scholar norman_wong
Scholar
7,560 Views
Registered: ‎05-28-2012

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

I don't have this platform. Just some guesses. The boot doesn't appear to have any uart driver related messages. That patch mainly just added some more version strings to the uart, emac and i2c drivers. The 16550 design is pretty old. It probbaly hasn't changed. The kernel is the Xilinx Git has these defined:

arch/powerpc/boot/serial.c
dt_is_compatible(devp, "xlnx,xps-uartlite-1.00.a")

drivers/tty/serial/uartlite.c was drivers/serial/uartlite.c
         { .compatible = "xlnx,xps-uartlite-1.00.a", },


The patch adds "xlnx,xps-uartlite-1.01.a". You could try add a string to match the DTS file or changing the DTS file to match the kernel code.

Oddly, the Xiline Git uartlite.c has the uartlite.c using a "ttyUL" name. Possibly try ttyUL0 in bootargs and inittab. Also add earlyprintk to the bootargs just in case it is not default.

 

 

0 Kudos
7,556 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Hi Norman,

                       Yes, I noticed that I don't get a message saying that the ttyS0 serial console has been recognized. I probably need to recheck my kernel config, and the BSB project once again. I used 0x83E00000 as the base address for RS232_Uart_1, and bring it out on the physical RS232 (pins AG15 and something 20 on the FPGA).

 

The patch mentioned in the answer record, was used just as guidance to update the kernel with all the current xilinx ip cores.

 

If I use uartlite (ttyUL0), I can see the kernel boot messages, but if I use uart16550 (ttyS0), I don't get any boot messages at all. I want to get the system up and running with the uart16550 serial driver.

 

Elvis Dowson

0 Kudos
Scholar norman_wong
Scholar
7,552 Views
Registered: ‎05-28-2012

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Misunderstand, I thought you were using Xilinx serial port PL drivers. I think that the generic 8250 drivers for ttySn do not support device trees. You would have to configure and register a 8250 device in your board init file. You would specify you base address there. There is probably another PL UART driver that I not seeing the kernel source. Hopefully some Xilinx experts will step in at some point. They seems to want to deal only with webcases.

0 Kudos
7,544 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Hi,

      Using the default xilinx supplied virtex5_defconfig worked. I can now see console output on minicom for ttyS0. However, i still don't see a bash shell prompt with the ramdisk image file. But atleast it's one step closer to solving the problem.

 

zImage starting: loaded at 0x00800000 (sp: 0x00b4ffb0)
Allocating 0x4cea6c bytes for kernel ...
gunzipping (0x00000000 <- 0x0080f000:0x009ddcfc)...done 0x3b15c0 bytes
Attached initrd image at 0x009de000-0x00b4e714
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0 ip=off root=/dev/ram rw
Finalizing device tree... flat tree at 0xb5c0e0
[ 0.000000] Using Xilinx Virtex440 machine description
[ 0.000000] Linux version 3.3.0-14.2-build1+ (elvis@eos) (gcc version 4.7.2 20120706 (prerelease) (GCC) ) #36 PREEMPT Mon Jul2
[ 0.000000] Found initrd at 0xc09de000:0xc0b4e714
[ 0.000000] Zone PFN ranges:
[ 0.000000] DMA 0x00000000 -> 0x00010000
[ 0.000000] Normal empty
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] Early memory PFN ranges
[ 0.000000] 0: 0x00000000 -> 0x00010000
[ 0.000000] MMU: Allocated 1088 bytes of context maps for 255 contexts
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
[ 0.000000] Kernel command line: console=ttyS0 ip=off root=/dev/ram rw
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 253384k/262144k available (3596k kernel code, 8760k reserved, 188k data, 1138k bss, 148k init)
[ 0.000000] Kernel virtual memory layout:
[ 0.000000] * 0xfffdf000..0xfffff000 : fixmap
[ 0.000000] * 0xfde00000..0xfe000000 : consistent mem
[ 0.000000] * 0xfde00000..0xfde00000 : early ioremap
[ 0.000000] * 0xd1000000..0xfde00000 : vmalloc & ioremap
[ 0.000000] NR_IRQS:512
[ 0.000000] clocksource: timebase mult[2800000] shift[24] registered
[ 0.000000] Console: colour dummy device 80x25
[ 0.000456] pid_max: default: 32768 minimum: 301
[ 0.000813] Mount-cache hash table entries: 512
[ 0.008319] NET: Registered protocol family 16
[ 0.014149] PCI: Probing PCI hardware
[ 0.041237] bio: create slab <bio-0> at 0
[ 0.042604] gpiochip_add: registered GPIOs 248 to 255 on device: /plb@0/gpio@81460000
[ 0.043121] gpiochip_add: registered GPIOs 240 to 247 on device: /plb@0/gpio@81440000
[ 0.043719] gpiochip_add: registered GPIOs 235 to 239 on device: /plb@0/gpio@81420000
[ 0.044242] gpiochip_add: registered GPIOs 230 to 234 on device: /plb@0/gpio@81400000
[ 0.045734] vgaarb: loaded
[ 0.049621] Switching to clocksource timebase
[ 0.088714] NET: Registered protocol family 2
[ 0.089134] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.090706] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.091087] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.091299] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.091316] TCP reno registered
[ 0.091337] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.091381] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.091976] NET: Registered protocol family 1
[ 0.092803] RPC: Registered named UNIX socket transport module.
[ 0.092833] RPC: Registered udp transport module.
[ 0.092846] RPC: Registered tcp transport module.
[ 0.092860] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.093178] Trying to unpack rootfs image as initramfs...
[ 0.095285] rootfs image is not initramfs (no cpio magic); looks like an initrd
[ 0.108881] Freeing initrd memory: 1476k freed
[ 0.125529] ROMFS MTD (C) 2007 Red Hat, Inc.
[ 0.126233] msgmni has been set to 499
[ 0.127677] io scheduler noop registered
[ 0.127703] io scheduler deadline registered
[ 0.127854] io scheduler cfq registered (default)
[ 0.160535] Console: switching to colour frame buffer device 80x30
[ 0.424669] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.430243] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[ 4.312418] console [ttyS0] enabled
[ 4.374026] brd: module loaded
[ 4.419951] loop: module loaded
[ 4.457104] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[ 4.533894] xsysace 83600000.sysace: No CF in slot
[ 4.592737] Xilinx SystemACE device driver, major=254
[ 4.653514] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[ 4.727055] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[ 4.808129] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[ 4.901764] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[ 5.016459] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
[ 5.085750] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
[ 5.184858] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
[ 5.254599] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
[ 5.355109] mousedev: PS/2 mouse device common for all mice
[ 5.422440] i2c /dev entries driver
[ 5.463920] Device Tree Probing 'i2c'
[ 5.508219] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
[ 5.585778] TCP cubic registered
[ 5.623584] NET: Registered protocol family 17
[ 6.421693] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
[ 6.905937] RAMDISK: gzip image found at block 0
[ 7.284248] VFS: Mounted root (ext2 filesystem) on device 1:0.
[ 7.354403] Freeing unused kernel memory: 148k freed
[ 7.472759] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0

 

Elvis Dowson

 

0 Kudos
7,535 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Hi,

     I'm still unable to figure out why I cannot get a login prompt or a bash prompt. 

 

My kernel bootargs are

 

console=ttyS0,9600n8 ip=off root=/dev/ram rw init=/sbin/getty rootwait

 

I've even tried with

 

console=ttyS0,9600n8 ip=off root=/dev/ram rw init=/bin/sh rootwait

 

but I still don't get a login prompt, or a bash prompt. Could someone please help me figure out or sugget some options that I can try out to debug this? The output on the serial console is attached below:

 

zImage starting: loaded at 0x00800000 (sp: 0x00d62fb0)
Allocating 0x4d2a6c bytes for kernel ...
gunzipping (0x00000000 <- 0x0080f000:0x009dca35)...done 0x3b55e0 bytes
Attached initrd image at 0x009dd000-0x00d615e5
initrd head: 0x1f8b0808

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw init=/sbin/getty rootwait
Finalizing device tree... flat tree at 0xd6f0e0
[ 0.000000] Using Xilinx Virtex440 machine description
[ 0.000000] Linux version 3.3.0-14.2-build1+ (elvis@eos) (gcc version 4.7.2 20120706 (prerelease) (GCC) ) #41 PREEMP2
[ 0.000000] Found initrd at 0xc09dd000:0xc0d615e5
[ 0.000000] Zone PFN ranges:
[ 0.000000] DMA 0x00000000 -> 0x00010000
[ 0.000000] Normal empty
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] Early memory PFN ranges
[ 0.000000] 0: 0x00000000 -> 0x00010000
[ 0.000000] MMU: Allocated 1088 bytes of context maps for 255 contexts
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
[ 0.000000] Kernel command line: console=ttyS0,9600n8 ip=off root=/dev/ram rw init=/sbin/getty rootwait
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 251240k/262144k available (3608k kernel code, 10904k reserved, 192k data, 1138k bss, 152k init)
[ 0.000000] Kernel virtual memory layout:
[ 0.000000] * 0xfffdf000..0xfffff000 : fixmap
[ 0.000000] * 0xfde00000..0xfe000000 : consistent mem
[ 0.000000] * 0xfde00000..0xfde00000 : early ioremap
[ 0.000000] * 0xd1000000..0xfde00000 : vmalloc & ioremap
[ 0.000000] NR_IRQS:512
[ 0.000000] clocksource: timebase mult[2800000] shift[24] registered
[ 0.000000] Console: colour dummy device 80x25
[ 0.000452] pid_max: default: 32768 minimum: 301
[ 0.000839] Mount-cache hash table entries: 512
[ 0.008673] NET: Registered protocol family 16
[ 0.015060] PCI: Probing PCI hardware
[ 0.046330] bio: create slab <bio-0> at 0
[ 0.047765] gpiochip_add: registered GPIOs 248 to 255 on device: /plb@0/gpio@81460000
[ 0.048381] gpiochip_add: registered GPIOs 240 to 247 on device: /plb@0/gpio@81440000
[ 0.049170] gpiochip_add: registered GPIOs 235 to 239 on device: /plb@0/gpio@81420000
[ 0.049776] gpiochip_add: registered GPIOs 230 to 234 on device: /plb@0/gpio@81400000
[ 0.051285] vgaarb: loaded
[ 0.055587] Switching to clocksource timebase
[ 0.100144] NET: Registered protocol family 2
[ 0.100606] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.102087] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.102496] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.102705] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.102722] TCP reno registered
[ 0.102750] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.102793] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.103408] NET: Registered protocol family 1
[ 0.104427] RPC: Registered named UNIX socket transport module.
[ 0.104460] RPC: Registered udp transport module.
[ 0.104473] RPC: Registered tcp transport module.
[ 0.104487] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.104806] Trying to unpack rootfs image as initramfs...
[ 0.106824] rootfs image is not initramfs (no cpio magic); looks like an initrd
[ 0.141958] Freeing initrd memory: 3604k freed
[ 0.160590] ROMFS MTD (C) 2007 Red Hat, Inc.
[ 0.161211] msgmni has been set to 499
[ 0.162816] io scheduler noop registered
[ 0.162842] io scheduler deadline registered
[ 0.162998] io scheduler cfq registered (default)
[ 0.195805] Console: switching to colour frame buffer device 80x30
[ 0.489749] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.495582] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[ 4.412404] console [ttyS0] enabled
[ 4.475450] brd: module loaded
[ 4.522187] loop: module loaded
[ 4.559452] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[ 4.636210] xsysace 83600000.sysace: No CF in slot
[ 4.695137] Xilinx SystemACE device driver, major=254
[ 4.756116] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[ 4.829675] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[ 4.910761] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[ 5.004530] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[ 5.119379] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
[ 5.188655] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
[ 5.287917] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
[ 5.357560] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
[ 5.458175] mousedev: PS/2 mouse device common for all mice
[ 5.525518] i2c /dev entries driver
[ 5.567049] Device Tree Probing 'i2c'
[ 5.611384] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
[ 5.689080] TCP cubic registered
[ 5.726942] NET: Registered protocol family 17
[ 6.523658] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
[ 7.007901] RAMDISK: gzip image found at block 0
[ 7.531851] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
[ 7.960747] VFS: Mounted root (ext2 filesystem) on device 1:0.
[ 8.030886] Freeing unused kernel memory: 152k freed

 

Elvis Dowson

 

0 Kudos
Scholar norman_wong
Scholar
7,403 Views
Registered: ‎05-28-2012

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Depending on how your file system is setup, I don't think you should override the default init in the bootargs. The default init, /sbin/init(?), I think, will execute inittab and also do all that runlevel stuff in the rcN directories. One of those scripts might run udev or mdev that would dynamically create your device node, /dev/ttyS0. If you as using a statically defined device nodes, then you would have mknod /dev/ttyS0 in your ramdisk. You'll have to dig around to find the major/minor numbers for the ttySn devices. Maybe ttyUL0 works because there is already a statically defined device node in the ramdisk image.

 

0 Kudos
7,401 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Hi,

      I've tried running it without the init=/bin/sh option on the kernel bootargs.

 

My etc/inittab file looks like this, right now (removed all the standard getty stuff, etc:

 

::sysinit:/etc/init.d/rcS
console::respawn:/bin/sh
::restart:/sbin/init

etc/init.d/rcS

 

My etc/device_table file has the following entry for ttyS:

 

/dev/ttySc 640 0 5 4 64 0 1 4

 

ttyUL0 also doesn't work at the moment, it gives me the same issue, i.e the kernel boots, but I don't get a root login prompt or a bash prompt. This is why I switch from ttyUL0 to ttyS0, but it probably has something to do with the way my rootfilesystem is setup. 

 

Do you think the entry /dev/ttyS is suffient to create a /dev/ttyS0 at runtime? The other ttys are defined as follows:

 

/dev/tty c 664 0 5 5 0 - - -
/dev/tty c 666 0 5 4 0 0 1 9
/dev/ttyS c 640 0 5 4 64 0 1 4
/dev/ttySA c 640 0 5 204 5 0 1 4
/dev/ttyUSB c 660 0 5 188 0 0 1 2

 

Elvis Dowson

0 Kudos
7,400 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution
Also, in my /dev folder in the ramdisk rootfile system, I have static definitions for ttyS0, ttyUL0, etc.

So, everything appears to be there, but I get no prompt.
0 Kudos
7,396 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

When I try to debug the kernel using gdb, and enable verbose driver messages, I see the following output.

 

ttyS0 gets registered with of_serial, which in the kernel is called OpenFirmware serial driver. Is this supposed to happen?

 

(gdb) syslog
Adding info for No Bus:input0
<6>[ 3.836551] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
<7>[ 4.052433] driver: 'serio1': driver_bound: bound to device 'atkbd'
<7>[ 4.052468] bus: 'serio': really_probe: bound device serio1 to driver atkbd
<7>[ 4.052502] bus: 'serio': driver_probe_device: matched device serio0 with driver psmouse
<7>[ 4.052521] bus: 'serio': really_probe: probing driver psmouse with device serio0
<7>[ 4.252449] psmouse: probe of serio0 rejects match -19
<6>[ 4.264853] VFS: Mounted root (ext2 filesystem) on device 1:0.
<6>[ 4.334900] Freeing unused kernel memory: 152k freed
0.499833] PM: Adding info for No Bus:ttyd0
<7>[ 0.500256] device: 'ttyd1': device_add
<7>[ 0.500576] PM: Adding info for No Bus:ttyd1
<7>[ 0.501008] device: 'ttyd2': device_add
<7>[ 0.501157] PM: Adding info for No Bus:ttyd2
<7>[ 0.501576] device: 'ttyd3': device_add
<7>[ 0.501726] PM: Adding info for No Bus:ttyd3
<7>[ 0.502159] device: 'ttyd4': device_add
<7>[ 0.502307] PM: Adding info for No Bus:ttyd4
<7>[ 0.502728] device: 'ttyd5': device_add
<7>[ 0.502874] PM: Adding info for No Bus:ttyd5
<7>[ 0.503309] device: 'ttyd6': device_add
<7>[ 0.503454] PM: Adding info for No Bus:ttyd6
<7>[ 0.503889] device: 'ttyd7': device_add
<7>[ 0.504077] PM: Adding info for No Bus:ttyd7
<7>[ 0.504650] device: 'ttyd8': device_add
<7>[ 0.504797] PM: Adding info for No Bus:ttyd8
<7>[ 0.505225] device: 'ttyd9': device_add
<7>[ 0.505376] PM: Adding info for No Bus:ttyd9
<7>[ 0.505798] device: 'ttyda': device_add
<7>[ 0.505946] PM: Adding info for No Bus:ttyda
<7>[ 0.506375] device: 'ttydb': device_add
<7>[ 0.506527] PM: Adding info for No Bus:ttydb
<7>[ 0.506953] device: 'ttydc': device_add
<7>[ 0.507101] PM: Adding info for No Bus:ttydc
<7>[ 0.507530] device: 'ttydd': device_add
<7>[ 0.507681] PM: Adding info for No Bus:ttydd
<7>[ 0.508106] device: 'ttyde': device_add
<7>[ 0.508277] PM: Adding info for No Bus:ttyde
<7>[ 0.508853] device: 'ttydf': device_add
<7>[ 0.509004] PM: Adding info for No Bus:ttydf
<7>[ 0.509422] device: 'ttye0': device_add
<7>[ 0.509573] PM: Adding info for No Bus:ttye0
<7>[ 0.510007] device: 'ttye1': device_add
---Type <return> to continue, or q <return> to quit---
<7>[ 0.510166] PM: Adding info for No Bus:ttye1
<7>[ 0.510583] device: 'ttye2': device_add
<7>[ 0.510733] PM: Adding info for No Bus:ttye2
<7>[ 0.511166] device: 'ttye3': device_add
<7>[ 0.511318] PM: Adding info for No Bus:ttye3
<7>[ 0.511741] device: 'ttye4': device_add
<7>[ 0.511891] PM: Adding info for No Bus:ttye4
<7>[ 0.512466] device: 'ttye5': device_add
<7>[ 0.512638] PM: Adding info for No Bus:ttye5
<7>[ 0.513087] device: 'ttye6': device_add
<7>[ 0.513239] PM: Adding info for No Bus:ttye6
<7>[ 0.513659] device: 'ttye7': device_add
<7>[ 0.513810] PM: Adding info for No Bus:ttye7
<7>[ 0.514245] device: 'ttye8': device_add
<7>[ 0.514396] PM: Adding info for No Bus:ttye8
<7>[ 0.514815] device: 'ttye9': device_add
<7>[ 0.514967] PM: Adding info for No Bus:ttye9
<7>[ 0.515402] device: 'ttyea': device_add
<7>[ 0.515574] PM: Adding info for No Bus:ttyea
<7>[ 0.515997] device: 'ttyeb': device_add
<7>[ 0.516153] PM: Adding info for No Bus:ttyeb
<7>[ 0.516716] device: 'ttyec': device_add
<7>[ 0.516887] PM: Adding info for No Bus:ttyec
<7>[ 0.517315] device: 'ttyed': device_add
<7>[ 0.517467] PM: Adding info for No Bus:ttyed
<7>[ 0.517889] device: 'ttyee': device_add
<7>[ 0.518043] PM: Adding info for No Bus:ttyee

<7>[ 0.518477] device: 'ttyef': device_add
<7>[ 0.518631] PM: Adding info for No Bus:ttyef
<7>[ 0.519164] device: 'ptmx': device_add
<7>[ 0.519303] PM: Adding info for No Bus:ptmx
<6>[ 0.519719] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
<7>[ 0.519804] Registering platform device 'serial8250'. Parent at platform
<7>[ 0.519827] device: 'serial8250': device_add
<7>[ 0.519871] bus: 'platform': add device serial8250
<7>[ 0.519918] PM: Adding info for platform:serial8250
<7>[ 0.520508] device: 'ttyS0': device_add
<7>[ 0.520651] PM: Adding info for No Bus:ttyS0
<7>[ 0.521167] device: 'ttyS1': device_add
<7>[ 0.521290] PM: Adding info for No Bus:ttyS1
<7>[ 0.521776] device: 'ttyS2': device_add
<7>[ 0.521898] PM: Adding info for No Bus:ttyS2

<7>[ 0.522386] device: 'ttyS3': device_add
<7>[ 0.522507] PM: Adding info for No Bus:ttyS3
<7>[ 0.523008] bus: 'platform': add driver serial8250
<7>[ 0.523095] bus: 'platform': driver_probe_device: matched device serial8250 with driver serial8250

<7>[ 0.523116] bus: 'platform': really_probe: probing driver serial8250 with device serial8250
<7>[ 0.523152] driver: 'serial8250': driver_bound: bound to device 'serial8250'
<7>[ 0.523171] bus: 'platform': really_probe: bound device serial8250 to driver serial8250
<7>[ 0.523585] bus: 'pci': add driver serial
<7>[ 0.524118] bus: 'platform': add driver uartlite
<7>[ 0.524888] bus: 'platform': add driver of_serial
<7>[ 0.525052] bus: 'platform': driver_probe_device: matched device 83e00000.serial with driver of_serial
<7>[ 0.525077] bus: 'platform': really_probe: probing driver of_serial with device 83e00000.serial
<7>[ 0.525618] device: 'ttyS0': device_unregister

<7>[ 0.525633] PM: Removing info for No Bus:ttyS0
<7>[ 0.526153] device: 'ttyS0': device_create_release

<6>[ 0.526228] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
<6>[ 0.712391] console [ttyS0] enabled
<7>[ 0.753589] device: 'ttyS0': device_add
<7>[ 0.753722] PM: Adding info for No Bus:ttyS0
<7>[ 0.754143] driver: '83e00000.serial': driver_bound: bound to device 'of_serial'
<7>[ 0.754179] bus: 'platform': really_probe: bound device 83e00000.serial to driver of_serial
<7>[ 0.754798] device class 'xilinx_config': registering
<7>[ 0.755253] bus: 'platform': add driver icap
<7>[ 0.756203] device: '1:0': device_add
<7>[ 0.756293] PM: Adding info for No Bus:1:0
<7>[ 0.756825] device: 'ram0': device_add
<7>[ 0.756981] PM: Adding info for No Bus:ram0
<7>[ 0.757572] device: '1:1': device_add
<7>[ 0.757672] PM: Adding info for No Bus:1:1

 

If I remove the open firmware driver from the kernel config, the system doesn't boot any more. What is the correct thing to do in this situation?

0 Kudos
7,390 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution
Ok, so I found out that the OpenFirmware Driver is required for proper serial port operations with the PowerPC processor.
0 Kudos
Scholar norman_wong
Scholar
7,380 Views
Registered: ‎05-28-2012

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Never used "/etc/device_table". Had to look it up. There should be symbolic link
 /etc/rcS.d/S??devices
to this shell script
 /etc/init.d/devices
that runs busyboxe's makedevs. The line
 /dev/ttyS c 640 0 5 4 64 0 1 4
should result in
 /dev/ttyS0, major=4, minor=64
 /dev/ttyS1, major=4, minor=65
 /dev/ttyS2, major=4, minor=66
 /dev/ttyS3, major=4, minor=67
The major and minor match 8250.c code.

The other form of inittab login I usually see is
S:2345:respawn:/sbin/getty 9600 ttyS0
Although /bin/sh should work.

 

The gdb output is curious. Looks like the 8250.c driver instantiates 4 ports then the DT specified port replaces one of the port 0. I assume theres a 83e00000.serial entry with regs at 0x83e01003 and irq=20. Odd base address. No much else to say. Just bumping the thread. Maybe somebody will spot the key missing bit.

 

Never used device_table. Had to look it up. There should be symbolic link
 /etc/rcS.d/S??devices
to this shell script
 /etc/init.d/devices
that runs busyboxe's makedevs. The line
 /dev/ttyS c 640 0 5 4 64 0 1 4
should result in
 /dev/ttyS0, major=4, minor=64
 /dev/ttyS1, major=4, minor=65
 /dev/ttyS2, major=4, minor=66
 /dev/ttyS3, major=4, minor=67
The major and minor match 8250.c code.

The other form of inittab login I usually see is
S:2345:respawn:/sbin/getty 9600 ttyS0
Although /bin/sh should work.
0 Kudos
7,375 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

I've tried different settings for /etc/inittab

 

S:2345:respawn:/sbin/getty 9600 ttyS0

and after that didn't work, with

S:2345:respawn:/bin/sh 9600 ttyS0

 

Regarding the base address, this is generated from the device tree file. I've attached it with this email.

 

This is consistent with documentation that I read

 

+ Xilinx UART 16550 devices are very similar to the NS16550 but with
+ different register spacing and an offset from the base address.
+
+ Requred properties:
+ - clock-frequency : Frequency of the clock input
+ - reg-offset : A value of 3 is required
+ - reg-shift : A value of 2 is required

 

http://old.nabble.com/-PATCH-2-3---POWERPC--V3--Xilinx:-of_serial-support-for-Xilinx-uart-16550.-td16463873.html

 

The reg-offset and reg-shift values are specified in the device tree file:

 

rs232_uart_1: serial@83e00000 {
clock-frequency = <100000000>;
compatible = "xlnx,xps-uart16550-3.00.a", "ns16550";
current-speed = <9600>;
device_type = "serial";
interrupt-parent = <&xps_intc_0>;
interrupts = < 12 2 >;
reg = < 0x83e00000 0x10000 >;
reg-offset = <0x1003>;
reg-shift = <2>;
xlnx,family = "virtex5";
xlnx,has-external-rclk = <0x0>;
xlnx,has-external-xin = <0x0>;
xlnx,is-a-16550 = <0x1>;

 

0 Kudos
Scholar norman_wong
Scholar
7,371 Views
Registered: ‎05-28-2012

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Wow.  Complicated stuff. The 8250 driver must work as configured as you are getting text out the serial port during boot. Just a bit of a disconnect between the driver and the shell. Just to confirm that these file exists on the ramdisk filesystem:

 /sbin/init

 /etc/rcS.d/S??devices
 /etc/init.d/devices

There should a makedevs in the busybox bin. I guess if you had a login shell , you could poke around to check to see why you don't have a login shell. Possible way around that it is to telnet in. Never done it myself. Would mean getting the network going and a telnet server. Unfortunately, telnet is usually started from the runlevel scripts. Not quite sure they are running. Maybe liberally sprinkle echos in the init scripts to see the progress.

 

An aside, noticed the "Warning: unable to open an initial console.". Suppose to be due to missing "dev/console". I vaguely remember seeing this on some platforms with no ill effect. Might be nothing.

0 Kudos
7,365 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

>> An aside, noticed the "Warning: unable to open an initial console.". Suppose to be due to missing "dev/console". I

>> vaguely remember seeing this on some platforms with no ill effect. Might be nothing.

 

The warning appeared in the earlier logs, due to a kernel misconfiguration. If you look at the later logs on page 1 of this post, you'll see that ttyS0 is detected, after I switched to the virtex440-ml507 defconfig file.

 

Still stuck with the boot prompt issue, no progress so far!

0 Kudos
9,670 Views
Registered: ‎12-30-2008

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Hi,

      I finally got the ML507 board to with the PowerPC 440 soft-float configuration, using linux-xilinx-3.3.0 kernel, and the current yocto/master branch (poky 7.0).

 

The problem was eglibc-2.16. This is broken for some reason. 

 

Reverting to eglibc-2.13 worked, along with using a legacy gcc-4.5.1 cross compiler.

 

 

zImage starting: loaded at 0x00800000 (sp: 0x017befa0)

Allocating 0x54cf4c bytes for kernel ...

gunzipping (0x00000000 <- 0x0080f000:0x00a1aee3)...done 0x42f600 bytes

Attached initrd image at 0x00a1b000-0x017bd3d7

initrd head: 0x1f8b0808

 

Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh

Finalizing device tree... flat tree at 0x17cb0e0

 PM: Adding info for No Bus:ttyv9

[    0.581774] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled

[    0.587332] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550

[    0.782789] console [ttyS0] enabled

[    0.828259] brd: module loaded

[    0.874773] loop: module loaded

[    0.912055] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12

[    0.988726] xsysace 83600000.sysace: No CF in slot

[    1.047840] Xilinx SystemACE device driver, major=254

[    1.108777] xilinx_emaclite 81000000.ethernet: Device Tree Probing

[    1.182300] xilinx_emaclite 81000000.ethernet: error registering MDIO bus

[    1.263386] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00

[    1.357074] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17

[    1.472040] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'                                              

[    1.541268] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22                   

[    1.640652] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'                                              

[    1.710344] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23                   

[    1.810852] mousedev: PS/2 mouse device common for all mice                                                  

[    1.878355] i2c /dev entries driver                                                                          

[    1.919932] Device Tree Probing 'i2c'                                                                        

[    1.964188] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18                                        

[    2.041771] TCP cubic registered                                                                            

[    2.079648] NET: Registered protocol family 17                                                              

[    2.875052] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000                               

[    3.359350] RAMDISK: gzip image found at block 0                                                            

[    3.883252] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0        

[    6.355423] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended                    

[    6.452822] VFS: Mounted root (ext2 filesystem) on device 1:0.                                              

[    6.523399] Freeing unused kernel memory: 160k freed                                                        

/bin/sh: can't access tty; job control turned off                                                              

/ # ls                                                                                                          

bin    dev    home   media  proc   sys    usr                                                                  

boot   etc    lib    mnt    sbin   tmp    var                                                                  

/ # 

 

Best regards,

 

Elvis Dowson

0 Kudos
Visitor karan.b
Visitor
2,047 Views
Registered: ‎07-01-2013

Re: PowerPC kernel fails to boot with linux-3.3.0 using xps_uart16550_v3_00_a supplied with ISE 14.1

Jump to solution

Hi

I am too facing the same problem. It will be helpful if you enclose the steps on how did you compile with the eglibc.

Thanking you

 

Regards

Karan

0 Kudos