[U-Boot-Users] MPC832x EMDS and PCI expansion board

Hi all,
I am trying to get the Freescale MPC832X EMDS with a PCI-Exp board to recognise a PCI device. I have the PCI enabled @66Mhz and all appears to be in working order except there are no sane values are being read from the PCI bus.
On linux 2.6.22 kernel it registers a lots of PCI devices but they all have the vendor ID of 0. (<sarcasm>I really dont believe the board has a nCipher HSM and a SCSI controller on the PCI board.. unless its so small I cant see it </sarcasm>
The Bus powers up, the cards at least get power as far as I can see (blinking light on a 3COM network card :-P
Is there anything I am missing? as I cant seem to get this blessed PCI running properly.
any hints or suggestions?
Best Regards Richard
--------- pci dump from uBoot --------- => => pci Scanning PCI devices on bus 0 BusDevFun VendorId DeviceId Device Class Sub-Class _____________________________________________________________ 00.00.00 0x1957 0x00a2 Processor 0x20 00.0b.00 0x0800 0x0000 Build before PCI Rev2.0 0x00 00.0c.00 0x1000 0x0000 Build before PCI Rev2.0 0x00 00.0d.00 0x2000 0x0000 Build before PCI Rev2.0 0x00 00.0e.00 0x4000 0x0000 Build before PCI Rev2.0 0x00 00.0f.00 0x8000 0x0000 Build before PCI Rev2.0 0x00 =>
------------- Snippet ---------------- U-Boot 1.2.0-g94cb3de4-dirty (Jun 28 2007 - 13:27:22) MPC83XX
CPU: e300c2, MPC8323E, Rev: 10 at 264 MHz, CSB: 132 MHz Board: Freescale MPC832XEMDS RCWLR: 0x62040083 RCWHR: 0xa4600000 I2C: ready DRAM: DDR RAM: 128 MB FLASH: 16 MB PCI clock is 66MHz PCI 32bit bus on PMC2 & PMC3
------------- lspci dump -------------
/proc # lspci 00:0a.0 Class 8000: Gammagraphx, Inc.: Unknown device 8000 (rev 08) 00:0b.0 Non-VGA unclassified device: Unknown device 0800:0000 (rev 08) 00:0c.0 Non-VGA unclassified device: LSI Logic / Symbios Logic: Unknown device 0000 (rev 08) 00:0d.0 Non-VGA unclassified device: Smart Link Ltd.: Unknown device 0000 (rev 08) 00:0e.0 Non-VGA unclassified device: Unknown device 4000:0000 (rev 08) 00:0f.0 Non-VGA unclassified device: Unknown device 8000:0000 (rev 08) 00:10.0 VGA compatible unclassified device: Gammagraphx, Inc.: Unknown device 0001 (rev 08) 00:11.0 Network controller [0002]: Gammagraphx, Inc.: Unknown device 0002 (rev 08) 00:17.0 Class 0080: Gammagraphx, Inc.: Unknown device 0080 (rev 08) 00:17.1 Class 0080: Ncipher Corp Ltd: Unknown device 0080 (rev 08) 00:17.2 Class 0080: Unknown device 0200:0080 (rev 08) 00:17.3 Class 0080: Unknown device 0300:0080 (rev 08) 00:17.4 Class 0080: Unknown device 0400:0080 (rev 08) 00:17.5 Class 0080: Unknown device 0500:0080 (rev 08) 00:17.6 Class 0080: Unknown device 0600:0080 (rev 08) 00:17.7 Class 0080: Unknown device 0700:0080 (rev 08) 00:18.0 SCSI storage controller: Gammagraphx, Inc.: Unknown device 0100 (rev 08) 00:19.0 Ethernet controller: Gammagraphx, Inc.: Unknown device 0200 (rev 08) 00:1a.0 Multimedia video controller: Gammagraphx, Inc.: Unknown device 0400 (rev 08) 00:1b.0 PIC: Gammagraphx, Inc.: Unknown device 0800 (rev 08) 00:1c.0 Network and computing encryption device: Gammagraphx, Inc.: Unknown device 1000 (rev 08) 00:1d.0 Class 2000: Gammagraphx, Inc.: Unknown device 2000 (rev 08) 00:1e.0 Class 4000: Gammagraphx, Inc.: Unknown device 4000 (rev 08) /proc # ls
------------------------ Linux Boot -----------------
## Booting image at 00400000 ... Image Name: Linux-2.6.22-rc1 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1384763 Bytes = 1.3 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK ## Loading RAMDisk Image at 01000000 ... Image Name: uboot ext2 ramdisk rootfs Image Type: PowerPC Linux RAMDisk Image (gzip compressed) Data Size: 3330218 Bytes = 3.2 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Booting using flat device tree at 0x300000 Loading Ramdisk to 07c7b000, end 07fa80aa ... OK Using MPC832x MDS machine description Linux version 2.6.22-rc1 (root@localhost.localdomain) (gcc version 3.4.3) #16 Thu Jun 28 14:00:42 BST 2007 Found initrd at 0xc7c7b000:0xc7fa80aa setup_arch: bootmem mpc832x_sys_setup_arch() Found MPC83xx PCI host bridge at 0x00000000e0008500. Firmware bus number: 0->0 arch: exit Zone PFN ranges: DMA 0 -> 32768 Normal 32768 -> 32768 early_node_map[1] active PFN ranges 0: 0 -> 32768 Built 1 zonelists. Total pages: 32512 Kernel command line: root=/dev/ram rw console=ttyS0,115200 lastbus=10 IPIC (128 IRQ sources) at fddf3700 QEIC (64 IRQ sources) at fddf2080 PID hash table entries: 512 (order: 9, 2048 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 123544k/131072k available (2720k kernel code, 7364k reserved, 112k data, 98k bss, 140k init) Mount-cache hash table entries: 512 NET: Registered protocol family 16
PCI: Probing PCI hardware... PCI: 0000:00:10.0: class 1 doesn't match header type 01. Ignoring class. PCI: 0000:00:11.0: class 2 doesn't match header type 02. Ignoring class. PCI: device 0000:00:12.0 has unknown header type 04, ignoring. PCI: device 0000:00:13.0 has unknown header type 08, ignoring. PCI: device 0000:00:14.0 has unknown header type 10, ignoring. PCI: device 0000:00:15.0 has unknown header type 20, ignoring. PCI: device 0000:00:16.0 has unknown header type 40, ignoring. PCI: Bus 0000:00 already known PCI: 5 PCI Busses PCI: Remapping PCI: PCI Bios Fixup PCI: Allocating Resources PCI: Cannot allocate resource region 1 of device 0000:00:0a.0 PCI: Cannot allocate resource region 3 of device 0000:00:0a.0 PCI: Cannot allocate resource region 5 of device 0000:00:0a.0 PCI: Cannot allocate resource region 1 of device 0000:00:0b.0 PCI: Cannot allocate resource region 3 of device 0000:00:0b.0 PCI: Cannot allocate resource region 5 of device 0000:00:0b.0 PCI: Cannot allocate resource region 1 of device 0000:00:0c.0 PCI: Cannot allocate resource region 3 of device 0000:00:0c.0 PCI: Cannot allocate resource region 5 of device 0000:00:0c.0 PCI: Cannot allocate resource region 1 of device 0000:00:0d.0 PCI: Cannot allocate resource region 3 of device 0000:00:0d.0 PCI: Cannot allocate resource region 5 of device 0000:00:0d.0 PCI: Cannot allocate resource region 1 of device 0000:00:0e.0 PCI: Cannot allocate resource region 3 of device 0000:00:0e.0 PCI: Cannot allocate resource region 5 of device 0000:00:0e.0 PCI: Cannot allocate resource region 1 of device 0000:00:0f.0 PCI: Cannot allocate resource region 3 of device 0000:00:0f.0 PCI: Cannot allocate resource region 5 of device 0000:00:0f.0 PCI: Cannot allocate resource region 1 of device 0000:00:17.0 PCI: Cannot allocate resource region 3 of device 0000:00:17.0 PCI: Cannot allocate resource region 5 of device 0000:00:17.0 PCI: Cannot allocate resource region 1 of device 0000:00:17.1 PCI: Cannot allocate resource region 3 of device 0000:00:17.1 PCI: Cannot allocate resource region 5 of device 0000:00:17.1 PCI: Cannot allocate resource region 1 of device 0000:00:17.2 PCI: Cannot allocate resource region 3 of device 0000:00:17.2 PCI: Cannot allocate resource region 5 of device 0000:00:17.2 PCI: Cannot allocate resource region 1 of device 0000:00:17.3 PCI: Cannot allocate resource region 3 of device 0000:00:17.3 PCI: Cannot allocate resource region 5 of device 0000:00:17.3 PCI: Cannot allocate resource region 1 of device 0000:00:17.4 PCI: Cannot allocate resource region 3 of device 0000:00:17.4 PCI: Cannot allocate resource region 5 of device 0000:00:17.4 PCI: Cannot allocate resource region 1 of device 0000:00:17.5 PCI: Cannot allocate resource region 3 of device 0000:00:17.5 PCI: Cannot allocate resource region 5 of device 0000:00:17.5 PCI: Cannot allocate resource region 1 of device 0000:00:17.6 PCI: Cannot allocate resource region 3 of device 0000:00:17.6 PCI: Cannot allocate resource region 5 of device 0000:00:17.6 PCI: Cannot allocate resource region 1 of device 0000:00:17.7 PCI: Cannot allocate resource region 3 of device 0000:00:17.7 PCI: Cannot allocate resource region 5 of device 0000:00:17.7 PCI: Cannot allocate resource region 1 of device 0000:00:18.0 PCI: Cannot allocate resource region 3 of device 0000:00:18.0 PCI: Cannot allocate resource region 5 of device 0000:00:18.0 PCI: Cannot allocate resource region 1 of device 0000:00:19.0 PCI: Cannot allocate resource region 3 of device 0000:00:19.0 PCI: Cannot allocate resource region 5 of device 0000:00:19.0 PCI: Cannot allocate resource region 1 of device 0000:00:1a.0 PCI: Cannot allocate resource region 3 of device 0000:00:1a.0 PCI: Cannot allocate resource region 5 of device 0000:00:1a.0 PCI: Cannot allocate resource region 1 of device 0000:00:1b.0 PCI: Cannot allocate resource region 3 of device 0000:00:1b.0 PCI: Cannot allocate resource region 5 of device 0000:00:1b.0 PCI: Cannot allocate resource region 1 of device 0000:00:1c.0 PCI: Cannot allocate resource region 3 of device 0000:00:1c.0 PCI: Cannot allocate resource region 5 of device 0000:00:1c.0 PCI: Cannot allocate resource region 1 of device 0000:00:1d.0 PCI: Cannot allocate resource region 3 of device 0000:00:1d.0 PCI: Cannot allocate resource region 5 of device 0000:00:1d.0 PCI: Cannot allocate resource region 1 of device 0000:00:1e.0 PCI: Cannot allocate resource region 3 of device 0000:00:1e.0 PCI: Cannot allocate resource region 5 of device 0000:00:1e.0 Generic PHY: Registered new driver SCSI subsystem initialized NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 4096 (order: 3, 32768 bytes) TCP bind hash table entries: 4096 (order: 2, 16384 bytes) TCP: Hash tables configured (established 4096 bind 4096) TCP reno registered checking if image is initramfs...it isn't (no cpio magic); looks like an initrd Freeing initrd memory: 3252k freed io scheduler noop registered io scheduler anticipatory registered (default) io scheduler deadline registered io scheduler cfq registered pci_hotplug: PCI Hot Plug PCI Core version: 0.5 Generic RTC Driver v1.07 WDT driver for MPC83xx initialized. mode:reset timeout=65535 (32 seconds) Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled serial8250.0: ttyS0 at MMIO 0xe0004500 (irq = 16) is a 16550A console handover: boot [udbg0] -> real [ttyS0] serial8250.0: ttyS1 at MMIO 0xe0004600 (irq = 17) is a 16550A RAMDISK driver initialized: 16 RAM disks of 32768K size 1024 blocksize loop: module loaded UCC Ethernet Controller MII Bus: probed ucc_geth: QE UCC Gigabit Ethernet Controller ucc_geth: UCC3 at 0xe0102200 (irq = 34) ucc_geth: UCC4 at 0xe0103000 (irq = 35) Davicom DM9161E: Registered new driver Davicom DM9161A: Registered new driver Davicom DM9131: Registered new driver i2c /dev entries driver TCP cubic registered NET: Registered protocol family 1 NET: Registered protocol family 17 RAMDISK: Compressed image found at block 0 VFS: Mounted root (ext2 filesystem). Freeing unused kernel memory: 140k init Setting the hostname to freescale Mounting filesystems mount: Mounting usbfs on /proc/bus/usb failed: No such file or directory Running depmod Setting up networking on loopback device: Setting up networking on eth0: Adding static route for default gateway to 192.168.0.1: route: SIOC[ADD|DEL]RT: Network is unreachable Setting nameserver to 192.168.0.1 in /etc/resolv.conf: Starting inetd:
Welcome to Freescale Semiconductor Embedded Linux Environment
------------------------------------------------------------------------------
Cambridge Broadband Networks opens new African regional headquarters http://www.cambridgebroadband.com/mi30may07.htm
Cambridge Broadband appoints telecoms industry veteran John Cronin as chairman <http://www.cambridgebroadband.com/mi20feb07.htm
------------------------------------------------------------------------------ Cambridge Broadband Networks Limited
Registered in England and Wales under company number: 03879840 Registered office: Selwyn House, Cambridge Business Park, Cowley Road, Cambridge CB4 0WZ, UK. VAT number: GB 741 0186 64
This email and any attachments are private and confidential. If you believe you have received this email in error please inform the sender and delete it from your mailbox or any other storage mechanism. Cambridge Broadband Networks Limited cannot accept liability for any statements made which are clearly the individual sender's own and not expressly made on behalf of Cambridge Broadband Networks Limited.

Richard Parsons wrote:
Hi all,
Hi Richard,
I am trying to get the Freescale MPC832X EMDS with a PCI-Exp board to recognise a PCI device. I have the PCI enabled @66Mhz and all appears to be in working order except there are no sane values are being read from the PCI bus.
On linux 2.6.22 kernel it registers a lots of PCI devices but they all have the vendor ID of 0. (<sarcasm>I really dont believe the board has a nCipher HSM and a SCSI controller on the PCI board.. unless its so small I cant see it </sarcasm>
The Bus powers up, the cards at least get power as far as I can see (blinking light on a 3COM network card :-P
Is there anything I am missing? as I cant seem to get this blessed PCI running properly.
I've run into the same problem. The information I received was to run the PCI bus at 33MHz only. Note that the PCI speed selection in U-Boot doesn't seem to do anything. The code is trying to set the divider bits in the OCCR register, but the 832x chip doesn't have those bits. To change to 33MHz, I had to change SW4-4 (CFG_CLKDVB).
I also experienced problems with the power-on reset. If I used the reset button on the 8323 processor board, I got much better results.
I think the problem may be caused by the removal of some pullup resistors in the processor card. The schematic I have for the Rev 1.1 processor board shows the pullups for nXPCI1_DEVSEL, nXPCI1_FRAME, nXPCI1_IRDY, nXPCI1_TRDY, nXPCI1_PERR, nXPCI1_SERR, and nXPCI1_STOP marked "DNP" which I infer to mean "Do Not Populate." The Rev 1 board did not have the DNP marking for those pullups and worked fine for me. I don't know what Rev processor card you are using, so this may not be related to your problem.
Randy V.

On Thursday 28 June 2007 21:20, Randy Vinson wrote:
Hi Richard,
I've run into the same problem. The information I received was to run the PCI bus at 33MHz only. Note that the PCI speed selection in U-Boot doesn't seem to do anything. The code is trying to set the divider bits in the OCCR register, but the 832x chip doesn't have those bits. To change to 33MHz, I had to change SW4-4 (CFG_CLKDVB).
I also experienced problems with the power-on reset. If I used the reset button on the 8323 processor board, I got much better results.
I think the problem may be caused by the removal of some pullup resistors in the processor card. The schematic I have for the Rev 1.1 processor board shows the pullups for nXPCI1_DEVSEL, nXPCI1_FRAME, nXPCI1_IRDY, nXPCI1_TRDY, nXPCI1_PERR, nXPCI1_SERR, and nXPCI1_STOP marked "DNP" which I infer to mean "Do Not Populate." The Rev 1 board did not have the DNP marking for those pullups and worked fine for me. I don't know what Rev processor card you are using, so this may not be related to your problem.
Randy V.
Hi Randy,
Thanks for the hints :-) the hardware I have is the the Revision 1.0 Prototype1 production (so the label on the board says so)
Changing the Clock to 33Mhz didnt seem to do anything for me and still have lots of dumb PCI devices listed. Next I think I have to drag out the DSO and see what the bus wobbles look like (the reset is concerning to me, so it cant hurt to check it)
Could the Lowboot affect the PCI bus? ( but then I have tried low and highboot to no avail, so I dont think its that)
Other than putting uboot in to debug mode to see whats going on with the PCI bus.
TIA, Richard Parsons
------------------------------------------------------------------------------
Cambridge Broadband Networks opens new African regional headquarters http://www.cambridgebroadband.com/mi30may07.htm
Cambridge Broadband appoints telecoms industry veteran John Cronin as chairman <http://www.cambridgebroadband.com/mi20feb07.htm
------------------------------------------------------------------------------ Cambridge Broadband Networks Limited
Registered in England and Wales under company number: 03879840 Registered office: Selwyn House, Cambridge Business Park, Cowley Road, Cambridge CB4 0WZ, UK. VAT number: GB 741 0186 64
This email and any attachments are private and confidential. If you believe you have received this email in error please inform the sender and delete it from your mailbox or any other storage mechanism. Cambridge Broadband Networks Limited cannot accept liability for any statements made which are clearly the individual sender's own and not expressly made on behalf of Cambridge Broadband Networks Limited.

Richard Parsons wrote:
Hi Randy,
Thanks for the hints :-) the hardware I have is the the Revision 1.0 Prototype1 production (so the label on the board says so)
Maybe I mis-remembered then. All I know is that I experienced the same phantom device problem you are seeing. Have you tried adding another PCI card so both PMC2 and PMC3 are populated?
Changing the Clock to 33Mhz didnt seem to do anything for me and still have lots of dumb PCI devices listed. Next I think I have to drag out the DSO and see what the bus wobbles look like (the reset is concerning to me, so it cant hurt to check it)
My PCI bus analyzer showed TRDY stuck low (plus another signal stuck low but I can't remember the signal name since this was a while back.) All I know is that with the 8349 and 8360 processor cards, I could configure PCI in U-Boot and I could get to a U-Boot prompt even if the processor card was not attached to the PIBs. I could also boot a Linux kernel w/ PCI support with or without the PIBs. With the 832x card, if I configured PCI in U-Boot, the card would hang if it was not connected to the PIBs.
Could the Lowboot affect the PCI bus? ( but then I have tried low and highboot to no avail, so I dont think its that)
I don't think that makes a difference.
Randy V.
participants (2)
-
Randy Vinson
-
Richard Parsons