[U-Boot-Users] PCI broken on MPC8323ERDB

Michael Barkowski michael.barkowski at freescale.com
Tue Mar 25 20:55:34 CET 2008


This commit in U-Boot tree breaks the PCI in Linux MPC8323ERDB.
Do I need to define CONFIG_PCI_SKIP_HOST_BRIDGE now?  I don't see any other boards defining it.

commit 55774b512fdf63c0516d441cc5da7c54bbffb7f2
Author: Nobuhiro Iwamatsu <iwamatsu at nigauri.org>
Date:   Fri Mar 7 16:04:25 2008 +0900

    pci: Add CONFIG_PCI_SKIP_HOST_BRIDGE config option
    
    In current source code, when the device number of PCI is 0, process PCI
    bridge without fail. However, when the device number is 0, it is not PCI
    always bridge. There are times when device of PCI allocates.
    
    When CONFIG_PCI_SKIP_HOST_BRIDGE is enable, this problem is solved when
    use this patch.
    
    Signed-off-by: Nobuhiro Iwamatsu <iwamatsu at nigauri.org>

On Linus' master, default config, this U-boot change has this effect on Linux boot:

 usbmon: debugfs is not available
 ehci_hcd 0000:00:10.1: EHCI Host Controller
 ehci_hcd 0000:00:10.1: new USB bus registered, assigned bus number 1
-ehci_hcd 0000:00:10.1: irq 17, io mem 0x90001000
+ehci_hcd 0000:00:10.1: irq 17, io mem 0x90201000
 ehci_hcd 0000:00:10.1: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
 usb usb1: configuration #1 chosen from 1 choice
 hub 1-0:1.0: USB hub found
 hub 1-0:1.0: 3 ports detected
 ohci_hcd 0000:00:10.0: OHCI Host Controller
 ohci_hcd 0000:00:10.0: new USB bus registered, assigned bus number 2
-ohci_hcd 0000:00:10.0: irq 17, io mem 0x90000000
+ohci_hcd 0000:00:10.0: irq 17, io mem 0x90200000
+ohci_hcd 0000:00:10.0: OHCI Unrecoverable Error, scheduling NEC chip restart
 usb usb2: configuration #1 chosen from 1 choice
-hub 2-0:1.0: USB hub found
-hub 2-0:1.0: 3 ports detected
-Initializing USB Mass Storage driver...
-usbcore: registered new interface driver usb-storage
-USB Mass Storage support registered.
+usb usb2: can't set config #1, error -108
+ohci_hcd 0000:00:10.0: HC died; cleaning up
+Unable to handle kernel paging request for data at address 0x00000050
+Faulting instruction address: 0xc01a53c0
+Oops: Kernel access of bad area, sig: 11 [#1]
+MPC832x RDB
+Modules linked in:
+NIP: c01a53c0 LR: c01a7ce4 CTR: c0166fec
+REGS: c3821d10 TRAP: 0300   Not tainted  (2.6.25-rc6-00333-ga4083c9)
+MSR: 00001032 <ME,IR,DR>  CR: 22044048  XER: 00000000
+DAR: 00000050, DSISR: 20000000
+TASK = c381d000[1] 'swapper' THREAD: c3820000
+GPR00: c01a7cdc c3821dc0 c381d000 c38a9000 00000000 ffffffff c016a158 00004000 
+GPR08: 00000001 00000000 000012b1 c5002500 22044042 100aeba0 c02c8b10 c02d8dd8 
+GPR16: c02c8b8c c02c8b74 c0334ab4 c02c8bb4 c02c8ba0 c0330000 00000000 03ff8354 
+GPR24: 000000a0 00000011 c034ca90 c3812858 c38a9000 c38a9000 c391fc00 00009032 
+NIP [c01a53c0] usb_kick_khubd+0x4/0x10
+LR [c01a7ce4] usb_hc_died+0x6c/0x84
+Call Trace:
+[c3821dc0] [c01a7cdc] usb_hc_died+0x64/0x84 (unreliable)
+[c3821dd0] [c01a8a00] usb_add_hcd+0x5a8/0x600
+[c3821e00] [c01b3bf8] usb_hcd_pci_probe+0x19c/0x2b0
+[c3821e30] [c01538a4] pci_device_probe+0x84/0xbc
+[c3821e50] [c016f07c] driver_probe_device+0xb8/0x1e8
+[c3821e70] [c016f3a4] __driver_attach+0xcc/0xf8
+[c3821e90] [c016e0f8] bus_for_each_dev+0x5c/0x98
+[c3821ec0] [c016ee84] driver_attach+0x24/0x34
+[c3821ed0] [c016ecdc] bus_add_driver+0x1d8/0x258
+[c3821f00] [c016f650] driver_register+0x48/0x114
+[c3821f20] [c0153b14] __pci_register_driver+0x4c/0xac
+[c3821f40] [c0329e90] ohci_hcd_mod_init+0x88/0x9c
+[c3821f60] [c03121b8] kernel_init+0xb4/0x294
+[c3821ff0] [c000fb64] kernel_thread+0x44/0x60
+Instruction dump:
+7c0903a6 4e800421 2f9e0000 3bdeffff 409effd0 4bffff2c 80010024 bb810010 
+38210020 7c0803a6 4bfffab8 81230190 <81690050> 806b00dc 4bfff9fc 9421fff0 
+---[ end trace c793972ed4e617c5 ]---
+Kernel panic - not syncing: Attempted to kill init!
+Rebooting in 180 seconds..





More information about the U-Boot mailing list