SysACE driver and Ethernet support? - mainline Linux 2.6.10 and Xilinx ML310
Juliana Su
js084 at bucknell.edu
Wed Oct 8 02:52:09 EST 2008
Hi All,
I finally got PCI support on my Xilinx ML310 with a mainline Linux
2.6.10 kernel and gcc-3.4.5-glibc-2.3.6 (with the help of the awesome
people at UNCC). Now, I'm trying to get Xilinx SystemACE device driver
support and Ethernet working. Unfortunately, I do not know much about
adding support for a driver that does not currently exist in the kernel.
Does anybody know if it would be possible to get SysACE driver support
in 2.6.10? Downloading an ELF file onto a board using a JTAG cable is
slow and inconvenient...
My attempt at adding SysACE driver support involved adding in
drivers/block/xsysace.c and linux/platform_device.h (files pulled from
mainline Linux 2.6.24) and editing drivers/block/Kconfig and
drivers/block/Makefile. The kernel failed to compile, however, and spit
out these errors:
In file included from drivers/block/xsysace.c:93:
include/linux/platform_device.h:16: error: redefinition of `struct
platform_device'
include/linux/platform_device.h:39: error: conflicting types for
'platform_device_register_simple'
include/linux/device.h:387: error: previous declaration of
'platform_device_register_simple' was here
include/linux/platform_device.h:39: error: conflicting types for
'platform_device_register_simple'
include/linux/device.h:387: error: previous declaration of
'platform_device_register_simple' was here
include/linux/platform_device.h:52: error: syntax error before
"pm_message_t"
include/linux/platform_device.h:52: warning: function declaration isn't
a prototype
include/linux/platform_device.h:53: error: syntax error before
"pm_message_t"
include/linux/platform_device.h:53: warning: function declaration isn't
a prototype
drivers/block/xsysace.c: In function `ace_fsm_yieldirq':
drivers/block/xsysace.c:461: error: `NO_IRQ' undeclared (first use in
this function)
drivers/block/xsysace.c:461: error: (Each undeclared identifier is
reported only once
drivers/block/xsysace.c:461: error: for each function it appears in.)
drivers/block/xsysace.c: In function `ace_fsm_dostate':
drivers/block/xsysace.c:723: error: too many arguments to function
`end_that_request_last'
drivers/block/xsysace.c: At top level:
drivers/block/xsysace.c:931: error: unknown field `getgeo' specified in
initializer
drivers/block/xsysace.c:931: warning: initialization from incompatible
pointer type
drivers/block/xsysace.c: In function `ace_setup':
drivers/block/xsysace.c:960: warning: implicit declaration of function
`setup_timer'
drivers/block/xsysace.c:1009: error: `NO_IRQ' undeclared (first use in
this function)
drivers/block/xsysace.c:1010: warning: passing arg 2 of `request_irq'
from incompatible pointer type
drivers/block/xsysace.c: In function `ace_teardown':
drivers/block/xsysace.c:1061: error: `NO_IRQ' undeclared (first use in
this function)
drivers/block/xsysace.c: In function `ace_alloc':
drivers/block/xsysace.c:1081: warning: implicit declaration of function
`kzalloc'
drivers/block/xsysace.c:1081: warning: assignment makes pointer from
integer without a cast
drivers/block/xsysace.c: In function `ace_probe':
drivers/block/xsysace.c:1131: error: `NO_IRQ' undeclared (first use in
this function)
make[2]: *** [drivers/block/xsysace.o] Error 1
make[1]: *** [drivers/block] Error 2
make: *** [drivers] Error 2
Also, is anybody familiar with the Ethernet drivers? My boot-log
contains this error concerning Ethernet:
eepro100.c:v1.09j-t 9/29/99 Donald Becker
http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin
<saw at saw.sw.com.sg> and others
eth0: Invalid EEPROM checksum 0xbf8a, check settings before activating
this device!
eth0: OEM i82557/i82558 10/100 Ethernet, 00:0A:35:00:7C:A0, IRQ 0.
Board assembly 727095-004, Physical connectors present: RJ45
Primary interface chip i82555 PHY #1.
Self test failed, status ffffffff:
Failure to initialize the i82557.
Verify that the card is a bus-master capable slot.
I also tried another Ethernet driver and got this error instead:
e100: Intel(R) PRO/100 Network Driver, 3.2.3-k2-NAPI
e100: Copyright(c) 1999-2004 Intel Corporation
e100: 0000:00:07.0: e100_eeprom_load: EEPROM corrupted
e100: probe of 0000:00:07.0 failed with error -11
I know that newer versions of mainline and Xilinx Linux 2.6 have SysACE
support, but I would prefer to stick with mainline 2.6.10 because, well,
it sort of works for me at the moment (I was able to mount an ATA hard
drive with an ext2 file system). Any help/suggestions would be greatly
appreciated. Let me know if you need me to provide any additional
information. Thanks!
-Juliana
More information about the Linuxppc-embedded
mailing list