Forum Discussion
Altera_Forum
Honored Contributor
20 years agoPCI in uClinux
Does suported PCI in uClinux for NIOS II with Altera PCI Compiler 4.0 pci_mt_32 megafuntion ? Anywho uses this options ? I can't compile kernel with PCI support... http://forum.nio...
Altera_Forum
Honored Contributor
20 years agoHi,
i have a custom board with the Altera PCI Compiler PCI Core in Host-Bridge-Mode and one Gigabit Ethernet Controller connected to the Bridge. The Gigabit Ethernet Controller ist the Intel RC82540EM Ethernet Chip with Legal-PCI Bus. I have fixed the ALTPCI.C-File and the Kernel detects the Ethernet Chip. The Kernel says: *******************snipp******************************************* Autoconfig PCI channel 0x02157bd8 Scanning bus 00, I/O 0x86300000:0x86400000, Mem 0x86100000:0x86200000 00:01.0 Class 0200: 8086:100e (rev 02) Mem at 0x86100000 I/O at 0x86300000 map slot 1 pin 1 irq 15 Setting IRQ for slot 0000:00:01.0 to 15 *******************Snapp******************************************* As you see, the Intel Chip(Vendor 8086, Device 100E, Revision 2) was found on the PCI Bus. So i think the Bus-Hardware works fine... The Ethernetchip then is attached to the Avalon-Addressspace and i can read and write the Configuration Space of the Ethernet Chip. (PCI-Base is 0x8600000, The Ethernetchip Configuration is then at 0x8600800). I can read and write it without problems.... But then, when the driver of the Ethernetchip (/NET/E1000) wants to setup the Ethernet Controller the Kernel says: *******************snipp******************************************* Intel® PRO/1000 Network Driver - version 6.3.9-k4 Copyright © 1999-2005 Intel Corporation. ID: 34986200 PCI: Enable Device PCI: Device is enabled... e1000: 0000:00:01.0: e1000_probe: The EEPROM Checksum Is Not Valid e1000: probe of 0000:00:01.0 failed with error -5 *******************Snapp******************************************* The EeProm is programmed orrectly. But the Ethernetcontroller is not accessible over the Mem-Mapped Adress 0x86100000. The driver wants to access the first Control-Register at this address.... Wenn i read (with INL()) the Adresses i get: *******************snipp******************************************* Adresse: 0x86100000 Data: 0x100000 Adresse: 0x86100004 Data: 0x100004 Adresse: 0x86100008 Data: 0x100008 Adresse: 0x8610000c Data: 0x10000c Adresse: 0x86100010 Data: 0x100010 Adresse: 0x86100014 Data: 0x100014 Adresse: 0x86100018 Data: 0x100018 Adresse: 0x8610001c Data: 0x10001c Adresse: 0x86100020 Data: 0x100020 Adresse: 0x86100024 Data: 0x100024 Adresse: 0x86100028 Data: 0x100028 Adresse: 0x8610002c Data: 0x10002c Adresse: 0x86100030 Data: 0x100030 Adresse: 0x86100034 Data: 0x100034 Adresse: 0x86100038 Data: 0x100038 Adresse: 0x8610003c Data: 0x10003c *******************Snapp******************************************* What is this? Anyone ideas? When i try to access the Controller over the I/O-Mapped-Space i get only the result 0x04 .... http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/blink.gif I hope anyone can help me.... Thankx Marco