- unsigned int BaseAddress; /* Base address for device (IPIF) */
- unsigned int NextTxBufferToUse; /* Next TX buffer to write to */
- unsigned int NextRxBufferToUse; /* Next RX buffer to read from */
- unsigned char DeviceId; /* Unique ID of device - for future */
-} XEmacLite;
+ unsigned int baseaddress; /* Base address for device (IPIF) */
+ unsigned int nexttxbuffertouse; /* Next TX buffer to write to */
+ unsigned int nextrxbuffertouse; /* Next RX buffer to read from */
+ unsigned char deviceid; /* Unique ID of device - for future */
+} xemaclite;
-static u8 EMACAddr[ENET_ADDR_LENGTH] = { 0x00, 0x0a, 0x35, 0x00, 0x22, 0x01 };
+static u8 emacaddr[ENET_ADDR_LENGTH] = { 0x00, 0x0a, 0x35, 0x00, 0x22, 0x01 };
- To32Ptr = (u32 *) DestPtr;
- while (Length > 3) {
- *To32Ptr++ = *From32Ptr++;
- Length -= 4;
+ to32ptr = (u32 *) destptr;
+ while (bytecount > 3) {
+ *to32ptr++ = *from32ptr++;
+ bytecount -= 4;
- unsigned Length = ByteCount;
- u32 AlignBuffer;
- u32 *To32Ptr;
- u32 *From32Ptr;
- u8 *To8Ptr;
- u8 *From8Ptr;
- To32Ptr = DestPtr;
-
- From32Ptr = (u32 *) SrcPtr;
- while (Length > 3) {
-
- *To32Ptr++ = *From32Ptr++;
- Length -= 4;
+ u32 alignbuffer;
+ u32 *to32ptr = (u32 *) destptr;
+ u32 *from32ptr;
+ u8 *to8ptr;
+ u8 *from8ptr;
+
+ from32ptr = (u32 *) srcptr;
+ while (bytecount > 3) {
+
+ *to32ptr++ = *from32ptr++;
+ bytecount -= 4;
- memset (&EmacLite, 0, sizeof (XEmacLite));
- EmacLite.BaseAddress = XILINX_EMACLITE_BASEADDR;
+ memset (&emaclite, 0, sizeof (xemaclite));
+ emaclite.baseaddress = XILINX_EMACLITE_BASEADDR;
+
+ if (!getenv("ethaddr")) {
+ memcpy(bis->bi_enetaddr, emacaddr, ENET_ADDR_LENGTH);
+ }
- XEmacLite_AlignedWrite (bis->bi_enetaddr,
- EmacLite.BaseAddress, ENET_ADDR_LENGTH);
+ xemaclite_alignedwrite (bis->bi_enetaddr,
+ emaclite.baseaddress, ENET_ADDR_LENGTH);
XEL_TSR_PROG_MAC_ADDR) != 0) ;
#ifdef XILINX_EMACLITE_TX_PING_PONG
/* The same operation with PONG TX */
XEL_TSR_PROG_MAC_ADDR) != 0) ;
#ifdef XILINX_EMACLITE_TX_PING_PONG
/* The same operation with PONG TX */
- out_be32 (EmacLite.BaseAddress + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET, 0);
- XEmacLite_AlignedWrite (bis->bi_enetaddr,
- EmacLite.BaseAddress + XEL_BUFFER_OFFSET, ENET_ADDR_LENGTH);
- out_be32 (EmacLite.BaseAddress + XEL_TPLR_OFFSET, ENET_ADDR_LENGTH);
- out_be32 (EmacLite.BaseAddress + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET,
+ out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET, 0);
+ xemaclite_alignedwrite (bis->bi_enetaddr, emaclite.baseaddress +
+ XEL_BUFFER_OFFSET, ENET_ADDR_LENGTH);
+ out_be32 (emaclite.baseaddress + XEL_TPLR_OFFSET, ENET_ADDR_LENGTH);
+ out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET,
- Register = in_be32 (InstancePtr->BaseAddress +
- InstancePtr->NextTxBufferToUse + 0);
- TxPingBusy = ((Register & XEL_TSR_XMIT_BUSY_MASK) ==
+ reg = in_be32 (instanceptr->baseaddress +
+ instanceptr->nexttxbuffertouse + 0);
+ txpingbusy = ((reg & XEL_TSR_XMIT_BUSY_MASK) ==
- Register = in_be32 (InstancePtr->BaseAddress +
- (InstancePtr->NextTxBufferToUse ^ XEL_TSR_OFFSET) + 0);
- TxPongBusy = ((Register & XEL_TSR_XMIT_BUSY_MASK) ==
+ reg = in_be32 (instanceptr->baseaddress +
+ (instanceptr->nexttxbuffertouse ^ XEL_TSR_OFFSET) + 0);
+ txpongbusy = ((reg & XEL_TSR_XMIT_BUSY_MASK) ==
- Register = in_be32 (BaseAddress + XEL_TSR_OFFSET);
- if (((Register & XEL_TSR_XMIT_BUSY_MASK) == 0)
- && ((in_be32 ((BaseAddress) + XEL_TSR_OFFSET)
+ reg = in_be32 (baseaddress + XEL_TSR_OFFSET);
+ if (((reg & XEL_TSR_XMIT_BUSY_MASK) == 0)
+ && ((in_be32 ((baseaddress) + XEL_TSR_OFFSET)
- XEmacLite_AlignedWrite (ptr, (u32 *) BaseAddress, len);
- out_be32 (BaseAddress + XEL_TPLR_OFFSET,(len &
+ xemaclite_alignedwrite ((void *) ptr, baseaddress, len);
+ out_be32 (baseaddress + XEL_TPLR_OFFSET,(len &
- Register = in_be32 (BaseAddress + XEL_TSR_OFFSET);
- Register |= XEL_TSR_XMIT_BUSY_MASK;
- if ((Register & XEL_TSR_XMIT_IE_MASK) != 0) {
- Register |= XEL_TSR_XMIT_ACTIVE_MASK;
+ reg = in_be32 (baseaddress + XEL_TSR_OFFSET);
+ reg |= XEL_TSR_XMIT_BUSY_MASK;
+ if ((reg & XEL_TSR_XMIT_IE_MASK) != 0) {
+ reg |= XEL_TSR_XMIT_ACTIVE_MASK;
- Register = in_be32 (BaseAddress + XEL_TSR_OFFSET);
- if (((Register & XEL_TSR_XMIT_BUSY_MASK) == 0)
- && ((in_be32 ((BaseAddress) + XEL_TSR_OFFSET)
+ reg = in_be32 (baseaddress + XEL_TSR_OFFSET);
+ if (((reg & XEL_TSR_XMIT_BUSY_MASK) == 0)
+ && ((in_be32 ((baseaddress) + XEL_TSR_OFFSET)
- XEmacLite_AlignedWrite (ptr, (u32 *) BaseAddress, len);
- out_be32 (BaseAddress + XEL_TPLR_OFFSET,(len &
+ xemaclite_alignedwrite ((void *) ptr, baseaddress, len);
+ out_be32 (baseaddress + XEL_TPLR_OFFSET,(len &
- Register = in_be32 (BaseAddress + XEL_TSR_OFFSET);
- Register |= XEL_TSR_XMIT_BUSY_MASK;
- if ((Register & XEL_TSR_XMIT_IE_MASK) != 0) {
- Register |= XEL_TSR_XMIT_ACTIVE_MASK;
+ reg = in_be32 (baseaddress + XEL_TSR_OFFSET);
+ reg |= XEL_TSR_XMIT_BUSY_MASK;
+ if ((reg & XEL_TSR_XMIT_IE_MASK) != 0) {
+ reg |= XEL_TSR_XMIT_ACTIVE_MASK;
- BaseAddress = EmacLite.BaseAddress + EmacLite.NextRxBufferToUse;
- Register = in_be32 (BaseAddress + XEL_RSR_OFFSET);
+ baseaddress = emaclite.baseaddress + emaclite.nextrxbuffertouse;
+ reg = in_be32 (baseaddress + XEL_RSR_OFFSET);
- BaseAddress ^= XEL_BUFFER_OFFSET;
- Register = in_be32 (BaseAddress + XEL_RSR_OFFSET);
- if ((Register & XEL_RSR_RECV_DONE_MASK) !=
+ baseaddress ^= XEL_BUFFER_OFFSET;
+ reg = in_be32 (baseaddress + XEL_RSR_OFFSET);
+ if ((reg & XEL_RSR_RECV_DONE_MASK) !=
XEL_RSR_RECV_DONE_MASK) {
#ifdef DEBUG
printf ("No data was available - address 0x%x\n",
XEL_RSR_RECV_DONE_MASK) {
#ifdef DEBUG
printf ("No data was available - address 0x%x\n",
- Register = in_be32 (BaseAddress + XEL_RSR_OFFSET);
- Register &= ~XEL_RSR_RECV_DONE_MASK;
- out_be32 (BaseAddress + XEL_RSR_OFFSET, Register);
+ reg = in_be32 (baseaddress + XEL_RSR_OFFSET);
+ reg &= ~XEL_RSR_RECV_DONE_MASK;
+ out_be32 (baseaddress + XEL_RSR_OFFSET, reg);
- printf ("Packet receive from 0x%x, length %dB\n", BaseAddress, Length);
+ printf ("Packet receive from 0x%x, length %dB\n", baseaddress, length);