<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">Pradeep;<br><br>Booting with a ramdisk is a matter of putting the appropriate image in the arch/ppc/boot/images directory (I obtained mine from the gsrd design files), adding the root=/dev/ram rw on the command-line boot options, making the .config changes for ram disk support and initrd usage, and issuing a make zImage.initrd command.<br><br>Beware when upgrading to 2.6.18.1 as you may have difficulties with the adapter.c you obtained previously.&nbsp; The adapter.c in EDK 8.2 is not as easy to find.&nbsp; Using the EDK to generate software components for linux will not expose the proper adapter.c.&nbsp; I had to use the path that Rick Moleres posted earlier to retrieve the adapter.c which I used for 2.6.18.1 and in my
 notes.<br><br>-cy<br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br>From: Pradeep Sampath &lt;pradeepsampath@yahoo.com&gt;<br>To: robert corley &lt;rdcorle@yahoo.com&gt;<br>Sent: Thursday, November 2, 2006 7:57:25 PM<br>Subject: Re: minor progress with plb_temac v3.00a, EDK 8.2, &amp; 2.6.18.1<br><br><div>This is great! I played around for a while with the Sysace&nbsp;CF&nbsp;driver patches and got it to work. Since you are booting with ramdisk image would you be kind enough to add more text on how to do that? I see that you are using UART Lite? Does it require any special setting for the boot&nbsp;logs to show up on the standard hyperterminal. </div>  <div>&nbsp;</div>  <div>I am planning on rebuilding the whole system using EDK 8.2 and linux kernel 2.6.18.1.</div>  <div>&nbsp;</div>  <div>-Pradeep<br><br><b><i>robert corley &lt;rdcorle@yahoo.com&gt;</i></b> wrote:</div>  <blockquote class="replbq"
 style="border-left: 2px solid rgb(16, 16, 255); padding-left: 5px; margin-left: 5px;">For those interested, I have acheived some measure of success with the plb_temac driver.<br><br>I have attached a txt file of what I had to do to get it working under 2.6.18.1<br><br>I am using the plb_temac in DMA mode 3<br><br>Below you will see the boot dump.<br><br>For those able to help, can
 anyone provide insight as to the failure of setting PHY link speed?<br><br>-cy<br><br><br><br>====================<br>----------------------------------------------------------------------<br>2.6.18.1 kernel with all patches<br>11/02/2006 15:30<br>plb_temac v3.00a<br>hard_temac v3.00b<br><br><br>loaded at: 00400000 009F1138<br>board data at: 009EF120 009EF138<br>relocated to: 004040B4 004040CC<br>zimage at: 00404EC7 0057C1F2<br>initrd at: 0057D000 009EE6FE<br>avail ram: 009F2000 04000000<br><br><br>Linux/PPC load: console=ttyUL0 single ip=192.168.1.100:192.168.1.144:192.168.1.1:255.255.255.0:nab:: ramdisk_size=4660000 root=/dev/ram rw<br><br>Uncompressing Linux...done.<br><br>Now booting the kernel<br><br>[ 0.000000] Linux version 2.6.18.1 (rdcorle@athena) (gcc version 3.4.2) #2 Thu Nov 2 21:56:32 UTC 2006<br>[ 0.000000] Xilinx ML403 Reference System (Virtex-4 FX)<br>[ 0.000000] Built 1 zonelists. Total pages: 16384<br>[ 0.000000] Kernel command line: console=ttyUL0 single
 ip=192.168.1.100:192.168.1.144:192.168.1.1:255.255.255.0:nab:: ramdisk_size=4660000 root=/dev/ram rw<br>[ 0.000000] Xilinx INTC #0 at 0xD1000FC0 mapped to 0xFDFFFFC0<br>[ 0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)<br>[ 0.000158] Console: colour dummy device 80x25<br>[ 0.000568] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)<br>[ 0.001277] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)<br>[ 0.012895] Memory: 57060k available (2548k kernel code, 640k data, 96k init, 0k highmem)<br>[ 0.104378] Mount-cache hash table entries: 512<br>[ 0.106721] checking if image is initramfs...it isn't (no cpio magic); looks like an initrd<br>[ 2.414242] Freeing initrd memory: 4549k freed<br>[ 2.418712] NET: Registered protocol family 16<br>[ 2.427313] NET: Registered protocol family 2<br>[ 2.464244] IP route cache hash table entries: 512 (order: -1, 2048 bytes)<br>[ 2.465037] TCP established hash table entries: 2048 (order: 1, 8192 bytes)<br>[
 2.465205] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)<br>[ 2.465296] TCP: Hash tables configured (established 2048 bind 1024)<br>[ 2.465324] TCP reno registered<br>[ 2.474633] NTFS driver 2.1.27 [Flags: R/O].<br>[ 2.475046] JFS: nTxBlock = 481, nTxLock = 3854<br>[ 2.477623] SGI XFS with no debug enabled<br>[ 2.479001] io scheduler noop registered<br>[ 2.479109] io scheduler anticipatory registered<br>[ 2.479197] io scheduler deadline registered<br>[ 2.479402] io scheduler cfq registered (default)<br>[ 2.517627] uartlite.0: ttyUL0 at MMIO 0xa0000000 (irq = 1) is a uartlite<br>[ 2.691029] RAMDISK driver initialized: 16 RAM disks of 4660000K size 1024 blocksize<br>[ 2.703933] loop: loaded (max 8 devices)<br>[ 2.709698] XTemac: using sgDMA mode.<br>[ 2.713493] XTemac: using TxDRE mode<br>[ 2.717081] XTemac: using RxDRE mode<br>[ 2.720678] XTemac: buffer descriptor size: 32768 (0x8000)<br>[ 2.726622] XTemac: (buffer_descriptor_init) phy: 0x580000, virt: 0xff100000,
 size: 0x8000<br>[ 2.741073] eth0: Xilinx TEMAC #0 at 0x60000000 mapped to 0xC5050000, irq=0<br>[ 2.748080] eth0: XTemac id 1.0f, block id 5, type 8<br>[ 2.753636] mice: PS/2 mouse device common for all mice<br>[ 2.759529] TCP bic registered<br>[ 3.264317] eth0: XTemac: Options: 0xb8f2<br>[ 15.227339] eth0: XTemac: Not able to set the speed to 1000 (status: 0x148)<br>[ 25.200394] eth0: XTemac: Not able to set the speed to 100 (status: 0x148)<br>[ 35.173357] eth0: XTemac: Not able to set the speed to 10 (status: 0x148)<br>[ 35.180122] eth0: XTemac: could not negotiate speed<br>[ 35.187740] eth0: XTemac: Send Threshold = 16, Receive Threshold = 2<br>[ 35.194116] eth0: XTemac: Send Wait bound = 1, Receive Wait bound = 1<br>[ 36.205399] IP-Config: Complete:<br>[ 36.208459] device=eth0, addr=192.168.1.100, mask=255.255.255.0, gw=192.168.1.1,<br>[ 36.216339] host=nab, domain=, nis-domain=(none),<br>[ 36.221487] bootserver=192.168.1.144, rootserver=192.168.1.144, rootpath=<br>[
 36.229826] RAMDISK: Compressed image found at block 0<br>[ 37.200498] eth0: XTemac: PHY Link carrier lost.<br>[ 39.097820] VFS: Mounted root (ext2 filesystem).<br>[ 39.102751] Freeing unused kernel memory: 96k init<br>[ 39.108356] ulite_startup: UART status = 0x0014<br>[ 39.124619] ulite_startup: UART status = 0x0014<br>[ 39.134313] ulite_startup: UART status = 0x0014<br><br><br>BusyBox v1.00-pre9 (2004.04.18-19:53+0000) Built-in shell (ash)<br>Enter 'help' for a list of built-in commands.<br><br>-sh: can't access tty; job control turned off<br><br><br>steps for plb_temac drivers under EDK 8.2.02i (w/SP2.4+0)<br>Using plb_temac v3.00a &amp; hard_temac v3.00b<br><br>Generate s/w libraries<br><br>1. copy or ftp the following files from C:\EDK\sw\ThirdParty\bsp\linux_2_6_v1_00_a\linux\<br>to the base directory of the linux source tree<br><br>USED:<br>arch\ppc\platforms\4xx\xparameters\xparameters.h<br><br>**
 UNUSED<br>arch\ppc\platforms\4xx\virtex.c<br>arch\ppc\boot\simple\embed_config.c<br>include\linux\xilinx_devices.h<br><br>2. copy C:\EDK\sw\ThirdParty\bsp\linux_2_6_v1_00_a\drivers\temac_linux_2_6_v2_00_b\src\adapter.c to<br>../drivers/net/xilinx_temac/adapter.c<br><br>3. copy or ftp ..\linux\arch\ppc\platforms\xilinx_ocp =&gt; drivers/xilinx_edk<br>Note: Remove all old files first *except* Kconfig, xio.h<br><br>4. modify drivers/xilinx_edk/Makefile with the following to look like this:<br><br># Linux file to EXPORT_SYMBOL all of the Xilinx entries.<br>obj-$(CONFIG_XILINX_EDK) += xilinx_syms.o<br>#<br># # The Xilinx OS independent code.<br>xilinx_syms-objs := xbasic_types.o \<br>xdmav3.o xdmav3_intr.o xdmav3_selftest.o xdmav3_simple.o xdmav3_sg.o \<br>xipif_v1_23_b.o \<br>xpacket_fifo_l_v2_00_a.o xpacket_fifo_v2_00_a.o \<br>xversion.o<br><br>5. Modify your copied xparameters_ml403.h (see notes below) as follows:<br>add these lines after #define
 XPAR_PLB_TEMAC_0_INCLUDE_RX_CSUM<br><br>#define XPAR_TEMAC_0_IPIF_RDFIFO_DEPTH XPAR_PLB_TEMAC_0_RXFIFO_DEPTH<br>#define XPAR_TEMAC_0_IPIF_WRFIFO_DEPTH XPAR_PLB_TEMAC_0_TXFIFO_DEPTH<br>#define XPAR_TEMAC_0_MAC_FIFO_DEPTH XPAR_PLB_TEMAC_0_MAC_FIFO_DEPTH<br>#define XPAR_TEMAC_0_TEMAC_DCR_HOST 0<br>#define XPAR_TEMAC_0_INCLUDE_DRE 1<br><br><br>6. (optional) modify arch/ppc/platforms/virtex.h to accomodate RX_CSUM XPAR<br><br>struct xtemac_platform_data {<br>#ifdef XPAR_TEMAC_0_INCLUDE_RX_CSUM<br>u8 tx_dre;<br>u8 rx_dre;<br>u8 tx_csum;<br>u8 rx_csum;<br>u8 phy_type;<br>#endif<br>u8 dma_mode;<br>u32 rx_pkt_fifo_depth;<br>u32 tx_pkt_fifo_depth;<br>u16 mac_fifo_depth;<br>u8 dcr_host;<br>u8 dre;<br>u8 mac_addr[6];<br>};<br><br>7. Modify ../drivers/net/xilinx_temac/adapter.c to remove #include and<br>add #include <br>add #include
 <br><br>____________________________________________________________________________________<br>NOTES:<br>1. Don't forget to copy EDK-generated xparameters.h to ../arch/ppc/platforms/4xx/xparameters/xparameters_ml403.h<br><br><br><br>=====================================================<br>Files in latest patch:<br>../drivers/net/xilinx_temac =<br>Makefile<br>adapter.c<br>xtemac.c<br>xtemac_control.c<br>xtemac_fifo.c<br>xtemac_intr.c<br>xtemac_intr_fifo.c<br>xtemac_intr_sgdma.c<br>xtemac_l.c<br>xtemac_sgdma.c<br>xtemac.h<br>xtemac_i.h<br>xtemac_l.h<br><br>Files in ..\linux\drivers\net\xilinx_temac =&gt; (** = new
 files)<br><br>Makefile<br>adapter.c<br>xtemac.c<br>xtemac_control.c<br>xtemac_fifo.c<br>xtemac_g.c**<br>xtemac_intr.c<br>xtemac_intr_fifo.c<br>xtemac_intr_sgdma.c<br>xtemac_l.c<br>xtemac_selftest.c**<br>xtemac_sgdma.c<br>xtemac_sinit.c**<br>xtemac_stats.c**<br>xtemac.h<br>xtemac_i.h<br>xtemac_l.h<br><br>============================================================<br>Files in ../drivers/xilinx_edk =&gt;<br><br>Kconfig<br>Makefile<br>xbasic_types.c<br>xdmav2.c<br>xdmav2_intr.c<br>xdmav2_sg.c<br>xdmav2_simple.c<br>xilinx_syms.c<br>xpacket_fifo_l_v2_00_a.c<br>xpacket_fifo_v2_00_a.c<br>xbasic_types.h<br>xdmabdv2.h<br>xdmav2.h<br>xdmav2_l.h<br>xio.h<br>xpacket_fifo_l_v2_00_a.h<br>xpacket_fifo_v2_00_a.h<br>xstatus.h<br><br>Files in
 ..\linux\arch\ppc\platforms\xilinx_ocp=&gt;<br>Makefile<br>xbasic_types.c<br>xutil_memtest.c<br>xpacket_fifo_v2_00_a.c<br>xdmav3.c<br>xpacket_fifo_l_v2_00_a.c<br>xdmav3_intr.c<br>xipif_v1_23_b.c<br>xdmav3_selftest.c<br>xdmav3_sg.c<br>xdmav3_simple.c<br>xversion.c<br>xenv.h<br>xenv_none.h<br>xenv_vxworks.h<br>xdmav3_l.h<br>xipif_v1_23_b.h<br>xdmav3.h<br>xpacket_fifo_l_v2_00_a.h<br>xdmabdv3.h<br>xpacket_fifo_v2_00_a.h<br>xparameters_ml300.h<br>xstatus.h<br>xutil.h<br>xbasic_types.h<br>xenv_linux.h<br>xversion.h<br>_______________________________________________<br>Linuxppc-embedded mailing list<br>Linuxppc-embedded@ozlabs.org<br><span><a target="_blank" href="https://ozlabs.org/mailman/listinfo/linuxppc-embedded">https://ozlabs.org/mailman/listinfo/linuxppc-embedded</a></span></blockquote><br></div><br></div></div></body></html>