<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 9pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
Dear Johann,<BR>
Thanks for the prompt reply. <BR>
&nbsp;<BR>
Actually I am using EDK 10.1 evaluation version. According to Xilinx's answer, they said the problem will be fixed in 10.1 already. Unfortunately I still met it in my design. <BR>
&nbsp;<BR>
Do you happen to still have the file tx_ii_if.zip? I cannot download it from Xilinx any more. Thank you so much if you can give me a copy.<BR>
&nbsp;<BR>
BR<BR>
Ming<BR>
&nbsp;<BR>
<BR>&gt; Date: Fri, 4 Apr 2008 09:53:07 +0000<BR>&gt; From: johaahn@gmail.com<BR>&gt; To: eemingliu@hotmail.com<BR>&gt; Subject: Re: Xilinx LLTEMAC driver issues<BR>&gt; CC: mh@omnisys.se; linuxppc-embedded@ozlabs.org; john.linn@xilinx.com; git@xilinx.com<BR>&gt; <BR>&gt; Hi Ming,<BR>&gt; <BR>&gt; I've already used netperf (without NFS) successfully.<BR>&gt; Are you using 1.00.b and 9.2, if yes look at AR #29708.<BR>&gt; <BR>&gt; Best regards,<BR>&gt; Johann<BR>&gt; <BR>&gt; On Fri, Apr 4, 2008 at 9:36 AM, MingLiu &lt;eemingliu@hotmail.com&gt; wrote:<BR>&gt; &gt;<BR>&gt; &gt; Dear Johann,<BR>&gt; &gt; Previously I said this patch helps for the checksum error problem. But now<BR>&gt; &gt; I found some new issues. Yes. at least with this patch, something is better<BR>&gt; &gt; and at least we can use the hardware checksum offloading to do something,<BR>&gt; &gt; for example I can mount the NFS root file system. However when I try to<BR>&gt; &gt; measure the ethernet bandwidth with netperf, something goes wrong and the<BR>&gt; &gt; NFS mount will be broken. I guess this is because of the large bulk data<BR>&gt; &gt; transfer and maybe thus it triggers the checksum problem to happen.<BR>&gt; &gt;<BR>&gt; &gt; Do you have the same situation? Or someone else has the same problem? I<BR>&gt; &gt; will appreciate if you can share your experience. Thanks a lot.<BR>&gt; &gt;<BR>&gt; &gt; BR<BR>&gt; &gt; Ming<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; ________________________________<BR>&gt; &gt; Date: Wed, 2 Apr 2008 07:20:43 +0000<BR>&gt; &gt; From: johaahn@gmail.com<BR>&gt; &gt; To: mh@omnisys.se<BR>&gt; &gt;<BR>&gt; &gt; Subject: Re: Xilinx LLTEMAC driver issues<BR>&gt; &gt; CC: linuxppc-embedded@ozlabs.org; John.Linn@xilinx.com; git@xilinx.com<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; I've solved this checksum offloading issue with this below patch.<BR>&gt; &gt; It may help, if you need performance. It certainly needs review but it works<BR>&gt; &gt; on my side.<BR>&gt; &gt;<BR>&gt; &gt; --- xilinxgit/drivers/net/xilinx<BR>&gt; &gt; _lltemac/xlltemac_main.c.orig 2008-03-21 09:11:43.000000000 +0100<BR>&gt; &gt; +++ xilinxgit/drivers/net/xilinx_lltemac/xlltemac_main.c 2008-03-21<BR>&gt; &gt; 09:24:23.000000000 +0100<BR>&gt; &gt; @@ -133,7 +133,7 @@<BR>&gt; &gt; (XLlDma_mBdRead((BdPtr), XLLDMA_BD_STSCTRL_USR0_OFFSET)) &amp;<BR>&gt; &gt; 0xFFFFFFFE )<BR>&gt; &gt;<BR>&gt; &gt; #define BdCsumSetup(BdPtr, Start, Insert) \<BR>&gt; &gt; - XLlDma_mBdWrite((BdPtr), XLLDMA_BD_USR1_OFFSET, (Start) &lt;&lt; 16 |<BR>&gt; &gt; (Insert))<BR>&gt; &gt; + XLlDma_mBdWrite((BdPtr), XLLDMA_BD_USR1_OFFSET, ((Start) &lt;&lt; 16) |<BR>&gt; &gt; (Insert))<BR>&gt; &gt;<BR>&gt; &gt; /* Used for debugging */<BR>&gt; &gt; #define BdCsumInsert(BdPtr) \<BR>&gt; &gt; @@ -1540,7 +1541,7 @@ static int xenet_DmaSend_internal(struct<BR>&gt; &gt; /*<BR>&gt; &gt; * if tx checksum offloading is enabled, when the ethernet stack<BR>&gt; &gt; * wants us to perform the checksum in hardware,<BR>&gt; &gt; - * skb-&gt;ip_summed is CHECKSUM_COMPLETE. Otherwise skb-&gt;ip_summed is<BR>&gt; &gt; + * skb-&gt;ip_summed is CHECKSUM_PARTIAL. Otherwise skb-&gt;ip_summed is<BR>&gt; &gt; * CHECKSUM_NONE, meaning the checksum is already done, or<BR>&gt; &gt; * CHECKSUM_UNNECESSARY, meaning checksumming is turned off (e.g.<BR>&gt; &gt; * loopback interface)<BR>&gt; &gt; @@ -1565,9 +1566,11 @@ static int xenet_DmaSend_internal(struct<BR>&gt; &gt; * skb_transport_header(skb) points to the beginning of the ip header<BR>&gt; &gt; *<BR>&gt; &gt; */<BR>&gt; &gt; - if (skb-&gt;ip_summed == CHECKSUM_COMPLETE) {<BR>&gt; &gt; + if (skb-&gt;ip_summed == CHECKSUM_PARTIAL) {<BR>&gt; &gt; +<BR>&gt; &gt; + unsigned int csum_start_off = skb_transport_offset(skb);<BR>&gt; &gt; + unsigned int csum_index_off = csum_start_off + skb-&gt;csum_offset;<BR>&gt; &gt;<BR>&gt; &gt; - unsigned char *raw = skb_transport_header(skb);<BR>&gt; &gt; #if 0<BR>&gt; &gt; {<BR>&gt; &gt; unsigned int csum = _xenet_tx_csum(skb);<BR>&gt; &gt; @@ -1578,9 +1581,8 @@ static int xenet_DmaSend_internal(struct<BR>&gt; &gt; }<BR>&gt; &gt; #else<BR>&gt; &gt; BdCsumEnable(bd_ptr);<BR>&gt; &gt; - BdCsumSetup(bd_ptr, raw - skb-&gt;data,<BR>&gt; &gt; - (raw - skb-&gt;data) + skb-&gt;csum);<BR>&gt; &gt; -<BR>&gt; &gt; + BdCsumSetup(bd_ptr, csum_start_off,<BR>&gt; &gt; + csum_index_off);<BR>&gt; &gt; #endif<BR>&gt; &gt; lp-&gt;tx_hw_csums++;<BR>&gt; &gt; }<BR>&gt; &gt; @@ -3277,7 +3279,7 @@ static int __devinit xtenet_of_probe(str<BR>&gt; &gt; struct resource *r_irq = &amp;r_irq_struct; /* Interrupt resources */<BR>&gt; &gt; struct resource *r_mem = &amp;r_mem_struct; /* IO mem resources */<BR>&gt; &gt; struct xlltemac_platform_data *pdata = &amp;pdata_struct;<BR>&gt; &gt; - void *mac_address;<BR>&gt; &gt; + const void *mac_address;<BR>&gt; &gt; int rc = 0;<BR>&gt; &gt; const phandle *llink_connected_handle;<BR>&gt; &gt; struct device_node *llink_connected_node;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; On Mon, Mar 31, 2008 at 11:10 AM, Magnus Hjorth &lt;mh@omnisys.se&gt; wrote:<BR>&gt; &gt;<BR>&gt; &gt; Deactivating checksum offloading helped a lot! I still have some packet loss<BR>&gt; &gt; and not the best performance (TFTP transfer about 100 kbyte/s) but at least<BR>&gt; &gt; it works.<BR>&gt; &gt;<BR>&gt; &gt; Thanks!<BR>&gt; &gt;<BR>&gt; &gt; //Magnus<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; &gt; -----Original Message-----<BR>&gt; &gt; &gt; From: rza1 [mailto:rza1@so-logic.net]<BR>&gt; &gt; &gt; Sent: den 31 mars 2008 11:14<BR>&gt; &gt; &gt; To: Magnus Hjorth<BR>&gt; &gt; &gt; Cc: John Linn; git; linuxppc-embedded@ozlabs.org<BR>&gt; &gt; &gt; Subject: Re: Xilinx LLTEMAC driver issues<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; Hi Magnus,<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; 1.<BR>&gt; &gt; &gt; I am using nearly the same versions then you and got the same problems<BR>&gt; &gt; &gt; too ;-).<BR>&gt; &gt; &gt; I think there are some problems with the checksum offloading.<BR>&gt; &gt; &gt; Try to sniff the some packages (e.g. wireshark)...<BR>&gt; &gt; &gt; For me ICMP (ping) worked but udp and tcp not (because off a wrong<BR>&gt; &gt; &gt; checksum in the transport layer).<BR>&gt; &gt; &gt; A quick solution is to just deactivate checksum offloading.<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; 2.<BR>&gt; &gt; &gt; I remember some problems with Virtex-4 presamples too.<BR>&gt; &gt; &gt; There where problems with the hard-temac wrapper. You had to use 1.00.a<BR>&gt; &gt; &gt; and not b version.<BR>&gt; &gt; &gt; But I don't have these problems with the EDK 9.2sp2/ISE9.2sp3 anymore.<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; all the best,<BR>&gt; &gt; &gt; Robert<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; Magnus Hjorth wrote:<BR>&gt; &gt; &gt; &gt; Hi John,<BR>&gt; &gt; &gt; &gt;<BR>&gt; &gt; &gt; &gt; Thanks for the very fast reply! Right now I'm not at work so I don't<BR>&gt; &gt; &gt; &gt; have the board or EDK here to test anything.<BR>&gt; &gt; &gt; &gt;<BR>&gt; &gt; &gt; &gt; I'm using checksum offload, but I don't know if DRE is enabled or not. I<BR>&gt; &gt; &gt; &gt; can't recall seeing any setting to enable/disable DRE..<BR>&gt; &gt; &gt; &gt;<BR>&gt; &gt; &gt; &gt; A few things that crossed my mind:<BR>&gt; &gt; &gt; &gt;<BR>&gt; &gt; &gt; &gt; Last year I did a design with EDK 8.2, back then there was an issue with<BR>&gt; &gt; &gt; &gt; the ML403 boards having an old revision of the FPGA which wasn't<BR>&gt; &gt; &gt; &gt; compatible with some versions of the IP core. There are no such version<BR>&gt; &gt; &gt; &gt; issues with the xps_ll_temac?<BR>&gt; &gt; &gt; &gt;<BR>&gt; &gt; &gt; &gt; I don't think that I had phy-addr set in the DTS file. Will test that on<BR>&gt; &gt; &gt; &gt; Monday.<BR>&gt; &gt; &gt; &gt;<BR>&gt; &gt; &gt; &gt; Best regards,<BR>&gt; &gt; &gt; &gt; Magnus<BR>&gt; &gt; &gt; &gt;<BR>&gt; &gt; &gt; &gt;<BR>&gt; &gt; &gt; &gt; On Sat, 2008-03-29 at 07:58 -0600, John Linn wrote:<BR>&gt; &gt; &gt; &gt;<BR>&gt; &gt; &gt; &gt;&gt; Hi Magnus,<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; Sorry to hear you're having problems with it.<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; I am doing testing on an ML405 which is the same board but with a<BR>&gt; &gt; bigger<BR>&gt; &gt; &gt; FPGA, but with ppc arch and I don't see this issue. I have done limited<BR>&gt; &gt; testing<BR>&gt; &gt; &gt; with powerpc arch and the LL TEMAC, but I didn't see this issue there<BR>&gt; &gt; either.<BR>&gt; &gt; &gt; Powerpc arch is definitely less mature in my experience than the ppc arch.<BR>&gt; &gt; I'll<BR>&gt; &gt; &gt; do a quick test with my powerpc arch and make sure again I'm not seeing<BR>&gt; &gt; it.<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; My kernel is from the Xilinx Git tree, but there have been a number of<BR>&gt; &gt; &gt; changes we have pushed out so I don't know how long ago you pulled from<BR>&gt; &gt; the Git<BR>&gt; &gt; &gt; tree.<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; My EDK project is 10.1 so it's a little newer. I am using LL TEMAC<BR>&gt; &gt; 1.01a so<BR>&gt; &gt; &gt; it's a little newer. I reviewed the change log for the LL TEMAC and don't<BR>&gt; &gt; see<BR>&gt; &gt; &gt; any big problems that were fixed in the newer versions, more new features.<BR>&gt; &gt; I'll<BR>&gt; &gt; &gt; check with some others here to see if I missed something there.<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; I am using DMA also, but no DRE or checksum offload. You didn't say<BR>&gt; &gt; anything<BR>&gt; &gt; &gt; about those. I'm going to insert my mhs file that describes my system to<BR>&gt; &gt; let you<BR>&gt; &gt; &gt; compare your system configuration. It's not clear to me yet if you have a<BR>&gt; &gt; h/w or<BR>&gt; &gt; &gt; s/w problem.<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; I'll also insert some of my device tree with the LL TEMAC so you can<BR>&gt; &gt; compare<BR>&gt; &gt; &gt; (ignore 16550 stuff as we are still working on that).<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; Since you can't ping reliably I would probably focus on that since it's<BR>&gt; &gt; &gt; simpler than the other issues you're seeing.<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; Thanks,<BR>&gt; &gt; &gt; &gt;&gt; John<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; #<BR>&gt; &gt; &gt;<BR>&gt; &gt; ##############################################################################<BR>&gt; &gt; &gt; &gt;&gt; # Created by Base System Builder Wizard for Xilinx EDK 10.1.1 Build<BR>&gt; &gt; &gt; EDK_K_SP1.1<BR>&gt; &gt; &gt; &gt;&gt; # Thu Feb 14 14:11:12 2008<BR>&gt; &gt; &gt; &gt;&gt; # Target Board: Xilinx Virtex 4 ML405 Evaluation Platform Rev 1<BR>&gt; &gt; &gt; &gt;&gt; # Family: virtex4<BR>&gt; &gt; &gt; &gt;&gt; # Device: xc4vfx20<BR>&gt; &gt; &gt; &gt;&gt; # Package: ff672<BR>&gt; &gt; &gt; &gt;&gt; # Speed Grade: -10<BR>&gt; &gt; &gt; &gt;&gt; # Processor: ppc405_0<BR>&gt; &gt; &gt; &gt;&gt; # Processor clock frequency: 300.00 MHz<BR>&gt; &gt; &gt; &gt;&gt; # Bus clock frequency: 100.00 MHz<BR>&gt; &gt; &gt; &gt;&gt; # On Chip Memory : 8 KB<BR>&gt; &gt; &gt; &gt;&gt; # Total Off Chip Memory : 128 MB<BR>&gt; &gt; &gt; &gt;&gt; # - DDR_SDRAM = 128 MB<BR>&gt; &gt; &gt; &gt;&gt; #<BR>&gt; &gt; &gt;<BR>&gt; &gt; ##############################################################################<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER VERSION = 2.1.0<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_RS232_Uart_sin_pin = fpga_0_RS232_Uart_sin, DIR = I<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_RS232_Uart_sout_pin = fpga_0_RS232_Uart_sout, DIR = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_LEDs_4Bit_GPIO_IO_pin = fpga_0_LEDs_4Bit_GPIO_IO, DIR =<BR>&gt; &gt; IO, VEC<BR>&gt; &gt; &gt; = [0:3]<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_IIC_EEPROM_Scl_pin = fpga_0_IIC_EEPROM_Scl, DIR = IO<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_IIC_EEPROM_Sda_pin = fpga_0_IIC_EEPROM_Sda, DIR = IO<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_SysACE_CompactFlash_SysACE_CLK_pin =<BR>&gt; &gt; &gt; fpga_0_SysACE_CompactFlash_SysACE_CLK, DIR = I<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_SysACE_CompactFlash_SysACE_MPA_pin =<BR>&gt; &gt; &gt; fpga_0_SysACE_CompactFlash_SysACE_MPA, DIR = O, VEC = [6:1]<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_SysACE_CompactFlash_SysACE_MPD_pin =<BR>&gt; &gt; &gt; fpga_0_SysACE_CompactFlash_SysACE_MPD, DIR = IO, VEC = [15:0]<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_SysACE_CompactFlash_SysACE_CEN_pin =<BR>&gt; &gt; &gt; fpga_0_SysACE_CompactFlash_SysACE_CEN, DIR = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_SysACE_CompactFlash_SysACE_OEN_pin =<BR>&gt; &gt; &gt; fpga_0_SysACE_CompactFlash_SysACE_OEN, DIR = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_SysACE_CompactFlash_SysACE_WEN_pin =<BR>&gt; &gt; &gt; fpga_0_SysACE_CompactFlash_SysACE_WEN, DIR = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin =<BR>&gt; &gt; &gt; fpga_0_SysACE_CompactFlash_SysACE_MPIRQ, DIR = I<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_DDR_SDRAM_DDR_Clk_pin = fpga_0_DDR_SDRAM_DDR_Clk, DIR = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_DDR_SDRAM_DDR_Clk_n_pin = fpga_0_DDR_SDRAM_DDR_Clk_n, DIR<BR>&gt; &gt; = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_DDR_SDRAM_DDR_Addr_pin = fpga_0_DDR_SDRAM_DDR_Addr, DIR =<BR>&gt; &gt; O, VEC<BR>&gt; &gt; &gt; = [12:0]<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_DDR_SDRAM_DDR_BankAddr_pin =<BR>&gt; &gt; fpga_0_DDR_SDRAM_DDR_BankAddr, DIR<BR>&gt; &gt; &gt; = O, VEC = [1:0]<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_DDR_SDRAM_DDR_CAS_n_pin = fpga_0_DDR_SDRAM_DDR_CAS_n, DIR<BR>&gt; &gt; = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_DDR_SDRAM_DDR_CE_pin = fpga_0_DDR_SDRAM_DDR_CE, DIR = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_DDR_SDRAM_DDR_CS_n_pin = fpga_0_DDR_SDRAM_DDR_CS_n, DIR =<BR>&gt; &gt; O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_DDR_SDRAM_DDR_RAS_n_pin = fpga_0_DDR_SDRAM_DDR_RAS_n, DIR<BR>&gt; &gt; = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_DDR_SDRAM_DDR_WE_n_pin = fpga_0_DDR_SDRAM_DDR_WE_n, DIR =<BR>&gt; &gt; O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_DDR_SDRAM_DDR_DM_pin = fpga_0_DDR_SDRAM_DDR_DM, DIR = O,<BR>&gt; &gt; VEC =<BR>&gt; &gt; &gt; [3:0]<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_DDR_SDRAM_DDR_DQS = fpga_0_DDR_SDRAM_DDR_DQS, DIR = IO,<BR>&gt; &gt; VEC =<BR>&gt; &gt; &gt; [3:0]<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_DDR_SDRAM_DDR_DQ = fpga_0_DDR_SDRAM_DDR_DQ, DIR = IO, VEC<BR>&gt; &gt; =<BR>&gt; &gt; &gt; [31:0]<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_TriMode_MAC_GMII_GMII_TXD_0_pin =<BR>&gt; &gt; &gt; fpga_0_TriMode_MAC_GMII_GMII_TXD_0, DIR = O, VEC = [7:0]<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_TriMode_MAC_GMII_GMII_TX_EN_0_pin =<BR>&gt; &gt; &gt; fpga_0_TriMode_MAC_GMII_GMII_TX_EN_0, DIR = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_TriMode_MAC_GMII_GMII_TX_ER_0_pin =<BR>&gt; &gt; &gt; fpga_0_TriMode_MAC_GMII_GMII_TX_ER_0, DIR = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_TriMode_MAC_GMII_GMII_TX_CLK_0_pin =<BR>&gt; &gt; &gt; fpga_0_TriMode_MAC_GMII_GMII_TX_CLK_0, DIR = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_TriMode_MAC_GMII_GMII_RXD_0_pin =<BR>&gt; &gt; &gt; fpga_0_TriMode_MAC_GMII_GMII_RXD_0, DIR = I, VEC = [7:0]<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_TriMode_MAC_GMII_GMII_RX_DV_0_pin =<BR>&gt; &gt; &gt; fpga_0_TriMode_MAC_GMII_GMII_RX_DV_0, DIR = I<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_TriMode_MAC_GMII_GMII_RX_ER_0_pin =<BR>&gt; &gt; &gt; fpga_0_TriMode_MAC_GMII_GMII_RX_ER_0, DIR = I<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_TriMode_MAC_GMII_GMII_RX_CLK_0_pin =<BR>&gt; &gt; &gt; fpga_0_TriMode_MAC_GMII_GMII_RX_CLK_0, DIR = I<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_TriMode_MAC_GMII_MII_TX_CLK_0_pin =<BR>&gt; &gt; &gt; fpga_0_TriMode_MAC_GMII_MII_TX_CLK_0, DIR = I<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_TriMode_MAC_GMII_MDIO_0_pin =<BR>&gt; &gt; fpga_0_TriMode_MAC_GMII_MDIO_0,<BR>&gt; &gt; &gt; DIR = IO<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_TriMode_MAC_GMII_MDC_0_pin =<BR>&gt; &gt; fpga_0_TriMode_MAC_GMII_MDC_0, DIR<BR>&gt; &gt; &gt; = O<BR>&gt; &gt; &gt; &gt;&gt; PORT fpga_0_TriMode_MAC_GMII_TemacPhy_RST_n_pin =<BR>&gt; &gt; &gt; fpga_0_TriMode_MAC_GMII_TemacPhy_RST_n, DIR = O<BR>&gt; &gt; &gt; &gt;&gt; PORT sys_clk_pin = dcm_clk_s, DIR = I, SIGIS = CLK, CLK_FREQ =<BR>&gt; &gt; 100000000<BR>&gt; &gt; &gt; &gt;&gt; PORT sys_rst_pin = sys_rst_s, DIR = I, RST_POLARITY = 0, SIGIS = RST<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN ppc405_virtex4<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = ppc405_0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 2.01.a<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_FASTEST_PLB_CLOCK = DPLB1<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_IDCR_BASEADDR = 0b0100000000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_IDCR_HIGHADDR = 0b0111111111<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE JTAGPPC = jtagppc_0_0<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE IPLB0 = plb<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE DPLB0 = plb<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE IPLB1 = ppc405_0_iplb1<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE DPLB1 = ppc405_0_dplb1<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE RESETPPC = ppc_reset_bus<BR>&gt; &gt; &gt; &gt;&gt; PORT CPMC405CLOCK = proc_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT EICC405EXTINPUTIRQ = EICC405EXTINPUTIRQ<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN jtagppc_cntlr<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = jtagppc_0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 2.01.a<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE JTAGPPC0 = jtagppc_0_0<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN plb_v46<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = plb<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_DCR_INTFCE = 0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_NUM_CLK_PLB2OPB_REARB = 100<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 1.02.a<BR>&gt; &gt; &gt; &gt;&gt; PORT PLB_Clk = sys_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT SYS_Rst = sys_bus_reset<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN xps_bram_if_cntlr<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = xps_bram_if_cntlr_1<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 1.00.a<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_SPLB_NATIVE_DWIDTH = 64<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_BASEADDR = 0xffffe000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_HIGHADDR = 0xffffffff<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE SPLB = plb<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE PORTA = xps_bram_if_cntlr_1_port<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN bram_block<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = plb_bram_if_cntlr_1_bram<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 1.00.a<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE PORTA = xps_bram_if_cntlr_1_port<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN xps_uart16550<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = RS232_Uart<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 2.00.a<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_IS_A_16550 = 1<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_BASEADDR = 0x83e00000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_HIGHADDR = 0x83e0ffff<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE SPLB = plb<BR>&gt; &gt; &gt; &gt;&gt; PORT sin = fpga_0_RS232_Uart_sin<BR>&gt; &gt; &gt; &gt;&gt; PORT sout = fpga_0_RS232_Uart_sout<BR>&gt; &gt; &gt; &gt;&gt; PORT IP2INTC_Irpt = RS232_Uart_IP2INTC_Irpt<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN xps_gpio<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = LEDs_4Bit<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 1.00.a<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_INTERRUPT_PRESENT = 1<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_GPIO_WIDTH = 4<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_IS_DUAL = 0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_IS_BIDIR = 1<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_ALL_INPUTS = 0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_BASEADDR = 0x81400000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_HIGHADDR = 0x8140ffff<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE SPLB = plb<BR>&gt; &gt; &gt; &gt;&gt; PORT GPIO_IO = fpga_0_LEDs_4Bit_GPIO_IO<BR>&gt; &gt; &gt; &gt;&gt; PORT IP2INTC_Irpt = LEDs_4Bit_IP2INTC_Irpt<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN xps_iic<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = IIC_EEPROM<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 2.00.a<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLK_FREQ = 100000000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_IIC_FREQ = 100000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_TEN_BIT_ADR = 0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_BASEADDR = 0x81600000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_HIGHADDR = 0x8160ffff<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE SPLB = plb<BR>&gt; &gt; &gt; &gt;&gt; PORT Scl = fpga_0_IIC_EEPROM_Scl<BR>&gt; &gt; &gt; &gt;&gt; PORT Sda = fpga_0_IIC_EEPROM_Sda<BR>&gt; &gt; &gt; &gt;&gt; PORT IIC2INTC_Irpt = IIC_EEPROM_IIC2INTC_Irpt<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN xps_sysace<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = SysACE_CompactFlash<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 1.00.a<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_MEM_WIDTH = 16<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_BASEADDR = 0x83600000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_HIGHADDR = 0x8360ffff<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE SPLB = plb<BR>&gt; &gt; &gt; &gt;&gt; PORT SysACE_CLK = fpga_0_SysACE_CompactFlash_SysACE_CLK<BR>&gt; &gt; &gt; &gt;&gt; PORT SysACE_MPA = fpga_0_SysACE_CompactFlash_SysACE_MPA_split<BR>&gt; &gt; &gt; &gt;&gt; PORT SysACE_MPD = fpga_0_SysACE_CompactFlash_SysACE_MPD<BR>&gt; &gt; &gt; &gt;&gt; PORT SysACE_CEN = fpga_0_SysACE_CompactFlash_SysACE_CEN<BR>&gt; &gt; &gt; &gt;&gt; PORT SysACE_OEN = fpga_0_SysACE_CompactFlash_SysACE_OEN<BR>&gt; &gt; &gt; &gt;&gt; PORT SysACE_WEN = fpga_0_SysACE_CompactFlash_SysACE_WEN<BR>&gt; &gt; &gt; &gt;&gt; PORT SysACE_MPIRQ = fpga_0_SysACE_CompactFlash_SysACE_MPIRQ<BR>&gt; &gt; &gt; &gt;&gt; PORT SysACE_IRQ = SysACE_CompactFlash_SysACE_IRQ<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN mpmc<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = DDR_SDRAM<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 4.00.a<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_NUM_PORTS = 3<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_MEM_PARTNO = HYB25D512160BE-5<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_MEM_DATA_WIDTH = 32<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_MEM_DQS_WIDTH = 4<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_MEM_DM_WIDTH = 4<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_MEM_TYPE = DDR<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_NUM_IDELAYCTRL = 2<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_IDELAYCTRL_LOC = IDELAYCTRL_X0Y3-IDELAYCTRL_X0Y2<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_PIM0_BASETYPE = 2<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_PIM1_BASETYPE = 2<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_PIM2_BASETYPE = 3<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_MPMC_CLK0_PERIOD_PS = 10000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_SDMA2_PI2LL_CLK_RATIO = 1<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_MPMC_BASEADDR = 0x00000000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_MPMC_HIGHADDR = 0x07ffffff<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_SDMA_CTRL_BASEADDR = 0x84600000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_SDMA_CTRL_HIGHADDR = 0x8460ffff<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE SPLB0 = ppc405_0_iplb1<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE SPLB1 = ppc405_0_dplb1<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE SDMA_LL2 = TriMode_MAC_GMII_LLINK0<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE SDMA_CTRL2 = plb<BR>&gt; &gt; &gt; &gt;&gt; PORT DDR_Addr = fpga_0_DDR_SDRAM_DDR_Addr<BR>&gt; &gt; &gt; &gt;&gt; PORT DDR_BankAddr = fpga_0_DDR_SDRAM_DDR_BankAddr<BR>&gt; &gt; &gt; &gt;&gt; PORT DDR_CAS_n = fpga_0_DDR_SDRAM_DDR_CAS_n<BR>&gt; &gt; &gt; &gt;&gt; PORT DDR_CE = fpga_0_DDR_SDRAM_DDR_CE<BR>&gt; &gt; &gt; &gt;&gt; PORT DDR_CS_n = fpga_0_DDR_SDRAM_DDR_CS_n<BR>&gt; &gt; &gt; &gt;&gt; PORT DDR_RAS_n = fpga_0_DDR_SDRAM_DDR_RAS_n<BR>&gt; &gt; &gt; &gt;&gt; PORT DDR_WE_n = fpga_0_DDR_SDRAM_DDR_WE_n<BR>&gt; &gt; &gt; &gt;&gt; PORT DDR_DM = fpga_0_DDR_SDRAM_DDR_DM<BR>&gt; &gt; &gt; &gt;&gt; PORT DDR_DQS = fpga_0_DDR_SDRAM_DDR_DQS<BR>&gt; &gt; &gt; &gt;&gt; PORT DDR_DQ = fpga_0_DDR_SDRAM_DDR_DQ<BR>&gt; &gt; &gt; &gt;&gt; PORT DDR_Clk = fpga_0_DDR_SDRAM_DDR_Clk<BR>&gt; &gt; &gt; &gt;&gt; PORT DDR_Clk_n = fpga_0_DDR_SDRAM_DDR_Clk_n<BR>&gt; &gt; &gt; &gt;&gt; PORT MPMC_Clk0 = sys_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT MPMC_Clk90 = DDR_SDRAM_mpmc_clk_90_s<BR>&gt; &gt; &gt; &gt;&gt; PORT SDMA2_Clk = sys_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT MPMC_Clk_200MHz = clk_200mhz_s<BR>&gt; &gt; &gt; &gt;&gt; PORT MPMC_Rst = sys_periph_reset<BR>&gt; &gt; &gt; &gt;&gt; PORT SDMA2_Rx_IntOut = DDR_SDRAM_SDMA2_Rx_IntOut<BR>&gt; &gt; &gt; &gt;&gt; PORT SDMA2_Tx_IntOut = DDR_SDRAM_SDMA2_Tx_IntOut<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN xps_ll_temac<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = TriMode_MAC_GMII<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 1.01.a<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_SPLB_CLK_PERIOD_PS = 10000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_PHY_TYPE = 1<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_NUM_IDELAYCTRL = 4<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_IDELAYCTRL_LOC = IDELAYCTRL_X1Y1-IDELAYCTRL_X1Y3-<BR>&gt; &gt; &gt; IDELAYCTRL_X2Y2-IDELAYCTRL_X2Y3<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_TEMAC_TYPE = 1<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_BUS2CORE_CLK_RATIO = 1<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_BASEADDR = 0x81c00000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_HIGHADDR = 0x81c0ffff<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE SPLB = plb<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE LLINK0 = TriMode_MAC_GMII_LLINK0<BR>&gt; &gt; &gt; &gt;&gt; PORT GMII_TXD_0 = fpga_0_TriMode_MAC_GMII_GMII_TXD_0<BR>&gt; &gt; &gt; &gt;&gt; PORT GMII_TX_EN_0 = fpga_0_TriMode_MAC_GMII_GMII_TX_EN_0<BR>&gt; &gt; &gt; &gt;&gt; PORT GMII_TX_ER_0 = fpga_0_TriMode_MAC_GMII_GMII_TX_ER_0<BR>&gt; &gt; &gt; &gt;&gt; PORT GMII_TX_CLK_0 = fpga_0_TriMode_MAC_GMII_GMII_TX_CLK_0<BR>&gt; &gt; &gt; &gt;&gt; PORT GMII_RXD_0 = fpga_0_TriMode_MAC_GMII_GMII_RXD_0<BR>&gt; &gt; &gt; &gt;&gt; PORT GMII_RX_DV_0 = fpga_0_TriMode_MAC_GMII_GMII_RX_DV_0<BR>&gt; &gt; &gt; &gt;&gt; PORT GMII_RX_ER_0 = fpga_0_TriMode_MAC_GMII_GMII_RX_ER_0<BR>&gt; &gt; &gt; &gt;&gt; PORT GMII_RX_CLK_0 = fpga_0_TriMode_MAC_GMII_GMII_RX_CLK_0<BR>&gt; &gt; &gt; &gt;&gt; PORT MII_TX_CLK_0 = fpga_0_TriMode_MAC_GMII_MII_TX_CLK_0<BR>&gt; &gt; &gt; &gt;&gt; PORT MDIO_0 = fpga_0_TriMode_MAC_GMII_MDIO_0<BR>&gt; &gt; &gt; &gt;&gt; PORT MDC_0 = fpga_0_TriMode_MAC_GMII_MDC_0<BR>&gt; &gt; &gt; &gt;&gt; PORT TemacPhy_RST_n = fpga_0_TriMode_MAC_GMII_TemacPhy_RST_n<BR>&gt; &gt; &gt; &gt;&gt; PORT GTX_CLK_0 = temac_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT REFCLK = clk_200mhz_s<BR>&gt; &gt; &gt; &gt;&gt; PORT LlinkTemac0_CLK = sys_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT TemacIntc0_Irpt = TriMode_MAC_GMII_TemacIntc0_Irpt<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN util_bus_split<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = SysACE_CompactFlash_util_bus_split_0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 1.00.a<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_SIZE_IN = 7<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_LEFT_POS = 0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_SPLIT = 6<BR>&gt; &gt; &gt; &gt;&gt; PORT Sig = fpga_0_SysACE_CompactFlash_SysACE_MPA_split<BR>&gt; &gt; &gt; &gt;&gt; PORT Out1 = fpga_0_SysACE_CompactFlash_SysACE_MPA<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN plb_v46<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = ppc405_0_iplb1<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 1.02.a<BR>&gt; &gt; &gt; &gt;&gt; PORT PLB_Clk = sys_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT SYS_Rst = sys_bus_reset<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN plb_v46<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = ppc405_0_dplb1<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 1.02.a<BR>&gt; &gt; &gt; &gt;&gt; PORT PLB_Clk = sys_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT SYS_Rst = sys_bus_reset<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN clock_generator<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = clock_generator_0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 2.00.a<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_EXT_RESET_HIGH = 1<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKIN_FREQ = 100000000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT0_FREQ = 100000000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT0_BUF = TRUE<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT0_PHASE = 0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT0_GROUP = DCM0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT1_FREQ = 100000000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT1_BUF = TRUE<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT1_PHASE = 90<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT1_GROUP = DCM0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT2_FREQ = 300000000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT2_BUF = TRUE<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT2_PHASE = 0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT2_GROUP = DCM0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT3_FREQ = 200000000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT3_BUF = TRUE<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT3_PHASE = 0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT3_GROUP = NONE<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT4_FREQ = 125000000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT4_BUF = TRUE<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT4_PHASE = 0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_CLKOUT4_GROUP = NONE<BR>&gt; &gt; &gt; &gt;&gt; PORT CLKOUT0 = sys_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT CLKOUT1 = DDR_SDRAM_mpmc_clk_90_s<BR>&gt; &gt; &gt; &gt;&gt; PORT CLKOUT2 = proc_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT CLKOUT3 = clk_200mhz_s<BR>&gt; &gt; &gt; &gt;&gt; PORT CLKOUT4 = temac_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT CLKIN = dcm_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT LOCKED = Dcm_all_locked<BR>&gt; &gt; &gt; &gt;&gt; PORT RST = net_gnd<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN proc_sys_reset<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = proc_sys_reset_0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 2.00.a<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_EXT_RESET_HIGH = 0<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE RESETPPC0 = ppc_reset_bus<BR>&gt; &gt; &gt; &gt;&gt; PORT Slowest_sync_clk = sys_clk_s<BR>&gt; &gt; &gt; &gt;&gt; PORT Dcm_locked = Dcm_all_locked<BR>&gt; &gt; &gt; &gt;&gt; PORT Ext_Reset_In = sys_rst_s<BR>&gt; &gt; &gt; &gt;&gt; PORT Bus_Struct_Reset = sys_bus_reset<BR>&gt; &gt; &gt; &gt;&gt; PORT Peripheral_Reset = sys_periph_reset<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; BEGIN xps_intc<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER INSTANCE = xps_intc_0<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER HW_VER = 1.00.a<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_BASEADDR = 0x81800000<BR>&gt; &gt; &gt; &gt;&gt; PARAMETER C_HIGHADDR = 0x8180ffff<BR>&gt; &gt; &gt; &gt;&gt; BUS_INTERFACE SPLB = plb<BR>&gt; &gt; &gt; &gt;&gt; PORT Irq = EICC405EXTINPUTIRQ<BR>&gt; &gt; &gt; &gt;&gt; PORT Intr = RS232_Uart_IP2INTC_Irpt &amp; LEDs_4Bit_IP2INTC_Irpt &amp;<BR>&gt; &gt; &gt; IIC_EEPROM_IIC2INTC_Irpt &amp; SysACE_CompactFlash_SysACE_IRQ &amp;<BR>&gt; &gt; &gt; TriMode_MAC_GMII_TemacIntc0_Irpt &amp; DDR_SDRAM_SDMA2_Rx_IntOut &amp;<BR>&gt; &gt; &gt; DDR_SDRAM_SDMA2_Tx_IntOut<BR>&gt; &gt; &gt; &gt;&gt; END<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; #address-cells = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; #size-cells = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,virtex";<BR>&gt; &gt; &gt; &gt;&gt; model = "testing";<BR>&gt; &gt; &gt; &gt;&gt; DDR_SDRAM: memory@0 {<BR>&gt; &gt; &gt; &gt;&gt; device_type = "memory";<BR>&gt; &gt; &gt; &gt;&gt; reg = &lt; 0 8000000 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; chosen {<BR>&gt; &gt; &gt; &gt;&gt; bootargs = "console=ttyS0,9600 ip=on<BR>&gt; &gt; &gt; nfsroot=172.16.40.76:/v2pclients/jhl26,tcp";<BR>&gt; &gt; &gt; &gt;&gt; linux,stdout-path = "/plb@0/serial@83e00000";<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; cpus {<BR>&gt; &gt; &gt; &gt;&gt; #address-cells = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; #cpus = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; #size-cells = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; ppc405_0: cpu@0 {<BR>&gt; &gt; &gt; &gt;&gt; clock-frequency = &lt;11e1a300&gt;;<BR>&gt; &gt; &gt; &gt;&gt; compatible = "PowerPC,405", "ibm,ppc405";<BR>&gt; &gt; &gt; &gt;&gt; d-cache-line-size = &lt;20&gt;;<BR>&gt; &gt; &gt; &gt;&gt; d-cache-size = &lt;4000&gt;;<BR>&gt; &gt; &gt; &gt;&gt; device_type = "cpu";<BR>&gt; &gt; &gt; &gt;&gt; i-cache-line-size = &lt;20&gt;;<BR>&gt; &gt; &gt; &gt;&gt; i-cache-size = &lt;4000&gt;;<BR>&gt; &gt; &gt; &gt;&gt; model = "PowerPC,405";<BR>&gt; &gt; &gt; &gt;&gt; reg = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; timebase-frequency = &lt;11e1a300&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,apu-control = &lt;de00&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,apu-udi-1 = &lt;a18983&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,apu-udi-2 = &lt;a38983&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,apu-udi-3 = &lt;a589c3&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,apu-udi-4 = &lt;a789c3&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,apu-udi-5 = &lt;a98c03&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,apu-udi-6 = &lt;ab8c03&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,apu-udi-7 = &lt;ad8c43&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,apu-udi-8 = &lt;af8c43&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,deterministic-mult = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,disable-operand-forwarding = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,fastest-plb-clock = "DPLB0";<BR>&gt; &gt; &gt; &gt;&gt; xlnx,generate-plb-timespecs = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,mmu-enable = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,pvr-high = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,pvr-low = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; plb: plb@0 {<BR>&gt; &gt; &gt; &gt;&gt; #address-cells = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; #size-cells = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,plb-v46-1.02.a";<BR>&gt; &gt; &gt; &gt;&gt; ranges ;<BR>&gt; &gt; &gt; &gt;&gt; IIC_EEPROM: i2c@81600000 {<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,xps-iic-2.00.a";<BR>&gt; &gt; &gt; &gt;&gt; interrupt-parent = &lt;&amp;xps_intc_0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; interrupts = &lt; 4 2 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; reg = &lt; 81600000 10000 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,clk-freq = &lt;5f5e100&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,family = "virtex4";<BR>&gt; &gt; &gt; &gt;&gt; xlnx,gpo-width = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,iic-freq = &lt;186a0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,scl-inertial-delay = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,sda-inertial-delay = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,ten-bit-adr = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; LEDs_4Bit: gpio@81400000 {<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,xps-gpio-1.00.a";<BR>&gt; &gt; &gt; &gt;&gt; interrupt-parent = &lt;&amp;xps_intc_0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; interrupts = &lt; 5 2 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; reg = &lt; 81400000 10000 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,all-inputs = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,all-inputs-2 = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,dout-default = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,dout-default-2 = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,family = "virtex4";<BR>&gt; &gt; &gt; &gt;&gt; xlnx,gpio-width = &lt;4&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,interrupt-present = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,is-bidir = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,is-bidir-2 = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,is-dual = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,tri-default = &lt;ffffffff&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,tri-default-2 = &lt;ffffffff&gt;;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; RS232_Uart: serial@83e00000 {<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,xps-uart16550-2.00.a";<BR>&gt; &gt; &gt; &gt;&gt; // compatible = "ns16550";<BR>&gt; &gt; &gt; &gt;&gt; device_type = "serial";<BR>&gt; &gt; &gt; &gt;&gt; interrupt-parent = &lt;&amp;xps_intc_0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; interrupts = &lt; 6 2 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; reg = &lt; 83e00000 10000 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; current-speed = &lt;d#9600&gt;;<BR>&gt; &gt; &gt; &gt;&gt; clock-frequency = &lt;d#100000000&gt;; /* added<BR>&gt; &gt; &gt; by jhl */<BR>&gt; &gt; &gt; &gt;&gt; reg-shift = &lt;2&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,family = "virtex4";<BR>&gt; &gt; &gt; &gt;&gt; xlnx,has-external-rclk = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,has-external-xin = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,is-a-16550 = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; SysACE_CompactFlash: sysace@83600000 {<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,xps-sysace-1.00.a";<BR>&gt; &gt; &gt; &gt;&gt; interrupt-parent = &lt;&amp;xps_intc_0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; interrupts = &lt; 3 2 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; reg = &lt; 83600000 10000 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,family = "virtex4";<BR>&gt; &gt; &gt; &gt;&gt; xlnx,mem-width = &lt;10&gt;;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; TriMode_MAC_GMII: xps-ll-temac@81c00000 {<BR>&gt; &gt; &gt; &gt;&gt; #address-cells = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; #size-cells = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,compound";<BR>&gt; &gt; &gt; &gt;&gt; ethernet@81c00000 {<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,xps-ll-temac-<BR>&gt; &gt; &gt; 1.01.a";<BR>&gt; &gt; &gt; &gt;&gt; device_type = "network";<BR>&gt; &gt; &gt; &gt;&gt; interrupt-parent =<BR>&gt; &gt; &gt; &lt;&amp;xps_intc_0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; interrupts = &lt; 2 2 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; llink-connected = &lt;&amp;PIM2&gt;;<BR>&gt; &gt; &gt; &gt;&gt; local-mac-address = [ 02 00 00<BR>&gt; &gt; &gt; 00 00 01 ];<BR>&gt; &gt; &gt; &gt;&gt; reg = &lt; 81c00000 40 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,bus2core-clk-ratio = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,phy-type = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,phyaddr = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,rxcsum = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,rxfifo = &lt;1000&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,temac-type = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,txcsum = &lt;0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,txfifo = &lt;1000&gt;;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; mpmc@0 {<BR>&gt; &gt; &gt; &gt;&gt; #address-cells = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; #size-cells = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,mpmc-4.00.a";<BR>&gt; &gt; &gt; &gt;&gt; PIM2: sdma@84600100 {<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,ll-dma-<BR>&gt; &gt; &gt; 1.00.a";<BR>&gt; &gt; &gt; &gt;&gt; interrupt-parent =<BR>&gt; &gt; &gt; &lt;&amp;xps_intc_0&gt;;<BR>&gt; &gt; &gt; &gt;&gt; interrupts = &lt; 1 2 0 2 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; reg = &lt; 84600100 80 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; xps_bram_if_cntlr_1: xps-bram-if-cntlr@ffffe000 {<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,xps-bram-if-cntlr-<BR>&gt; &gt; &gt; 1.00.a";<BR>&gt; &gt; &gt; &gt;&gt; reg = &lt; ffffe000 2000 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,family = "virtex4";<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; xps_intc_0: interrupt-controller@81800000 {<BR>&gt; &gt; &gt; &gt;&gt; #interrupt-cells = &lt;2&gt;;<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,xps-intc-1.00.a";<BR>&gt; &gt; &gt; &gt;&gt; interrupt-controller ;<BR>&gt; &gt; &gt; &gt;&gt; reg = &lt; 81800000 10000 &gt;;<BR>&gt; &gt; &gt; &gt;&gt; xlnx,num-intr-inputs = &lt;7&gt;;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; ppc405_0_dplb1: plb@1 {<BR>&gt; &gt; &gt; &gt;&gt; #address-cells = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; #size-cells = &lt;1&gt;;<BR>&gt; &gt; &gt; &gt;&gt; compatible = "xlnx,plb-v46-1.02.a";<BR>&gt; &gt; &gt; &gt;&gt; ranges ;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt; } ;<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; -----Original Message-----<BR>&gt; &gt; &gt; &gt;&gt; From: Magnus Hjorth [mailto:mh@omnisys.se]<BR>&gt; &gt; &gt; &gt;&gt; Sent: Saturday, March 29, 2008 6:54 AM<BR>&gt; &gt; &gt; &gt;&gt; To: git<BR>&gt; &gt; &gt; &gt;&gt; Cc: linuxppc-embedded@ozlabs.org<BR>&gt; &gt; &gt; &gt;&gt; Subject: Xilinx LLTEMAC driver issues<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; Hi,<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; I'm having some networking troubles with the Xilinx LLTEMAC driver from<BR>&gt; &gt; the<BR>&gt; &gt; &gt; &gt;&gt; Xilinx Linux git tree (powerpc arch) on an ML403 board. EDK9.2SP2,<BR>&gt; &gt; &gt; &gt;&gt; xps_ll_temac v1.00.b<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; The weird thing is, that it sort of half works. It successfully makes a<BR>&gt; &gt; DHCP<BR>&gt; &gt; &gt; &gt;&gt; request and gets its IP address. I tried setting up a tftpd server, and<BR>&gt; &gt; I can<BR>&gt; &gt; &gt; &gt;&gt; see UDP requests coming in but the response doesn't seem to come out. I<BR>&gt; &gt; also<BR>&gt; &gt; &gt; &gt;&gt; tried running a TCP server on the board, and it can see and accept<BR>&gt; &gt; incoming<BR>&gt; &gt; &gt; &gt;&gt; connections but after that no data seems to get through. I can ping out<BR>&gt; &gt; and<BR>&gt; &gt; &gt; &gt;&gt; get around 40% packet loss.<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; Looking at /proc/interrupts, I can see both TxDma interrupts and RxDma<BR>&gt; &gt; &gt; &gt;&gt; interrupts. No eth0 interrupts but that seems to be OK judging by the<BR>&gt; &gt; driver<BR>&gt; &gt; &gt; &gt;&gt; source comments. Ifconfig shows no collistions, no dropped packets, no<BR>&gt; &gt; &gt; errors,<BR>&gt; &gt; &gt; &gt;&gt; so the system seems to think that everything is OK.<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; Clues anyone? I'm starting to run out of ideas...<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; Best regards,<BR>&gt; &gt; &gt; &gt;&gt; Magnus<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; --<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;&gt; Magnus Hjorth, M.Sc.<BR>&gt; &gt; &gt; &gt;&gt; Omnisys Instruments AB<BR>&gt; &gt; &gt; &gt;&gt; Gruvgatan 8<BR>&gt; &gt; &gt; &gt;&gt; SE-421 30 Västra Frölunda, SWEDEN<BR>&gt; &gt; &gt; &gt;&gt; Phone: +46 31 734 34 09<BR>&gt; &gt; &gt; &gt;&gt; Fax: +46 31 734 34 29<BR>&gt; &gt; &gt; &gt;&gt; http://www.omnisys.se<BR>&gt; &gt; &gt; &gt;&gt;<BR>&gt; &gt; &gt; &gt;<BR>&gt; &gt; &gt; &gt; _______________________________________________<BR>&gt; &gt; &gt; &gt; Linuxppc-embedded mailing list<BR>&gt; &gt; &gt; &gt; Linuxppc-embedded@ozlabs.org<BR>&gt; &gt; &gt; &gt; https://ozlabs.org/mailman/listinfo/linuxppc-embedded<BR>&gt; &gt; _______________________________________________<BR>&gt; &gt; Linuxppc-embedded mailing list<BR>&gt; &gt; Linuxppc-embedded@ozlabs.org<BR>&gt; &gt; https://ozlabs.org/mailman/listinfo/linuxppc-embedded<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; --<BR>&gt; &gt; Johann Baudy<BR>&gt; &gt; johaahn@gmail.com<BR>&gt; &gt; ________________________________<BR>&gt; &gt; 用 Windows Live Spaces 展示个性自我,与好友分享生活! 了解更多信息!<BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; -- <BR>&gt; Johann Baudy<BR>&gt; johaahn@gmail.com<BR><BR><br /><hr />用 Windows Live Spaces 展示个性自我,与好友分享生活!  <a href='http://spaces.live.com/?page=HP' target='_new'>了解更多信息!</a></body>
</html>