Linux 2.6.18.1 start Hangs

alayrac christophe christophe.alayrac at cresitt.com
Fri Jan 19 05:06:25 EST 2007


Hi all,

I'mcoming to you because I'm trying to get Linux 2.6.18.1 on ML403 with
TEMAC version 3 (plb-temac v3.00a and hard_temac v3.00b) using EDK
8.2.02 xilinx toolchain.

NOTE: In the following path with \ denotes Windows XP top box with EDK
8.2.02 tools, and path / denotes Linux top box for cross compilation.

I follow Robert CORLEY instructions to setup the kernel source:
 1. Get Linux2.6.18.1 from kernel.org

 2. Apply MVISTA PAULUS TEMAC patch (this part should be done carrefully
beacause some part of the PATCH FAILED)

 3. Then copy C:\EDK\sw\ThirdParty\bsp\linux_2_6_v1_00_a\linux\arch\ppc
\platforms\4xx\xparamters\xparmeters.h and xparameters_ml40x.h to
arch/ppc/platforms/4xx/xparamters
NOTE: the files arch\ppc\platforms\4xx_virtex.c should not be copied
NOTE: xparameters.h only include xparameters_ml40x.h if
CONFIG_XILINX_ML40x has been defined and the Kconfig generate only
CONFIG_XILINX_ML403 so this file should be modified.

 4. Then copy C:\EDK\sw\ThirdParty\bsp\drivers\temac_linux_2_6_v2_00_b
\src\adapter.c to drivers/net/xilinx_temac

 5. I did not found any xilinx_ocp directory either in linux source tree
or xlilinx bsp (raw or generated) as refered in 
http://www.mail-archive.com/linuxppc-embedded@ozlabs.org/msg00953.html
from robert.
I found the equivalent files in the bsp generated by EDK when you create
libray an BSP ins the directory ppc405\libsrc
\linux_2_6_v1_00_a/linux/drivers\xilinx_common and copy them to
drivers/xilinx_edk

 6. I've modified the drivers/xilinx_edk/Makefile as said by robert
(point 4.)

 7. Copy arch/ppc/platforms/4xx/xparameters/xparameters_ml40x.h to
xparameters_ml403.h and and add the lines 
#define XPAR_TEMAC_0_IPIF_RDFIFO_DEPTH XPAR_TEMAC_0_RXFIFO_DEPTH
#define XPAR_TEMAC_0_IPIF_WRFIFO_DEPTH XPAR_TEMAC_0_TXFIFO_DEPTH
#define XPAR_TEMAC_0_TEMAC_DCR_HOST 0
#define XPAR_TEMAC_0_INCLUDE_DRE 1

 8. modify virtex.h (point 6. of robert)
 This is not optional to compile

 10. Modify drivers/net/xilinx_temac.c 
    remove #include <linux/xilinx_devices.h>
    add    #include <platforms/4xx/xparamters/xparameters.h>
    add    #include <linux/platform_device.h>

There is some other modifications in xilinx_temac/adapter.c, xtemac.h,
Makefile (add xtemac_stats.o) and xparameters.h (add ifndef
SERIAL_PORT_DFNS...)

Compilation succeed with TEMAC included in static in the kernel.
The boot process hangs up with following message

loaded at:     00400000 004E313C
board data at: FFFFFFFF 00000017
relocated to:  0040409C 004040B4
zimage at:     00404E21 004E0657
avail ram:     004E4000 00FFFFFF

Linux/PPC load: console=ttyS0,9600 root=/dev/xsa rw
Uncompressing Linux...done.
Now booting the kernel

The board data at: sounds very stange!

Note: even with early debug on serial port there is no more message
displayed.

Any idea?

Does any one succeed to have 2.6.17 or later working with TEMAC and
maybe SYSACE?

Xilinx Driver seems to be unstable (not compliant with MVISTA adapter)

Chris




More information about the Linuxppc-embedded mailing list